ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:30.35KB ,
资源ID:3461611      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3461611.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言选择题参考答案1.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言选择题参考答案1.docx

1、C语言选择题参考答案11、C语言中下列叙述正确的是_。不能使用do-while语句构成循环do-while语句构成的循环,必须用break语句才能退出do-while语句构成的循环,当while语句中的表达式值为非零时结束循环do-while语句构成的循环,当while语句中的表达式值为零时结束循环D本题的考查点是do-while语句。 选项A是错误的,C语言支持do-while语句;选项B是错误的,do-while构成的循环, 当while语句中的表达式值为零时结束循环,而不是非零;选项C也是错误的。 故本题答案为D。3、能正确表示a和b同时为正或同时为负的逻辑表达式是_。(a=0|b=0)

2、&(a0| b=0&b=0)&(a0&b0)&(a+b0D逻辑表达式是指用逻辑运算符将关系表达式或逻辑量连接起来。 选项A中,表达式表示的是a,b为异号; 选项B中,表达式表示的是0,因为没有满足条件的值; 选项C中,表达式表示的是0,因为没有满足条件的值; 选项D表示的是a和b为同号。 故本题答案为D。5、请选出可用作C语言用户标识符的一组标识符_。 void a3_b3 For 2a define _123 _abc DOWORD IF case sizeof1234B本题的考查点是C语言的标识符。 C语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。

3、中的void和define都和C语言的关键字重名,不合法; 中的case和C语言的关键字重名,不合法; 中的2a是数字打头而且sizeof和C语言的关键字重名,不合法。 故本题答案为B。6、若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf(%d,(x,y) );上面程序片段的输出结果是_。200100200,100输入格式符不够,输出不确定的值A本题的考查点是逗号表达式。 在(x,y)中的,是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,(x,y)的值为200,所

4、以输出结果为200。 故本题答案为A。8、若执行下面的程序时从键盘上输入3和4, main() int a,b,s; scanf(%d %d,&a,&b); s=a; if(a=A&ch=Z)?(ch+32):ch上面表达式的值是_。AaZZB本题的考查点是条件运算符。 条件表达式的一般形式为:表达式1?表达式2:表达式3,条件运算符的执行顺序:先求解表达式1,若非0则求解表达式2,此时表达式2的值就作为整个表达式的值,若表达式1的值为0,则求解表达式3,此时表达式3的值就作为整个表达式的值。本题中,表达式1的值为1,所以整个表达式的值为表达式(ch+32)的值,即为a。 故本题答案为B。10

5、、设有以下语句,其中不是对a数组元素的正确引用的是_。(其中0i10)int a10=0,1,2,3,4,5,6,7,8,9,*p=a; ap-a *(&ai) pi *(*(a+i) ) D本题的考查点是通过指针引用数组元素。 11、下面程序 main() int x=10,y=3; printf(%dn,y=x/y); 的输出是_。013不确定的值 C本题的考查点是除法运算。 x/y的结果约为3.33333,但是由于打印要求为整型,所以自动转换为整型(相当于截取整数位),打印结果为3。 故本题答案为C。12、下面的程序中_错误(每行程序前面的数字是行号)。1 #include2 main(

6、)3 4 float a3=0.0;5 int i;6 for(i=0;i3;i+) scanf(%d,ai);7 for(i=1;i6) n-; printf(%d,n); 该程序的输出结果是_。98787687659876B本题考查点是While语句循环次数的问题。 符合n6的n只有7,8,9;所以循环次数为3。选项C、D可以排除。又因n在输出之前要执行n-,所以输出结果只能是876。 本题答案为B。14、若变量已正确定义并赋值,下面符合C语言的表达式是_。a:=b+1a=b=c+2int 18.5%3a=a+7=c+bB选项A和C显然错误;对于表达式a=a+7=c+b(答案D),是先执行

7、赋值表达式a+7=c+b,再把这个表达式的值赋给a,显然,表达式a+7=c+b非法,因为赋值表达式的左值不能为常量或表达式。 本题答案为B。15、有如下程序main() float x=2.0,y; if(x0.0) y=0.0; else if(x10.0)y=1.0/x; else y=1.0; printf(%fn,y);该程序输出结果是_。0.0000000.2500000.5000001.000000C本题考查的是IFELSE语句的使用。x=2.0,符合第二个IF语句的条件x10.0,所以执行y=1.0/x语句,即y=1.0/2.0=0.500000。 本题答案为C。16、有如下程序

8、段int *p,a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为_。121110编译出错B执行p = &a;后,p指向整数a,*p即p的目标变量,也就是a;所以a = *p + b等价于a = a+b,可知a的值最终为11。 本题答案为B。17、有如下程序main() int n5 = 0,0,0,i,k = 2; for(i = 0; i k; i+) ni = ni + 1; printf(%dn,nk);该程序的输出结果是_。不确定的值210D一维数组和多维数组的定义、初始化和引用18、有如下定义 struct personchar name9; int age; s

9、truct person class10 = John,17, Paul,19, Mary,18, Adam,16,;根据上述定义,能输出字母M的语句是_。printf(%cn,class3.name);printf(%cn,class3.name1);printf(%cn,class2.name1);printf(%cn,class2.name0);D结构体和共用体类型数据的定义方法和引用方法19、以下列出C语言常量中,错误的是_。OxFF1.2e0.52L72BC的数据类型及其定义方法20、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式

10、是_。x/y*zx*(1/(y*z)x/y*1/zx/y/zAC的数据类型及其定义方法21、设有以下说明语句 struct ex int x; float y;char z; example;则下面的叙述中不正确的是_。struct是结构体类型的关键字example是结构体类型名x,y,z都是结构体成员名struct ex是结构体类型B结构体和共用体类型数据的定义方法和引用方法22、X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是_。INPUT X,Y,Z;scanf(%d%d%d,&X,&Y,&Z);scanf(%d%d%d,X,Y,Z);read(%d%d%d

11、,&X,&Y,&Z);B本题考查C语言的格式化输入语句。C语言中没有INPUT与read语句,scanf()语句的格式为:scanf(格式字符串,变量地址1,变量地址2,.);本题答案C中,应为变量地址。 本题答案为B。23、t为int类型,进入下面的循环之前,t的值为0,while(t=1) .则以下叙述中正确的是_。循环控制表达式的值为0循环控制表达式的值为1循环控制表达式不合法以上说法都不对B本题考查C语言的while循环语句。本题的t=1是一个赋值表达式,其值为变量的值,所以while语句的循环控制表达式的值为1。 本题答案为B。24、设有以下函数;f(int a) int b=0;

12、static int c=3; b+;c+; return(a+b+c); 如果在下面的程序中调用该函数,则输出结果是_。 main() int a=2, i; for(i=0;i=0;i-) ai=10-i; printf(%d%d%d,a2,a5,a8);258741852369C本题使循环语句给数组元素赋值。 C语言中for循环语句的一般形式为:for(表达式1;表达式2;表达式3) 语句部分; 本题答案为C。27、以下程序的输出结果是_。 main() int a,b; for(a=1,b=1;a=10) break; if(b%3=1) b+=3; continue; printf(

13、%dn,a); 101654D本题主要考查考生对C语言中的循环语句和程序的执行逻辑。本题中for循环语句共执行3次,所以a的值累加3次,结果为4。 本题答案为D。CONTINUE语句和BREAK语句28、以下程序的结果是_。 int a,b; void fun() a=100; b=200; main() int a=5,b=7; fun(); printf(%d%dn,a,b); 1002005720010075B局部变量和全局变量29、以下叙述中正确的是_。C语言中的文件是流式文件,因此只能顺序存取数据打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖在一个程序中当对文件

14、进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失D文件的打开与关闭(FOPEN,FCLOSE)30、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是_。VoidintfloatdoubleB函数的类型和返回值31、有以下程序struct STU char num10; float score3; main() struct STU s3=20021,90,95,85, 20022,95,80,75, 20023,100,95,90,*p=s; int i; float sum=0; for(i=0;isc

15、orei;printf(%6.2fn,sum);程序运行后的输出结果是_。260.00270.00280.00285.00B结构体和共用体类型数据的定义方法和引用方法32、有以下程序main() int p7=11,13,14,15,16,17,18,i=0,k=0; while(i7&pi%2)k=k+pi; i+; printf(%dn,k);执行后输出的结果是_。58564524D一维数组和多维数组的定义、初始化和引用33、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是_。x=x*100+0.5/100.0;x=(x*100+0.5)

16、/100.0x=(int)(x*100+0.5)/100.0;x=(x/100+0.5)/100.0;C表达式语句,空语句,复合语句34、有以下程序main() int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(%dn,s);自然数19的累加和自然数110的累加和自然数19中奇数之和自然数110中偶数之和DFOR循环结构35、若程序中定义了以下函数double myadd(double a,double b)return(a+b);并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是_。double myadd(double a,

17、 b);double myadd(double,double);double myadd(double b, double a);double myadd(double x, double y);A对函数的“定义”和“说明”不是一回事。“定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。而“说明”则是对已定义的函数的返回值进行类型说明(或称“申明”),它只包括函数名、函数类型、以及一个空的括弧,不包括形参和函数体。对被调函数进行说明的作用是告诉系统:在本函数中将要用到的某函数是XX类型。也就是说明该函数的返回值的类型,以便在主调函数

18、中按此类型对函数值作相应的处理。 本题选项A中,对变量b的类型没有说明,默认的为整型,不合题意。 故本题答案为A。36、下面程序的功能是输出以下形式的金字塔图案: * * * *main() int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf( ); for(j=1;j=_;j+)printf(*); printf(n); 在下划线处应填入的是_。i2*i-12*i+1i+2B循环的嵌套37、请选出以下程序的输出结果_。 #include sub(int x,int y,int * z) *z=y-x; main() int a,b,c; sub(

19、10,5,&a);sub(7,a,&b);sub(a,b,&c); printf(%d,%d,%dn,a,b,c); 5,2,3-5,-12,-7-5,-12,-175,-2,-7B用指针作函数参数38、请选出以下程序段的输出结果_。 #include #define MIN(x,y) (xy)?x:y main() int i,j,k; i=10;j=15; k=10*MIN(i,j); printf(%dn,k); 1510010150C宏定义:不带参数的宏定义;带参数的宏定义39、设有如下的程序段 char str=Hello; char *ptr; ptr=str;执行完上面的程序段后

20、,*(ptr+5)的值为_。o 0 不确定的值 o的地址 B字符串与字符数组本题的考查点是字符数组的结束标志。 ptr=str实际上是将串str的首地址赋给了指针变量ptr,所以ptr+5将指向str串的第六个数组元素,即是串的隐含结束标志0,*(ptr+5)=0,最后的结果为0。 故本题答案为B。40、已有定义:char c;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是_。isupper(c)A=c=ZA=c&c=Zc=(z-32)&(a-32)=cBC运算符的种类、运算优先级和结合性41、下面程序的输出是_。int m=13;int fun2(

21、int x,int y) int m=3; return(x*y-m); main( ) int a=7,b=5; printf(%dn,fun2(a,b)/m);12710B本题的考查点是函数的调用。 函数fun2()的作用是将形参x和y的值相乘后-3,在fun2()中的变量m是一个局部变量,它的值在fun2()函数内有效,在主函数中的m指的是全局变量,其值为13,所以fun2(a,b)/m的值为(7*5-3)/13,即2。 故本题答案为B。42、有以下程序#include int fun(char s) int n=0; while(*s=0) n=10*n+*s-0;s+; return

22、(n);main() char s10= 6, 1,*,4,*, 9, *, 0, *; printf(%dn,fun(s);程序的运行结果是_。961490615C字符串与字符数组本题考查的是指针的应用。 本题主函数中定义了一个字符型数组s,当调用fun函数时,将字符型数组s的地址指向形参字符数组s,则形参与实参共用占同一存储单元,其值也相等。 在函数fun中,第一次执行while循环时,*s=6,所以while(*s=0)成立,执行n=10*n+*s-0; 即n=10*0+6-0,其中字符6和0均代入ASCII码进行运算,所以n=6;s+表示指针变量s后移一位,即*s=1,所以while(

23、*s=0)成立,执行n=10*n+*s-0;由于前一次循环执行后的n的值为6,此时的等式为(n=10*6+1-0),故n=61;指针变量继续后移一位,*s=*,所以while(*s=0)不成立,返回n=61的值。故本题程序输出结果是61。 本题答案为C。43、以下函数返回a所指数组中最小值所在的下标值。 fun(int *a,int n) int i,j = 0,p; p = j; for( i = j; i n; j+) if(ai 2) return (fib(n-1) + fib(n - 2); else return (2);main() printf(%dn,fib(3);该程序的输出结果是_。2468B函数的正确调用,嵌套调用,递归调用45、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是_。EOF0非零值NULLC本题的考查点是文件结束符的返回值问题。 函数feof是用来判断文件是否已读到末尾,如果已读到末尾则返回非零值,否则返回0。 本题答案为C。文件的读写,文件的定位46、有如下程序int func(int a, int b) return(a+b); main() int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(%dn,r);该程序的输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1