《C语言程序设计》试题库及答案_第1页
《C语言程序设计》试题库及答案_第2页
《C语言程序设计》试题库及答案_第3页
《C语言程序设计》试题库及答案_第4页
《C语言程序设计》试题库及答案_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

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

文档简介

1、c语言程序设计习题集及答案电子信息工程学院201491内容简介 本习题集是为根据嘉应学院电子信息工程学院c语言程序设计课程教学大纲筛选题目整理而成的。 本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了c语言程序设计的全部内容,满足嘉应学院电子信息工程学院c语言程序设计考试大纲的要求。 寄语亲爱的同学们: 很高兴你们学习计算机的语言c语言,她将带你进入一个全新的计算机的世界。我是你们的老师,但我更希望是你们的朋友,为你在学习c语言的道路上提供帮助。同学们,“攻城不怕坚,攻书莫畏难。科学有险阻,苦战能过关。”,学习是辛苦的,但也充满了挑战和乐趣。我希望你们在学习c语

2、言时,带着希望出发,体会一路的艰辛,最后满载收获而回。朋友们,学习向来没有什么捷径可寻。“多看、多模仿、多操作”是我能给你们的唯一建议。祝你们学业有成。 杨久红 2014.9.1目录第一部分 习 题第1章 c语言概述11.1选择题11.2填空题21.3编程题2第2章 数据的存储与运算32.1选择题32.2填空题62.3编程题7第3章 最简单的程序设计-顺序程序设计83.1选择题83.2填空题133.3编程题14第4章 选择结构程序设计154.1选择题154.2填空题194.3编程题20第5章循环结构程序设计215.1选择题215.2填空题295.3编程题30第6章 利用数组处理批量数据326.

3、1选择题326.2填空题376.3编程题38第7章 用函数实现模块化程序设计407.1选择题407.2填空题527.3编程题57第8章 善于使用指针588.1选择题588.2填空题708.3编程题71第9章 结构体729.1选择题729.2填空题739.3编程题74第10章 利用文件保存数据7510.1选择题7510.2填空题7710.3编程题79第二部分 参考答案第1章c语言概述811.1选择题811.2填空题811.3编程题81第2章 数据的存储与运算812.1选择题812.2填空题822.3编程题82第3章 最简单的程序设计-顺序程序设计833.1选择题833.2填空题833.3编程题8

4、3第4章 选择结构程序设计844.1选择题844.2填空题854.3编程题85第5章循环结构程序设计875.1选择题885.2填空题885.3编程题88第6章 利用数组处理批量数据956.1选择题956.2填空题956.3编程题95第7章 用函数实现模块化程序设计1007.1选择题1007.2填空题1007.3编程题100第8章 善于使用指针1048.1选择题1048.2填空题1048.3编程题104第9章 结构体1069.1选择题1069.2填空题1069.3编程题106第10章 利用文件保存数据10710.1选择题10710.2填空题10710.3编程题108109 第一部分 习 题 第1

5、章 c语言概述1.1选择题1. 以下说法中正确的是( )。 (a)c语言程序总是从第一个定义的函数开始执行 (b)在c语言程序中,要调用的函数必须在main()函数中定义 (c)c语言程序总是从main()函数开始执行 (d)c语言程序中的main()函数必须放在程序的开始部分2. 以下叙述中正确的是( )。(a)c语言比其他语言高级(b)c语言可以不用编译就能被计算机识别执行(c)c语言以接近英语国家的自然语言和数学语言作为语言的表达形式(d)c语言出现的最晚,具有其他语言的一切优点3. 在一个c程序中( )。(a)main函数必须出现在所有函数之前 (b)main函数可以在任何地

6、方出现(c)main函数必须出现在所有函数之后 (d)main函数必须出现在固定位置4. 以下叙述中正确的是( )。(a)c程序中注释部分可以出现在程序中任意合适的地方(b)花括号""和""只能作为函数体的定界符(c)构成c程序的基本单位是函数,所有函数名都可以由用户命名(d)分号是c语句之间的分隔符,不是语句的一部分5. 用c语言编写的代码程序( )。(a)可立即执行 (b)是一个源程序(c)经过编译即可执行 (d)经过编译解释即可执行 6. 以下叙述中错误的是( )。(a)c语言源程序经编译后生成后缀为.obj的目标程序(b)c程序经过编译

7、、连接步骤之后才能形成一个真正可执行的二进制机器指令文件(c)用c语言编写的程序称为源程序,它以ascii代码形式存放在一个文本文件中(d)c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 7. 以下叙述中正确的是( )。(a)c语言程序将从源程序中第一个函数开始执行(b)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(c)c语言规定必须用main作为主函数名,程序将从此开始执行,在此结束(d)main可作为用户标识符,用以命名任意一个函数作为主函数1.2填空题1c语言源程序文件的后缀是 。2一个c语言源程序由若干函数组成,其中至少应含有一个 。

8、 1.3编程题编写一个c程序,输出以下信息:*very good!*第2章 数据的存储与运算2.1选择题1. c语言提供的合法的数据类型关键字是( )。(a)double (b)short (c)integer (d)char2. 若有说明和语句:int a=5;a+;此处表达式a+的值是( )。(a)7 (b)6 (c)5 (d)43. c89语言中最简单的数据类型包括( )。 (a)整型、实型、逻辑型 (b)整型、实型、字符型 (c)整型、字符型、逻辑型 (d)整型、实型、逻辑型、字符型 4. 在c语言中,要求运算数必须是整型的运算符是( )。(a) % (b) /(c) < (d)

9、 !5. 以下有4个用户标识符,其中合法的一个是 ( )。(a) for (b) 4d (c) f2_g3 (d) short 6. 下面程序的输出是( )。main() int x=10,y=3;printf("%dn",y=x/y);(a) 0 (b) 1 (c) 3 (d) 不确定的值7. c语言提供的合法的关键字是( )。(a)switch (b)cher (c)case (d)default8. 在c语言中,合法的字符常量是( )。(a)'084' (b)'x43' (c)'ab' (d)"0"9

10、. 若已定义x和y为double类型,且x=1,则表达式:y=x+3/2的值是( )。(a)1 (b)2 (c)2.0 (d)2.510. 下列不正确的转义字符是( )。(a)'' (b)'" (c)'074' (d)'0'11. 若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为( )。(a) float (b) int (c) char (d) double12. 以下程序的输出结果是( )。main() int a=12,b=12;printf("%d,

11、%dn",- -a,+ +b); (a) 10 10 (b) 12 12 (c) 11 10 (d) 11 1313. 以下选项中属于c89语言的数据类型是( )。(a) 复数型 (b) 逻辑型 (c) 双精度型 (d) 集合型14. 设有 int x=11; 则表达式 (x+ * 1/3) 的值是( )。(a) 3 (b) 4 (c) 11 (d) 12 15. c语言中运算对象必须是整型的运算符是( )。(a) %= (b) / (c) = (d) =16. 设有说明语句:char a=72;则变量a中( )。(a) 包含1个字符 (b) 包含2个字符 (c) 包含3个字符 (d

12、) 说明不合法17. 下列选项中,合法的c语言关键字是( )。(a) var (b) cher (c) integer (d) default18. 以下选项中,非法的字符常量是( )。(a) 't' (b) '17' (c)"n"(d) 'xaa' 19. 若变量a是int类型,并执行了语句:a=a'+1.6;,则正确的叙述是( )。(a) a的值是字符c       (b) a的值是浮点型(c) 不允许字符型和浮点型

13、相加  (d) a的值是字符a的ascii值加上1。 20. 以下选项中不属于c语言的类型的是( )。(a) signed  short  int      (b) unsigned  long int(c) unsigned  int            (d)&#

14、160;long  short21. 以下选项中合法的用户标识符是( )。(a) long    (b) _2test  (c) 3dmax  (d) a.dat22. 已知大写字母a的ascii码值是65,小写字母a的ascii码是97,则用八进制表示的字符常量101是( )。(a) 字符a  (b)字符a  (c)字符e (d)非法的常量23. 下列叙述中正确的是( )。(a)c语言中既有逻辑类型也有集

15、合类型(b)c语言中没有逻辑类型但有集合类型(c)c语言中有逻辑类型但没有集合类型(d)c语言中既没有逻辑类型也没有集合类型24. 下列关于c语言用户标识符的叙述中正确的是( )(a)用户标识符中可以出现在下划线和中划线(减号)(b)用户标识符中不可以出现中划线,但可以出现下划线(c)用户标识符中可以出现下划线,但不可以放在用户标识符的开头(d)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头25. 有以下程序main() int i=10,j=1; printf("%d,%dn",i-,+j);执行后输出结果是( )。(a)

16、 9,2 (b) 10,2 (c) 9,1 (d) 10,126. 以下选项中可作为c语言合法整数的是( )。(a)10110b (b)0386 (c)0xffa (d)x2a227. 以下不能定义为用户标识符的是( )。(a)scan (b)num (c)_3com_(d)int28. 已定义ch为字符型变量,以下赋值语句中错误的是( )。(a)ch='' (b)ch=62+3; (c)ch=80; (d)ch='xaa

17、'29. 已定义c为字符型变量,则下列语句中正确的是( )。(a)c='97' (b)c="97" (c)c=97; (d)c="a"30. 以下符合c语言语法的实型常量( )。(a) 1.2e0.5   (b) 3.14.159e   (c) .5e-3    (d) e1531. 设有定义:float a=2,b=4,h=3;,以下c语言表达式与代数

18、式计算结果不相符的是( ) 。(a) (a+b) *h/2       (b) (1/2)*(a+b) *h(c) (a+b) *h*1/2      (d) h/2*(a+b)  32. 下列选项中,不能用作标识符的是( )。(a)_1234_ (b)_1_2 (c)int_2_ (d)2_int_33. 有以下程序main() int m=3,n=4,x;x=-m

19、+;x=x+8/+n;printf("%dn",x);程序运行后的输出结果是( )。(a)3 (b)5 (c)-1 (d)-2 34. 有以下程序main() char a='a',b;printf("%c,",+a);printf("%cn",b=a+);程序运行后的输出结果是( )。(a)b,b (b)b,c (c)a,b (d)a,c 35. 以下选项中可作为c语言合法常量的是( )。(a)-80. (b) e1(c)-8e1.0(d)-80.0e36. 以下不能定义为用户标识符的是( )。(a)main (b)

20、_0(c)_int (d)sizeof37. 数字字符0的ascii值为48,若有以下程序main() char a='1',b='2 'printf("%c,",b+);printf("%dn",b-a);程序运行后的输出结果是( )。(a) 3,2 (b)50,2 (c)2,2 (d)2,5038. 有以下程序main() int m=12,n=34;printf("%d%d",m+,+n);printf("%d%dn",n+,+m);程序运行后的输出结果是( )。(a)1235

21、3514 (b)12353513 (c)12343514 (d)1234351339. 以下叙述中错误的是( )。(a)用户所定义的标识符允许使用关键字(b)用户所定义的标识符应尽量做到“见名知意”(c)用户所定义的标识符必须以字母或下划线开头(d)用户定义的标识符中,大、小写字母代表不同标识40. 以下不能正确计算代数式值的c语言表达式是( )。(a)1/3*sin(1/2)*sin(1/2) (b)sin(0.5)*sin(0.5)/3(c)pow(sin(0.5),2)/3 (d)1/3.0*pow(sin(1.0/2),2)41. 以下能正确定义且赋初值的语句是( )。(a)int n

22、1=n2=10; (b)char c=32;(c)float f=f+1.1; (d)double x=12.3e2.5;42. 以下不合法的用户标识符是( )。(a)j2_key (b)double (c)4d (d)_8_43. 以下不合法的字符常量是( )。(a)018(b)"(c)(d)xcc44. 表达式3.6-5/2+1.2+52的值是( )。(a)4.3(b)4.8(c)3.3 (d)3.8  45. 不可在c程序中用做用户标识符的标识符是( )。(a)and (b)date (c)hi (d)case46. 以下选项中,不合法的c语言数值

23、常量是( )。(a)028 (b)12. (c).177 (d)0x8a47. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )。(a)均占4个字节 (b)根据数据的大小来决定所占内存的字节数(c)由用户自己定义 (d)由c语言编译系统决定48. 已知字符a的ascii代码值是65,字符变量c1的值是a,c2的值是d。执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。(a)a,b (b)a,68 (c)65,66 (d)65,6849. 以下正确的字符串常量是( )。(a)"" (b)abc (c)

24、olympicgames (d)""2.2填空题1. 23/4=    。2. 下程序运行后的输出结果是    。main() char m;m='b'+32; printf("%cn",m);3. 设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_ _。4. 以下程序的输出结果是 。main() int a=1, b=2;a=a+b; b=a-b; a=a-b;printf("%d,%dn", a, b ); 5.

25、 若有语句int i=-19,j=i%4;printf("%dn",j);则输出结果是 。 6. 已知字符a的acsii码值为65,以下语句的输出结果是 。char ch=b;printf(“%c %dn”,ch,ch);7. 设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是 。printf("%d,%dn",x-,-y); 2.3编程题1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比?计算公式为:p=1+rn其中r为年增长率;n为年数;p为与现在相比

26、的百分比。2. 在一个笼子里同时养着一些鸡和兔子,你想了解有多少只鸡和多少只兔,主人对你说:我只告诉你鸡和兔的总头数是16和总脚数是40,你能不能自己计算有多少只鸡和多少只兔?第3章 最简单的程序设计-顺序程序设计3.1选择题1. 在下列选项中,不正确的赋值语句是( )。(a)+t; (b)n1=(n2=(n3=0); (c)k=i=j; (d)a=b+c=1;2. 以下叙述中正确的是( )。(a)用c程序实现的算法必须要有输入和输出操作(b)用c程序实现的算法可以没有输出但必须要输入(c)用c程序实现的算法可以没有输入但必须要有输出(d)用c程序实现的算法可以既没有输入也没有输出3. 若变量

27、已正确定义并赋值,下面符合c语言语法的表达式是( )。(a) a:=b+1 (b) a=b=c+2 (c) int 18.5%3 (d) a=a+7=c+b4. 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。(a) a=1 (b) +i; (c) a=a+=5; (d) a=int(i);5. 设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是( )。(a)6.500000 (b)6   (c) 5.500000  (d) 6.0000006. c语言中用于结

28、构化程序设计的三种基本结构是 ( )。(a)顺序结构、选择结构、循环结构   (b)if、switch、break(c)for、while、do-while    (d)if、for、continue7. 以下选项中非法的表达式是( )。(a)0<=x<100 (b)i=j=0  (c)(char)(65+3)  (d)x+1=x+18. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。(a)a=a+b=b+ (

29、b)w%((int)a+b)(c)(c+w)%(int)a (d)w=a=b;9. 以下选项中,与k=n+完全等价的表达式是( )。(a) k=n,n=n+1 (b) n=n+1,k=n (c) k=+n  (d) k+=n+110. 以下叙述中错误的是( )。(a)c语句必须以分号结束(b)复合语句在语法上被看作一条语句(c)空语句出现在任何位置都不会影响程序运行(d)赋值表达式末尾加分号就构成赋值语句11. 以下叙述中错误的是( )。(a)算法正确的程序最终一定会结束(b)算法正确的程序可以有零个输出(c)算法

30、正确的程序可以有零个输入(d)算法正确的程序对于相同的输入一定有相同的结果 12. 设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1. 42, y=5.2;则以下符合c语言语法的表达式是( )。(a) a+=a-=(b=4)*(a=3) (b) x%(-3);(c) a=a*3=2 (d) y=float(i)13. 以下程序的输出结果是 ( )。main( ) int i=010,j=10,k=0x10; printf("%d,%d,%dn",i,j,k); (a)8,10,16 (b)8,10,10

31、 (c)10,10,10 (d)10,10,1614. 已知字母a的ascii码为十进制的65,下面程序的输出是( )。main() char ch1,ch2;ch1='a'+'5'-'3'ch2='a'+'6'-'3'printf("%d,%cn",ch1,ch2);(a) 67,d(b) b,c (c) c,d (d) 不确定的值15. 若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%dn,u,v,w);则输出结果是(

32、) 。(a)8,16,10 (b)10,10,10 (c)010,16,10 (d)16,16,1616. 若有以下定义和语句 char c1='b',c2='e'printf("%d,%cn",c2-c1,c2-'a'+'a');则输出结果是( )。(a)2,m (b)3,e(c)2,e (d)输出项与对应的格式控制不一致,输出结果不确定17. 下列可作为c语言赋值语句的是( )。(a) x=3 (b) a=b=6(c) i-; (d) y=int(x);18. 设i是int型变量,f是float型变量,用下

33、面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为( )。(a) 100 765.12 (b) i=100,f=765.12(c) 100765.12 (d) x=100y=765.1219. 以下叙述中正确的是( )。(a) 输入项可以是一个实型常量,如:scanf("%f",3.5);(b) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");(c) 当输入一个实型数据时,格式控制部分可以规

34、定小数点后的位数,例如:scanf("%4.2f",&f);(d) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20. 以下程序的输出结果是( )。main( ) int k=17;printf("%d,%o,%x n",k,k,k);(a) 17,021,0x11 (b) 17,17,17(b) 17,0x11,021 (d) 17,21,1121. 下列程序的输出结果是 ( )。main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; print

35、f("%d n", d*y); (a) 3 (b) 3.2 (c) 0 (d) 3.0722. 下列程序执行后的输出结果是 ( )。main() int x='f' printf("%c n",'a'+(x-'a'+1); (a) g (b) h (c) i (d) j 23. 下列程序的运行结果是( ) 。#include  <stdio.h> main() int a=2,c=5; printf("a=%d,b=%dn",a,c); (a) a=%2,

36、b=%5 (b) a=2,b=5 (c) a=d, b=d (d) a=%d,b=%d 24. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 ( )。(a) input x、y、z; (b) scanf("%d%d%d",&x,&y,&z); (c) scanf("%d%d%d",x,y,z); (d) read("%d%d%d",&x,&y,&z); 25. 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的

37、值是( )。(a) 0 (b) 0.5 (c) 1 (d) 226. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( )。(a) 1.4         (b) 1         (c) 2.0       (d) 227. 以下程序段的输出结果是( )。int

38、  a=1234;printf("%2dn",a);(a) 12      (b) 34    (c) 1234    (d) 提示出错、无结果28.  以下非法的赋值语句是( )。(a) n=(i=2,+i);  (b)j+;  (c) +(i+1);  (d)x=j>0;29.

39、 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是( )。(a) scanf(“%2d%2d%2d”,&i,&j,&k); (b) scanf(“%d  %d  %d”,&i,&j,&k);(c) scanf(“%d,%d,%d”,&i,&j,&k); (d) scanf(“i=%d,j=%d,k=%d”,&i,&j,&

40、k);30.  设有定义:long x=-123456l;,则以下能够正确输出变量x值的语句是( )。(a)printf(“x=%dn”,x);  (b) printf(“x=%1dn”,x);(c)printf(“x=%8dln”,x); (d)printf(“x=%ldn”,x);31. 若有以下程序:main()   int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);执行后的输出结果是( )。(a) 8,6  

41、60;     (b) 8,3   (c) 6,4   (d) 7,432.  若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%xn",m);执行后输出结果是( )。(a) 0x0    (b) 0x0    (c) 0   (d) 0

42、xabc33.  有以下程序段int m=0,n=0; char  c='a' scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%dn",m,c,n);若从键盘上输入:10a10<回车>,则输出结果是( )。(a) 10,a,10   (b) 10,a,10   (c) 10,a,0  (d)&

43、#160;10,a,034. 有以下程序main() int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1fn",a,c,f,x);程序运行后的输出结果是( )。(a)1 65 1 6.5 (b)1 65 1.5 6.5 (c)1 65 1.0 6.5  (d

44、)2 65 1.5 6.535. 有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( )。(a)11 12<回车> (b)11, 12<回车>(c)11,12<回车> (d)11,<回车>12<回车>36. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的

45、是( )。(a)x=x*100+0.5/100.0;  (b)x=(x*100+0.5)/100.0;(c)x=(int)(x*100+0.5)/100.0;  (d)x=(x/100+0.5)*100.0;37.  若以下选项中的变量已正确定义,则正确的赋值语句是 ( )。(a) x1=26.8%3   (b) 1+2=x2   (c) x3=0x12   (d) x4=1+2=3;38. 有以下程序main( )

46、 int x=102,y=012;  printf(“%2d,%2dn”,x,y);  执行后输出结果是 ( ) 。(a) 10,01    (b) 02,12    (c) 102,10    (d) 02,1039. 以下4个选项中,不能看作一条语句的是 ( )。(a)  (b) a=0,b=0,c=0; 

47、;(c) if(a>0);   (d) if(b=0) m=1;n=2;40. 有以下程序main() int m=0256,n=256;printf("%o %on",m,n);程序运行后的输出结果是( )。(a)0256 0400 (b)0256 256 (c)256 400 (d)400 400 41. 有以下程序main() int a=666,b=888;printf("%dn",a,b);程序运行后的输出结果是( )。(a)错误信息 (b)666 (c)888 (d)666,8

48、88 42. 有以下程序main() char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%cn",a,b,c,d); 若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是( )。(a)6,5,a,b (b)6,5,65,66 (c)6,5,6,5 (d)6,5,6,6 43. 以下叙述中正确的是( )。(a)调用printf函数时,必须要有输出项(b)使用putchar函数时,必须在之前包含头文件stdio.h(c)在c语言中

49、,整数可以以二进制、八进制或十六进制的形式输出(d)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ascii码44. 以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main() int r; float s;scanf("%d",&r);s=pi*r*r; printf("s=%fn",s);出错的原因是( )。(a)注释语句书写位置错误 (b)存放圆半径的变量r不应该定义为整型(c)输出语句中格式描述符非法 (d)计算圆面积的赋值语句中使用了非法变量45. 有以下程序#include <stdi

50、o.h>main() char c1='1',c2='2'c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);当运行时输入:a<回车> 后,以下叙述正确的是( )。(a)变量c1被赋予字符a,c2被赋予回车符(b)程序将等待用户输入第2个字符(c)变量c1被赋予字符a,c2中仍是原有字符2(d)变量c1被赋予字符a,c2中将无确定值46. 若变量均已正确定义并赋值,以下合法的c语言赋值语句是( )。(a)x=y=5; (b)x=n%2.5; (c)x+n=1; (d)x=5=4+1;47.

51、程序运行后的输出结果是( )。#include<stdio.h>void main () int a,b; a=3; b=20; a=b; printf("a=%d,b=%dn",a,b); (a)a=3,b=3 (b)a=20,b=20 (c)a=20,b=3 (d) a=3,b=20 3.2填空题1. 若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句 。2. 一个良好的程序,无论多么复杂,都可以由三种基本结构组成,分别是 、 和 ,用这三种基本结构构成的程序称为“结构化程序”。3.

52、执行以下程序时输入1234567,则输出结果是_ _。main() int a=1,b;scanf("%2d%2d",&a,&b);printf("%d %dn",a,b);4. 若有程序main() int i,j; scanf("i=%d,j=%d"&i,&j); printf("i=%d,j=%dn",i,j);要求给i赋10,给j赋20,则应该从键盘输入 。5. 有以下语句段int  n1=10,n2=20;prin

53、tf(“ ”,n1,n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=206. 以下程序段的输出结果是 _ _ 。int i=9;printf("%on",i);7. 已知字符a的ascii代码值为65,以下程序运行时若从键盘输入:b33<回车>,则输出结果是 。#include <stdio.h>main() char a,b;a=getchar();scanf("%d",&b);a=a-'a'+'0'b=b*2;printf("%c %c

54、n",a,b);8. 已知字母a的ascii码为65。以下程序运行后的输出结果是 。main() char a, b;a='a'+'5'-'3' b=a+'6'-'2' printf("%d %cn", a, b);3.3编程题1. 设圆半径r=15,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。2. 输入一个华氏温度,要求输出一个摄氏温度。公式为:c=59(f-32)3. 输入三

55、角形的三边长,求三角形面积。为简单起见,设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形面积的公式为area=ss-as-bs-c其中s=(a+b+c)/24. 输入一个小写字母,将其转换为大写字母。第4章 选择结构程序设计4.1选择题1. 表达式:10!=9的值是( )。(a)true (b)非零值 (c)0 (d)12. 能正确表示逻辑关系:“a10或a0”的c语言表达式是( )。(a) a>=10 or a<=0 (b) a>=0|a<=10 (c) a>=10 &&a<=0 (d) a>=10a<=03. 有以

56、下程序main() int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%dn",a,b);输出结果是( )。(a) 2,1 (b) 3,2 (c) 4,3 (d) 2,-14. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )。(a) 'a'<=c<= 'z' (b) (c>= 'a')|(c<= 'z')(c) ('a'<=c)and ('z'>=c) (d) (c

57、>= 'a')&&(c<= 'z')5. 下面程序的输出是( )。main() int a=-1,b=4,k;k=(a+<=0)&&(!(b-<=0);printf("%d %d %d%n",k,a,b);(a) 0 0 3 (b) 0 1 2(c) 1 0 3 (d) 1 1 26. 有如下程序段int a=14,b=15,x;char c=a;x=(a&&b)&&(c<b);执行该程序段后,x的值为( )。(a) true (b) false (

58、c) 0 (d) 17. 表示数学上的关系x<=y<=z的c语言表达式为( )。(a) (x<=y)&&(y<=z) (b) (x<=y)and(y<=z)(c) (x<=y<=z) (d) (x<=y)&(y<=z)8. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )。x=y=z=1;t=+x|+y&&+z;(a) 不定值 (b) 2 (c) 1 (d) 09. 阅读以下程序:main() int x; scanf("%d",&x); if(x-

59、<5) printf("%d",x); else printf("%d",x+); 程序运行后,如果从键盘上输入5,则输出结果是 ( )。(a)3 (b) 4 (c) 5 (d) 6 10. 以下程序输出结果是( )。main() int m=5;if(m+>5) printf("%dn",m);else printf("%dn",m- -); (a) 7 (b) 6 (c) 5 (d) 411. 语句:printf("%d",(a=2)&&(b= -2);的输出结果

60、是( )。(a) 无输出 (b) 结果不确定 (c) -1 (d) 112. 能正确表示a和b同时为正或同时为负的逻辑表达式是( )。(a) (a>=0b>=0)&&(a<0b<0)(b) (a>=0&&b>=0)&&(a<0&&b<0)(c) (a+b>0)&&(a+b<=0)(d) a*b>013. 设 int x=1, y=1; 表达式(!x|y-)的值是( )。(a) 0 (b) 1 (c) 2(d) -1 14. 有如下程序,该程序的输出结

61、果是( )。main( ) int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(“a=%d,b=%dn”,a,b);(a) a=2,b=1 (b) a=1,b=1 (c) a=1,b=0 (d) a=2,b=215. 有如下程序main( ) float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%fn”,y);该程序的输出结果是( )。(a) 0.000000 (b) 0.250000 (c) 0.5000

62、00 (d) 1.00000016. 有如下程序main() int a=2,b=-1,c=2;if(a)c=2;else if(b<0) c=0;else c+;printf(“%dn”,c);该程序的输出结果是( )。(a) 0 (b) 1 (c) 2 (d) 317. 若执行以下程序时从键盘上输入9,则输出结果是( )。main() int n;scanf("%d",&n);if(n+<10) printf("%dn",n);else printf("%dn",n-);(a) 11 (b) 10 (c) 9 (d) 818.   以下程序的输出结果是( )。main() int  a=4,b=5,c=0,d;d=!a&&!b|!c;printf("%dn",d); (a) 1      (b

温馨提示

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

评论

0/150

提交评论