C语言试题(修正版).doc_第1页
C语言试题(修正版).doc_第2页
C语言试题(修正版).doc_第3页
C语言试题(修正版).doc_第4页
C语言试题(修正版).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言习题一、填空题1、一个C程序有且只有一个 main 函数2、表达式10%3的结果为 1 3、表达式10/3的结果为 3 4、表达式15%7的结果为 1 5、设int m=1,n=2,则+m=n的结果是 1 6、在16位PC环境下,字符常量a在内存中应占1 个字节,字符串常量“a”应占 2 个字节。7、一个C语言的语句至少应包含一个 分号 。8、若有以下定义,则执行表达式y+=y-=m*=y后的y值是 -16 int m=5,y=2;9、程序设计的三大结构是 顺序结构 、 选择结构 、 循环结构 。10、执行下列语句后,a=12,a+=a-=a*a,a的值是 -264 11、C 程序注释是由 /* 和*/所界定的文字信息组成的。12、C源程序的基本单位是 函数 。13、函数是具有相对独立功能的 程序段 。14、C语言中的标识符可以由3种字符组成,它们是:英文字母、下划线、数字 ,并且第一个字符必须是字母或 下划线 。15、以下程序执行后的输出结果是 -4 。void main()int n=0,m=1,x=2;if(!n) x=x-1;if(m) x=x-2;if(x) x=x-3; printf(“%d”,x);16、以下程序执行后的输出结果是 5,0,3 。void main()int a=4,b=3,c=5,t=0;if(ab) t=a;a=b;b=t;if(ac)t=a;a=c;c=t;printf(“%d,%d,%d”,a,b,c);17、以下程序执行后的输出结果是 20,0 。void main()int x=10,y=20,t=0;if(x=y) t=x;x=y;y=t;printf(“%d,%d”,x,y);18、若运行程序时输入数据为:60,则以下程序执行后的输出结果是 60 60 60 。void main()int a;scanf(“%d”,&a);if(a50) printf(“%dt”,a);if(a40) printf(“%dt”,a);if(a30) printf(“%dt”,a);19、以下程序执行后的输出结果是 0 。void main()int a=5,b=4,c=3,d; d=(abc); printf(“%d”,d);20、以下程序执行后的输出结果是 0 。void main()int t=1,i=5; for(; i=0;i-) t*=i; printf(“%d”,t);21、以下程序执行后的输出结果是 1,3,2 。void main()int i,m=0,n=0,k=0;for(i=9;i=11;i+)switch(i/10)case 0:m+;n+;break;case 10:n+;break;default:k+;n+;printf(“%d,%d,%d”,m,n,k);22、执行以下程序后,输出#号的个数是 6个 。void main()int i,j; for(i=1;i5;i+) for(j=2;j10 & x50) x+;if(x/3) x+;break; else continue;printf(“%d”,x);24、以下程序执行后的输出结果是 5 。void main()int s,i;for(s=0,i=1;i3;i+,s+=i); printf(“%d”,s);二、选择题(50分)1、一个C语言程序是由 C 组成。A.主程序 B.子程序 C.函数 D.过程2、一个C语言程序总是从 C 开始执行。A.主程序 B.子程序 C.主函数 D.函数3、以下叙述正确的是 D 。A. 在C程序中,main函数必须位于子程序的最前面B. C程序的每一行中只能写一条语句C. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误D. C语言本身没有输入输出语句4、一个C语言程序是由 B A一个主程序和若干子程序组成 B若干函数组成C若干过程组成 D若干子程序组成5、以下叙述不正确的是: D A. 一个C源程序可以由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面6、C语言中,最简单的数据类型是 B 。A.整形、实型、逻辑型 B.整型、实型、字符型C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型7、下列关于c语言用户标识符的叙述中正确的是 B 。A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头8、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 C A必须为字母 B必须为下划线C必须为字母或下划线 D可以是字母,数字和下划线中任-种字符9、已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42, y=5.2;则以下不符合C语言语法的表达式是: B Aa+=a-=(b= 4)*(a=3) Ba=a*3=2Cx%(-3) Dy=f1oat(i)10、以下正确的叙述是: D A在C程序中,每行中只能写一条语句B若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数据C在C程序中,无论是整数还是实数,都能被准确无误地表示D在C程序中,%是只能用于整数运算的运算符11、若有说明语句:char c=72则变量c A A包含1个字符 B包含2个字符C包含3个字符 D说明不合法,c的值不确定12、sizeof(float)是: C A一个双精度型表达式 B一个整型表达式C一种函数调用 D一个不合法的表达式(说明:sizeof是一个求字节数的运算符,不是函数名,它同时也是一个关键字。)13、有以下程序段:int m=0,n=0;char c=a;scanf(“%d%d%d”,&m,&c,&n);printf(“%d,%c,%d”,m,c,n);若从键盘上输入:10A10(表示回车),则输出结果是 A 。A.10,A,10 B.10,a,10 C.10,a,0 D.10,A,014、下面标识符中,不合法的用户标识符为 D 。A. Pad B. a_10 C. _124 D. a#b15、 B 是C语言提供的合法的数据类型关键字。A. Float B. signed C. integer D. Char17、不正确的字符串常量是 A 。A. abc B. “1212” C. “0” D. “ ”18、若定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 B 。A.7 B.2.500000 C.3.500000 D.0.00000 19、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A+6-3;后,c2中存放的字母为 A 。A.D B.68 C.C D.不确定的值20、对于int型变量k1,k2,k3,k4,若用以下语句:scanf(“%d%d”,&k1,&k2);scanf(“%d%d”,&k3,&k4);将10赋给k1,k3,将20赋给k2,k4,则应按 B 格式输入数据。A.1020 1020 B.10 20 10 20 C.10,20 10,20 D.10 20 10,2021、有定义语句:int x,y;,若要通过scanf(“%d%d”,&x,&y)语句使变量x得到数值11,变量y得到数值12,下面4组输入形式中,正确的是 C 。A. 1112 B.12,11C.11 12 D.11, 1222、设有以下定义:#define d 2int a=0;double b=1.25;char c=A;则下面语句中错误的是 D 。A.a+; B.b+; C.c+; D.d+;23、若以下变量均是整型,且num=sum=7;则执行表达式sum=num+,sum+,+num后sum的值为: B A. 7 B. 8 C. 9 D.10(解析:这是一个逗号表达式,第一个表达式为sum=num+,执行后sum的值为7,第二个表达式为sum+,执行后sum的值为8)24、能正确表示“当X的取值在1,10和200,210范围内为真,否则为假”的表达式是 B 。A. (X=1) &(X=200)&(X=1) &(X=200)&(X=1) |(X=200)|(X=1) |(X=200)|(X=210)25、执行下列程序段后,变量m的值是 D 。int w=1,x=2,y=3,z=4,m;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;A. 4 B. 3 C.2 D.126、判断char型变量ch是否为大写字母的正确表达式是 C 。A. A=ch=A)&(ch=A)&(ch=A)and(ch=Z)27、设x、y、z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 D 。A.x&y B.x=y C.x|y+z&y-z D. !(x=y)&(y=z) B. (x=y) and(y=z)C. x=y=z D.(x=y)|(y=z)29、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是 B 。A. if(ca) x=1; else if(b3) x=3; else if(a2) x=2;else x=1;C. if(a3) x=1; else if(a2) x=2; if(a,1) x=3;D. if(ab) x=b; if (bc) x=c;if(ca) x=a;30、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 &y+z/2的值是 D 。A. 6 B.0 C.2 D.1解析:算术运算高于逻辑运算,所以原式相当于!(x+y)+(z-1)&(y+z/2)31、以下运算符中优先级最低的运算符 。A. & B.& C.!= D.|32、下列表达式中, B 不满足“当x的值为偶数时值为真,为奇数时值为假“的要求。A. x%2=0 B. !x%2!=0 C.(x/2*2-x)=0 D. !(x%2)解析:!运算高于算术运算和关系运算,所以 !x%2!=0相当于(!x)%2!=0,与要求不符。33、在C语言中,要求运算数必须是整型的运算符是 D 。A. / B. + C. != D. %34、设有说明::char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为DA. float B. char C. int D. double35 下面正确的字符常量是 C 。A. “c” B. C. D. KK36、C语言中while和dowhile循环的主要区别是 A A、dowhile的循环体至少无条件执行一次 B、While的循环控制条件比dowhile的循环控制条件严格 C、dowhile允许从外部转到循环体内 D、dowhile循环体不能是复合语句 37、若i为整型变量,则以下循环执行次数是 B for(i=2;i= =0;) printf(“%d”,i-) A、无限次 B、0次 C、1次 D、2次38、执行下面程序后的输出为 D #includemain() int y=10; while(y-); printf(“y=%dn”,y);A、y=0 B、while构成无限循环 C、y=1 D、y=139、下列程序中,判断ij共执行了 D 次。void main() int i=0,j=10,k=2,s=0;for(; ;)i+=k;if(ij)printf(“%d”,s);break;s+=i;A. 4 B.7 C.5 D.640、C语言规定,在一个源程序中,main函数的位置_C_.A. 必须在最开始 B. 必须在系统调用的库函数的后面C. 可以任意 D. 必须在最后41、以下程序执行后的输出结果是 B 。void main() int i=0,a=0;while (iy为真或ay)&(ab)就为真。( F )13.C语言程序的变量必须先定义再使用。( T )14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。( F )15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。(F )16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。(T)17. 运算符优先顺序:赋值运算符逻辑运算符关系运算符算术运算符(F)18.对应float类型的变量,也可以用等号“=”进行数值的判断。(F)19.表达式:1 & 3.14 和 1 & 3 的值一样大。(F)20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。(T)21、任何C程序都是从main函数开始和结束;(T)22. 在C程序中,使用分号“;”表示语句的结束。(T )23. C程序至少要有一个main函数,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论