1、第三章复习题a 第三章一、选择题1. C语言提供的合法的数据类型关键字是( A )。(A)Double (B)short (C)integer (D)Char2. 在C语言中,合法的长整型常数是( B)。(A)0L (B)4962710 (C)0.054838743 (D)2.1869e103. 若有说明和语句:int a=5;a+;此处表达式a+的值是( B)。(A)7 (B)6 (C)5 (D)44. C语言中最简单的数据类型包括( D )。 (A)整型、实型、逻辑型 (B)整型、实型、字符型 (C)整型、字符型、逻辑型 ( )整型、实型、逻辑型、字符型 5. 以下说法中正确的是( C)。
2、 (A)C语言程序总是从第一个定义的函数开始执行 (B)在C语言程序中,要调用的函数必须在main()函数中定义 (C)C语言程序总是从main()函数开始执行 (D)C语言程序中的main()函数必须放在程序的开始部分6. 在C语言中,要求运算数必须是整型的运算符是( A )。(A) % (B) / (C) ( ) !7. 以下有4个用户标识符,其中合法的一个是 ( A)。(A) for (B) 4d (C) f2_G3 (D) short 8. 假定x和y为double型,则表达式x=2,y=x+3/2的值是( D )。(A) 3.500000 (B) 3 (C) 2.000000 (D)
3、 3.000000 9. 下面程序的输出是( C )。(A) 0 (B) 1 (C) 3 (D) 不确定的值main() int x=10,y=3;printf(%dn,y=x/y);10. 执行下面程序中输出语句后,a的值是( A )。(A) 65 (B) 20 (C) 15 (D) 10main()int a;printf(%dn,(a=3*5,a*4,a+5);11. C语言提供的合法的关键字是( D )。(A)Switch (B)cher (C)Case (D)default12. 在C语言中,合法的字符常量是( B )。(A)084 (B)x43 (C)ab (D)013. 若已定义
4、x和y为double类型,则表达式:x=1,y=x+3/2的值是( C )。(A)1 (B)2 (C)2.0 (D)2.514. 以下叙述中错误的是( B )。(A)算法正确的程序最终一定会结束(B)算法正确的程序可以有零个输出(C)算法正确的程序可以有零个输入(D)算法正确的程序对于相同的输入一定有相同的结果15. 若有以下程序片段:char str=abn012;printf(%d,strlen(str);上面程序片段的输出结果是( C )。(A)3 (B)4 (C)6 (D)1216. 以下叙述中正确的是( B )。(A)C语言的源程序不必通过编译就可以直接运行(B)C语言中的每条可执行
5、语句最终都将被转换成二进制的机器指令(C)C源程序经编译形成的二进制代码可以直接运行(D) C语言是源程序为单位进行编译的17. 下列不正确的转义字符是( C )。(A) (B) (C)074 (D)018. 若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为( D )。(A) float (B) int (C) char (D) double19. 设a=1,b=2,c=3,d=4,则表达式:ab?a:cb?(ac?a:c):(b);(A)5(B)4(C)6(D)不确定31. 设有 int x=11; 则表达式 (x+ * 1/3)
6、 的值是( A )。(A) 3 (B) 4 (C) 11 (D) 12 32. 下列变量定义中合法的是 ( A )。(A) short _a=1.le-1; (B) double b=1+5e2.5; (C) long do=0xfdaL; (D) float 2_and=1-e-3; 33. 以下程序的输出结果是( D )。main() int a=3; printf(%dn,(a+=a-=a*a) ); (A) -6 (B)12 (C) 0 (D) -12 34. 若变量已正确定义并赋值,下面符合C语言语法的表达式是( B)。(A) a:=b+1 (B) a=b=c+2 (C) int 1
7、8.5%3 (D) a=a+7=c+b35. C语言中运算对象必须是整型的运算符是(A )。(A) %= (B) / (C) = (D) =36. 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。(A) 1 (B) 2 (C) 2.0 (D) 2.537. 若变量a、i已正确定义,且i已正确赋值,合法的语句是( B )。(A) a=1 (B) +i; (C) a=a+=5; (D) a=int(i);38. 有如下程序main() int y=3,x=3,z=1;printf(“%d %dn”,(+x,y+),z+2);运行该程序的输出结果是( D )。(A
8、) 3 4 (B) 4 2 (C) 4 3 (D) 3 339. 设有说明语句:char a=72;则变量a中(A )。(A) 包含1个字符 (B) 包含2个字符 (C) 包含3个字符 (D) 说明不合法40. 以下所列的C语言常量中,错误的是( B )。(A) 0xFF (B) 1.2e0.5 (C) 2L (D) 7241. 下列选项中,合法的C语言关键字是( D )。(A) VAR (B) cher (C) integer (D) default42. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( C )。(A) -3 (B) 9 (C) -12 (D)
9、643. 以下选项中,非法的字符常量是( C)。(A) t (B) 17 (C)n (D) xaa 44. 有以下程序main()inti=10,j=1;printf(%d,%dn,i-,+j);执行后输出结果是( B )。(A)9,2 (B)10,2 (C)9,1 (D)10,145. 若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是( D)。(A)a的值是字符C (B)a的值是浮点型(C)不允许字符型和浮点型相加 (D)a的值是字符A的ASCII值加上1。46. 以下程序的输出结果是( C)。main()inta=5,b=4,c=6,d;printf(%dn,d=ab?
10、(ac?a:c):(b);(A)5 (B)4(C)6(D)不确定47. 以下选项中不属于C语言的类型的是( D)。(A)signedshortint (B)unsignedlongint(C)unsignedint(D)longshort48. 在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是( D)。(A)a=20000+20000;(B)a=4000*10;(C)a=30000+10000;(D)a=4000L*10L;49. 以下程序的输出结果是(C )。main()inta=5,b=4,c=6,d;printf(%dn,d=ab?(ac?a:c):(b);(A
11、)5 (B)4(C)6(D)不确定50. 以下叙述中正确的是(B )。(A)C语言的源程序不必通过编译就可以直接运行(B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令(C)C源程序经编译形成的二进制代码可以直接运行(D)C语言中的函数不可以单独进行编译51. 以下选项中合法的实型常数是(C )。(A)5E2.0(B)E-3(C).2E0(D)1.3E52. 以下选项中合法的用户标识符是(B )。(A)long (B)_2Test(C)3Dmax (D)A.dat53. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是(A )。(
12、A)字符A(B)字符a(C)字符e(D)非法的常量54. 设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是(D )。(A)6.500000(B)6(C)5.500000(D)6.00000055. 以下叙述中正确的是( C )。(A)C语言比其他语言高级(B)C语言可以不用编译就能被计算机识别执行(C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式(D)C语言出现的最晚,具有其他语言的一切优点56. C语言中用于结构化程序设计的三种基本结构是( A)。(A)顺序结构、选择结构、循环结构 (B)if、switch、break(C)for、w
13、hile、do-while (D)if、for、continue57. 在一个C程序中(B )。(A)main函数必须出现在所有函数之前(B)main函数可以在任何地方出现(C)main函数必须出现在所有函数之后(D)main函数必须出现在固定位置58. 下列叙述中正确的是( D)。(A)C语言中既有逻辑类型也有集合类型(B)C语言中没有逻辑类型但有集合类型(C)C语言中有逻辑类型但没有集合类型(D)C语言中既没有逻辑类型也没有集合类型59. 下列关于C语言用户标识符的叙述中正确的是(B)(A)用户标识符中可以出现在下划线和中划线(减号)(B)用户标识符中不可以出现中划线,但可以出现下划线(C
14、)用户标识符中可以出现下划线,但不可以放在用户标识符的开头(D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头60. 下列关于单目运算符+、-的叙述中正确的是( D)。(A)它们的运算对象可以是任何变量和常量(B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量(C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量(D)它们的运算对象可以是char型变量、int型变量和float型变量61. 有以下程序main()inti=10,j=1;printf(%d,%dn,i-,+j);执行后输出结果是( B)。(A)9,2(
15、B)10,2(C)9,1(D)10,162. 有以下程序main()chara,b,c,*d;a=;b=xbc;c=0xab;d=0127;printf(%c%c%cn,a,b,c,*d);编译时出现错误,以下叙述中正确的是(D )。(A)程序中只有a=;语句不正确 (B)b=xbc;语句不正确(C)d=0127;语句不正确 (D)a=;和c=0xab;语句都不正确63. 以下叙述中正确的是( A )。(A)C程序中注释部分可以出现在程序中任意合适的地方(B)花括号和只能作为函数体的定界符(C)构成C程序的基本单位是函数,所有函数名都可以由用户命名(D)分号是C语句之间的分隔符,不是语句的一部
16、分64. 以下选项中可作为C语言合法整数的是(C )。(A)10110B (B)0386 (C)0xffa (D)x2a265. 以下不能定义为用户标识符的是(D )。(A)scan (B)num (C)_3com_ (D)int66. 以下选项中非法的表达式是(D )。(A)0=x100 (B)i=j=0 (C)(char)(65+3) (D)x+1=x+167. 已定义ch为字符型变量,以下赋值语句中错误的是(A )。(A)ch=;(B)ch=62+3;(C)ch=NULL;(D)ch=xaa;68. 已定义c为字符型变量,则下列语句中正确的是(C )。(A)c=97; (B)c=97;
17、(C)c=97; (D)c=a;69. 以下叙述中正确的是(B )。(A)C语言的源程序不必通过编译就可以直接运行(B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令(C)C源程序经编译形成的二进制代码可以直接运行(D)C语言中的函数不可以单独进行编译70. 以下符合C语言语法的实型常量是(C )。(A)1.2E0.5(B)3.14.159E(C).5E-3(D)E1571. 以下4组用户定义标识符中,全部合法的一组是(A )。(A)_main(B)If(C)txt(D)intenclude-maxREALk_2sinturbo3COM_00172. 设有定义:floata=2,b=
18、4,h=3;,以下C语言表达式与代数式计算结果不相符的是( B)。(A)(a+b)*h/2(B)(1/2)*(a+b)*h(C)(a+b)*h*1/2(D)h/2*(a+b)73. 用C语言编写的代码程序(B )。(A)可立即执行 (B)是一个源程序(C)经过编译即可执行 (D)经过编译解释才能执行 74. 结构化程序由三种基本结构组成,三种基本结构组成的算法( C )。(A)可以完成任何复杂的任务 (B)只能完成部分复杂的任务(C)只能完成符合结构化的任务 (D)只能完成一些简单的任务 75. 以下定义语句中正确的是( C )。(A)char a=Ab=B; (B)float a=b=10.
19、0;(C)int a=10,*b=&a; (D)float *a,b=&a; 76. 下列选项中,不能用作标识符的是( D )。(A)_1234_ (B)_1_2 (C)int_2_ (D)2_int_77. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C )。(A)a=a+b=b+ (B)w%((int)a+b)(C)(c+w)%(int)a (D)w=a=b; 78. 有以下程序main() int m=3,n=4,x;x=-m+;x=x+8/+n;printf(%dn,x);程序运行后的输出结果是( D )。(A)3
20、 (B)5 (C)-1 (D)-2 79. 有以下程序main() char a=a,b;printf(%c,+a);printf(%cn,b=a+);程序运行后的输出结果是( A )。(A)b,b (B)b,c (C)a,b (D)a,c 80. 以下选项中可作为C语言合法常量的是(A )。(A)-80. (B) -080 (C)-8e1.0 (D)-80.0e81. 以下叙述中正确的是( C )。(A)用C程序实现的算法必须要有输入和输出操作(B)用C程序实现的算法可以没有输出但必须要输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出82
21、. 以下不能定义为用户标识符的是( D )。(A)Main (B)_0 (C)_int (D)sizeof83. 数字字符0的ASCII值为48,若有以下程序main() char a=1,b=2;printf(%c,b+);printf(%dn,b-a);程序运行后的输出结果是(C )。(A) 3,2 (B)50,2 (C)2,2 (D)2,5084. 有以下程序main() int m=12,n=34;printf(%d%d,m+,+n);printf(%d%dn,n+,+m);程序运行后的输出结果是( A)。(A)12353514 (B)12353513 (C)12343514 (D)1
22、234351385. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式ab? a:c=k (B)-k+ (C)k%int(f) (D)k=f=m91. 以下不合法的用户标识符是( C )。(A)j2_KEY (B)Double (C)4d (D)_8_92. 以下不合法的字符常量是(A)。(A)018(B) (C) (D)xcc93. 表达式3.6-52+1.2+52的值是(D )。(A)4.3 (B)4.8 (C)3.3 (D)3.894. 以下叙述中错误的是( D )。(A)C语言源程序经编译后生成后缀为.obj的目标程序(B)C程序经过编译、连接步骤之后才能形成一个真正
23、可执行的二进制机器指令文件(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中(D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令95. 以下叙述中错误的是( B )。(A)算法正确的程序最终一定会结束(B)算法正确的程序可以有零个输出(C)算法正确的程序可以有零个输入(D)算法正确的程序对于相同的输入一定有相同的结果96. C语言源程序名的后缀是( B )。(A).exe (B).C (C).obj (D).cp97. 不可在C程序中用做用户标识符的标识符是( D )。(A)and (B)Date (C)Hi (D)case98. 以下选项中,合法的C语言数值常量是( B )。(A)028 (B)12. (C).177 (D)0x8A99. 以下叙述中正确的是( C )。(A)C语言程序将