C语言程序设计习题集及答案_第1页
C语言程序设计习题集及答案_第2页
C语言程序设计习题集及答案_第3页
C语言程序设计习题集及答案_第4页
C语言程序设计习题集及答案_第5页
免费预览已结束,剩余51页可下载查看

下载本文档

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

文档简介

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

2、们在学习C语言时,带着希望出发,体会一路的艰辛, 最后满载收获而回。朋友们,学习向来没有什么捷径可寻。 “多看、多模仿、多操作”是我能给你们的唯一建议。祝你们学业有成。杨久红2014.9.1I目录第一部分习 题第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

3、 选择题 215.2 填空题 295.3 编程题 30第6章利用数组处理批量数据 326.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 编程题

4、 81第 2 章 数据的存储与运算 812.1 选择题 812.2 填空题 822.3 编程题 82第 3 章 最简单的程序设计-顺序程序设计 833.1 选择题 833.2 填空题 833.3 编程题 83第 4 章 选择结构程序设计 844.1 选择题 844.2 填空题 854.3 编程题 85第 5 章循环结构程序设计 875.1 选择题 885.2 填空题 885.3 编程题 88第 6 章 利用数组处理批量数据 956.1 选择题 956.2 填空题 956.3 编程题 95III第 7 章 用函数实现模块化程序设计 1007.1 选择题 1007.2 填空题 1007.3 编程题

5、 100第 8 章 善于使用指针 1048.1 选择题 1048.2 填空题 1048.3 编程题 104第9 章 结构体 1069.1 选择题 1069.2 填空题 1069.3 编程题 106第10章 利用文件保存数据 10710.1 选择题 10710.2 填空题 10710.3 编程题 107IV第1章C语言概述1.1选择题1 .以下说法中正确的是()。(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的 main()函数必须放在程序的开始部分2 .以下叙述中正确的

6、是()。(A)C语言比其他语言高级(B)C语言可以不用编译就能被计算机识别执行(C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式(D)C语言出现的最晚,具有其他语言的一切优点3 .在一个C程序中()。(A)main函数必须出现在所有函数之前(B)main函数可以在任何地方出现(C)main函数必须出现在所有函数之后(D)main函数必须出现在固定位置4 .以下叙述中正确的是()。(A)C程序中注释部分可以出现在程序中任意合适的地方(B)花括号""和T只能作为函数体的定界符(C)构成C程序的基本单位是函数,所有函数名都可以由用户命名(D)分号是C语句之间的分隔符

7、,不是语句的一部分5 .用C语言编写的代码程序()。(A)可立即执行(B)是一个源程序(C)经过编译即可执行(D)经过编译解释即可执行6 .以下叙述中错误的是()。(A)C语言源程序经编译后生成后缀为.obj的目标程序(B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件(C)用C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中(D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令7 .以下叙述中正确的是()。(A)C语言程序将从源程序中第一个函数开始执行(B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(C)

8、C语言规定必须用 main作为主函数名,程序将从此开始执行,在此结束(D)main可作为用户标识符,用以命名任意一个函数作为主函数1.2填空题1 . c语言源程序文件的后缀是 。2 . 一个C语言源程序由若干函数组成,其中至少应含有一个 1.3编程题编写一个c程序,输出以下信息:*Very good!*14第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语言中最简单的数据类

9、型包括()。(A)整型、实型、逻辑型 (B)整型、实型、字符型(C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型4 .在C语言中,要求运算数必须是整型的运算符是()。(A)%(B)/(C)<(D)!(D) short5 .以下有4个用户标识符,其中合法的一个是()。(A) for (B) 4d (C) f2_G36 .下面程序的输出是()。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)defau

10、lt8 .在C语言中,合法的字符常量是()。(A)''084'(B)'x43'(C)'ab'(D)"'0"9 .若已定义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)

11、float (B) int (C) char (D) double12. 以下程序的输出结果是()。main()int a=12,b=12;printf("%d,%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) 1215. C 语言中运算对象必须是整型的运算符是()。(A) %=(B) /(C) =(D)

12、=16. 设有说明语句:chara= 72'则变量2中()。(A) 包含 1 个字符 (B) 包含 2 个字符(C) 包含 3 个字符(D) 说明不合法17. 下列选项中,合法的C 语言关键字是() 。(A) V AR (B) cher(C) integer (D) default18. 以下选项中,非法的字符常量是() 。(A) 't'(B) '17'(C)"n"(D) 'xaa'19. 若变量a是int类型,并执行了语句:a= 'A'+1£则正确的叙述是()。(A) a 的值是字符C (B

13、) a 的值是浮点型(C)不允许字符型和浮点型相加(D) a的值是字符'A勺ASCII值加上1。20. 以下选项中不属于C 语言的类型的是()。(A) signed short int (B) unsigned long int(C) unsigned int (D) 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)非法的常量2

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

15、,+j);执行后输出结果是( )。(A) 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'29. 已定义 c 为字符型变量,则下列语句中正确的是()。(A)c='97'(B)

16、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 语言表达式与代数式计算结果不相符的是() 。(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()

17、int m=3,n=4,x; x=-m+;x=x+8/+n;printf("%dn",x); 程序运行后的输出结果是()。(A)3 (B)5 (C)-1 (D)-234. 有以下程序 main() char a='a',b;printf("%c,",+a); printf("%cn",b=a+); 程序运行后的输出结果是()。(A)b,b (B)b,c (C)a,b (D)a,c35. 以下选项中可作为C 语言合法常量的是()。(A)-80.(B) e1 (C)-8e1.0 (D)-80.0e36. 以下不能定义为用户

18、标识符的是()。(A)Main (B)_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); 程序运行后

19、的输出结果是 ()。(A)12353514 (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 .以下能正确定义且赋初值的语句

20、是 ()。(A)int n1=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(国)(C) ' '(D) 'xcc '44 .表达式 3.6-5/2+1.2+5 %2 的值是()。(A)4.3(B)4.8(C)3.3(D)3.845 .不可在C程序中用做用户标识符的标识符是()。(A)and (B)Date (C)Hi (D)ca

21、se46 .以下选项中,不合法的C语言数值常量是()。(A)028 (B)12. (C).177 (D)0x8A47 .以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。(A)均占4个字节(B)根据数据的大小来决定所占内存的字节数(C)由用户自己定义 (D)由C语言编译系统决定48 .已知字符颂ASCII代码值是65 ,字符变量c1的值是A' ,C2值是DD执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。(A)A , B (B)A , 68 (C)65 , 66 (D)65 , 6849 .以下正确的字符串常量

22、是 ()。"(B) ' abc' (C)OlympicGames (D)""50 2填空题1 .23/4=。2 .以下程序运行后的输出结果是 main()char m;m='B'+32; printf("%c'n",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 .若有语句int i=

23、-19,j=i%4; printf("%dn",j);则输出结果是。6 .已知字符A的ACSII码值为65,以下语句的输出结果是 。char ch=' B'; printf( "%cn" ,ch,ch);7 .设x、y均为整型变量,且 x=10, y=3,则以下语句的输出结果是 。 printf("%d,%dn",x-,-y);8 .3编程题1 .假如我国国民生产总彳1的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比?计算公式为:P=(kr)1其中r为年增长率;n为年数;P为与现在相比的百分比。

24、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.

25、 若变量已正确定义并赋值,下面符合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的值是()。6.7.8.(A)6.500000 (B)6 (C) 5.500000 (D) 6.000000C 语言中用于结构化程序设计的三种基本结构是()。(A) 顺序结构、选择结构、循环

26、结构(B)if 、 switch、 break(C)for 、 while 、 do-while以下选项中非法的表达式是(A)0<=x<100 (B)i=j=0有以下定义语句double a,b; int w; long c;(D)if 、 for、 continue)。(C)(char)(65+3)(D)x+1=x+1若各变量已正确赋值,则下列选项中正确的表达式是()。(A)a=a+b=b+ (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

27、=n (C) k=+n (D) k+=n+110. 以下叙述中错误的是()。(A)C 语句必须以分号结束(B)复合语句在语法上被看作一条语句(C)空语句出现在任何位置都不会影响程序运行(D) 赋值表达式末尾加分号就构成赋值语句11. 以下叙述中错误的是()。(A) 算法正确的程序最终一定会结束(B)算法正确的程序可以有零个输出(C)算法正确的程序可以有零个输入(D) 算法正确的程序对于相同的输入一定有相同的结果12. 设有如下的变量定义int i=8, k, a, b;unsigned long w=5;double x=1.42, y=5.2;则以下符合 C语言语法的表达式是()。(A) a

28、+=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(C)10,10,10(D)10,10,1614. 已知字母A的ASCII码为十进制的65,下面程序的输出是()。main() char ch1,ch2;ch1='A'+'5'-'3'ch2='A'+'6'-'3

29、'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);则输出结果是()。(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');则输出结果是()。(

30、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型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为()。(A) 100765.12(B) i=100,f=765.12(C) 100765.12(D) x=100y=765.1219. 以下叙述中正确的是()。(A)输入项可以

31、是一个实型常量,如:scanf("%f",3.5);(B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");(C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);(D)当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20. 以下程序的输出结果是()。main() int k=17;printf("%d , %o,%x n" , k, k, k);(A) 17 , 0

32、21, 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;printf("%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) J23.

33、下列程序的运行结果是() 。#include <stdio.h>main() int a=2,c=5;printf("a=%d,b=%dn",a,c); (A) a=%2,b=%5(B) a=2,b=5(C) a=d, b=d (D) a=%d,b=%d24. x、 y、 z 被定义为int 型变量,若从键盘给x、 y、 z 输入数据,正确的输入语句是()。(A) inputx、 y、 z;(B) scanf("%d%d%d",&x,&y,&z);(C) scanf("%d%d%d",x,y,z);

34、 (D) read("%d%d%d",&x,&y,&z);25. 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3 中的值是()。(A) 0(B) 0.5(C) 1(D) 226. 若有定义:inta=8,b=5,c;,执行语句 c=a/b+0.4;后,c的值为()。(A) 1.4(B) 1(C) 2.0(D) 227. 以下程序段的输出结果是() 。int a=1234;printf("%2dn",a);(A) 12(B) 34 (C) 1234 (D) 提示出错、无结果28. 以下非法

35、的赋值语句是() 。(A) n=(i=2,+i); (B)j+; (C) +(i+1); (D)x=j>0;2, 3回车,使i的值为1, j的值为2, k的值29. 已知 i、 j、 k 为 int 型变量,若从键盘输入:1,为3,以下选项中正确的输入语句是() 。(A) scanf( “ %2d%2d%2d” ,&i,&j,&k); (B) scanf( “ %dd %d” ,&i,&j,&k);(C) scanf(%d,%d,%d” ,&i,&j,&k); (D) scanf(i=%d,j=%d,k=%d ” ,

36、&i,&j,&k);30. 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是()。(A)pri ntf( “ x=%nd” ,x);(B) printf( “ x=%n1” d ,x);(C)printf( “ x=%8nd” L ,x)(;D)printf(“ x=%nL” D ,x);31. 若有以下程序:main() int k=2,i=2,m;m=(k+=i*=k);printf( “ %nd”,%,dm,i);执行后的输出结果是() 。(A) 8 , 6(B) 8, 3 (C) 6, 4 (D) 7, 432. 若有以下程序段in

37、t m=0xabc,n=0xabc;m-=n;printf("%xn",m);执行后输出结果是()。(A) 0X0 (B) 0x0 (C) 0 (D) 0XABC33. 有以下程序段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) 10,A,034. 有以下程序main()

38、 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)2 65 1.5 6.535. 有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到 数值 12,下面四组输入形式中,错误的是()。(A)11 12< 回车 &

39、gt; (B)11, 12< 回车 >(C)11,12< 回车 > (D)11,< 回车 >12< 回车 >36. 设变量 x 为 float 型且已赋值,则以下语句中能将x 中的数值保留到小数点后两位,并将第三位四舍五入的是()。(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=0x

40、12 (D) x4=1+2=3;38. 有以下程序main( ) int x=102 , y=012;printf( “ %2d,%n2” d ,x,y); 执行后输出结果是() 。(A) 10,01 (B) 02,12 (C) 102,10 (D) 02,1039. 以下 4 个选项中,不能看作一条语句的是()。(A) ; (B) a=0,b=0,c=0; (C) if(a0); (D) if(b=0) m=1;n=2;40. 有以下程序 main() int m=0256,n=256;printf("%o %on",m,n); 程序运行后的输出结果是()。(A)0256

41、 0400 (B)0256 256 (C)256 400 (D)400 40041. 有以下程序 main() int a=666,b=888; printf("%dn",a,b);程序运行后的输出结果是()。(A) 错误信息(B)666 (C)888 (D)666,88842. 有以下程序 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回车

42、。则输出结果是()。(A)6,5,A,B (B)6,5,65,66 (C)6,5,6,5 (D)6,5,6,643. 以下叙述中正确的是()。(A) 调用printf 函数时,必须要有输出项(B) 使用putchar 函数时,必须在之前包含头文件stdio.h(C)在C语言中,整数可以以二进制、八进制或十六进制的形式输出(D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码44 .以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main() int r; float s;scanf("%d",&r);s=pi*r*

43、r; printf("s=%fn",s); 出错的原因是()。(A) 注释语句书写位置错误(B) 存放圆半径的变量r 不应该定义为整型(C)输出语句中格式描述符非法(D)计算圆面积的赋值语句中使用了非法变量45 . 有以下程序#include <stdio.h> main() char c1='1',c2='2' c1=getchar(); c2=getchar(); putchar(cl); putchar(c2); 当运行时输入:a<回车后,以下叙述正确的是()。(A)变量cl被赋予字符a, c2被赋予回车符(B)程序将

44、等待用户输入第2个字符(C)变量cl被赋予字符a, c2中仍是原有字符2(D)变量cl被赋予字符a, c2中将无确定值46 .若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。(A)x=y=5; (B)x=n%2.5; (C)x+n=1; (D)x=5=4+1;47 .程序运行后的输出结果是 ()。#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

45、3.2填空题1 .若变量a, b已定义为int类型并赋值21和55,要求用printf函数以a=21, b=55的形式输出, 请写出完整的的输出语句 。2 .一个良好的程序,无论多么复杂,都可以由三种基本结构组成,分别是 和,用这三种基本结构构成的程序称为“结构化程序”。3 .执行以下程序时输入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&quo

46、t;&i,&j);printf("i=%d,j=%dn",i,j);要求给i赋10,给j赋20,则应该从键盘输入 。5 .有以下语句段int n1=10,n2=20;printf( J;","力2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=206 .以下程序段的输出结果是。int i=9;printf("%on",i);7 .已知字符 A的ASCII代码值为65,以下程序运行时若从键盘输入:B33回车,则输出结果#include <stdio.h> main() c

47、har a,b;a=getchar();scanf("%d",&b);a=a-'A'+'0'b=b*2;printf("%c %cn",a,b); 8 .已知字母A的ASCII码为65。以下程序运行后的输出结果是 。 main() char a, b;a='A'+'5'-'3' b=a+'6'-'2' printf("%d %cn", a, b);9 .3编程题1 . 设圆半径r=1. 5,圆柱高h=3,求圆周长、圆

48、面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。2 .输入一个华氏温度,要求输出一个摄氏温度。公式为:5c = g(F-32)3 .输入三角形的三边长,求三角形面积。为简单起见,设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形面积的公式为二«6一。)(5一其中 s=(a+b+c)/24 .输入一个小写字母,将其转换为大写字母。第 4 章 选择结构程序设计16. 有如下程序174.1 选择题1.2.3.表达式 :10!=9 的值是 (A)true (B)非零值能正确表示逻辑关系:(A) a>

49、;=10 or a<=0(C) a>=10 &&a<=0有以下程序main() int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%dn",a,b);)。(C)0(D)1“ a n 10 a w 0的C语言表达式是(B) a>=0|a<=10(D)a>=10 II a<=0)。输出结果是()。(C) 4,3(D) 2,-1(A) 2,1(B) 3,24.若变量 c 为 char 类型,能正确判断出c 为小写字母的表达式是((A) 'a'&l

50、t;=c<= 'z'(C) ('a'<=c)and ('z'>=c)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 26. 有如下程序段int a=14,b=15,x;char c= A;x=(a&&b)&&(c< B );执行该程序段后,x 的值为 (B) (c>= 'a

51、9;)|(c<= 'z')(D) (c>= 'a')&&(c<= 'z')(C) 1 0 3(D) 1 1 2)。(A) true (B) false (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 型变量 ,则执行以下语句

52、后,t 的值为 ()。x=y=z=1;t=+x|+y&&+z;(A) 不定值(B) 2(C) 1(D) 0main() int x;scanf("%d",&x);if(x-<5) printf("%d" , x);else printf("%d",x+);程序运行后,如果从键盘上输入5,则输出结果是()。(A)3(B) 4(C) 5(D) 610. 以下程序输出结果是()。main() int m=5;if(m+>5) printf("%dn",m);else printf(&q

53、uot;%dn",m- -);(A) 7(B) 6(C) 5(D) 411. 语句 :printf("%d" , (a=2)&&(b= -2); 的输出结果是()。(A) 无输出(B) 结果不确定(C) -1(D) 112. 能正确表示a 和 b 同时为正或同时为负的逻辑表达式是()。(A) (a>=0 II b>=0)&&(a<0 II b<0)(B) (a>=0&&b>=0)&&(a<0&&b<0)(C) (a+b>0)&

54、;&(a+b<=0)(D) a*b>013. 设 int x=1, y=1; 表达式(!x|y-) 的值是()。(A) 0(B) 1(C) 2(D) -114. 有如下程序,该程序的输出结果是()。main () int x=1,a=0,b=0;switch(x)case 1: b+;case 2: a+;case 3: a+;b+;printf( “ a=%d,b=n%” d,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

55、.0;else if(x<10.0) y=1.0/x;else y=1.0;printf( “ n%”f ,y);该程序的输出结果是()。(A) 0.000000 (B) 0.250000 (C) 0.500000 (D) 1.000000main() int a=2,b=-1,c=2;if(a)c=2;else if(b<0) c=0;else c+;printf( “ n%”d ,c);该程序的输出结果是()。(A) 0(B) 1(C) 2(D) 317. 若执行以下程序时从键盘上输入9,则输出结果是()。main() int n;scanf("%d",&a

56、mp;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) 0(C) 非 0 的数 (D) -119. 已有定义:int x=3,y=4,z=5; ,则表达式!(x+y)+z-1&&y+z/2 的值是() 。(A) 6(B) 0(C) 2(D) 120

57、. 有以下程序main() int a=15,b=21,m=0;switch(a%3) case 0:m+;break;case 1:m+;switch(b%2) default:m+;case 0:m+;break;printf( “ n%”d ,m);程序运行后的输出结果是() 。(A) 1(B) 2(C) 3(D) 421. 有以下程序main() int a=5,b=4,c=3,d=2;if(a>b>c)printf("%dn",d);else if(c-1>=d)=1) printf("%dn",d+1);elseprintf("%dn",d+2)执行后输出结果是() 。22.|x-y|<10 的是 ()。(A) 2 (B) 3 (C) 4 (D) 编译时有错,无结果 若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系5023.(A)abs(x-y)<10(C) !(x-y)<-10|!(y-x)>10 有以下程序main()int a=3,b=4,c=5,d=2;if(a>

温馨提示

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

评论

0/150

提交评论