第2章 数据的存储与运算
2.1选择题
1. C语言提供的合法的数据类型关键字是( )。
(A)Double (B)short (C)integer (D)Char 2. 若有说明和语句:
int a=5; a++;
此处表达式a++的值是( )。 (A)7 (B)6 (C)5 (D)4 3. C89语言中最简单的数据类型包括( )。
(A)整型、实型、逻辑型 (B)整型、实型、字符型 (C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型
4. 在C语言中,要求运算数必须是整型的运算符是( )。
(A) % (B) / (C) < (D) ! 5. 以下有4个用户标识符,其中合法的一个是 ( )。
(A) for (B) 4d (C) f2_G3 (D) short 6. 下面程序的输出是( )。
main()
{ int x=10,y=3;
printf(\(A) 0
(B) 1
(C) 3
(D) 不确定的值
7. C语言提供的合法的关键字是( )。
(A)Switch (B)cher (C)Case (D)default 8. 在C语言中,合法的字符常量是( )。
(A)'\\084' (B)'\\x43' (C)'ab' (D)\
9. 若已定义x和y为double类型,且x=1,则表达式:y=x+3/2的值是( (A)1 (B)2 (C)2.0 (D)2.5 10. 下列不正确的转义字符是( )。
(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) double 12. 以下程序的输出结果是( )。
main()
{ int a=12,b=12;
printf(\
)。3
}
(A) 10 10
(B) 12 12 (C) 11 10 (D) 11 13
13. 以下选项中属于C89语言的数据类型是( )。
(A) 复数型 (B) 逻辑型 (C) 双精度型 (D) 集合型 14. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是( )。
(A) 3
(B) 4 (B) /
(C) 11 (C) =
(D) 12 (D) 〈=
(D) 说明不合法
15. C语言中运算对象必须是整型的运算符是( )。
(A) %=
16. 设有说明语句:char a=’\\72’;则变量a中( )。
(A) 包含1个字符 (B) 包含2个字符 (C) 包含3个字符 17. 下列选项中,合法的C语言关键字是( )。
(A) VAR (A) '\\t'
(B) cher (B) '\\17'
(C) integer (D) default
(D) '\\xaa'
18. 以下选项中,非法的字符常量是( )。
(C)\
19. 若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )。
(A) a的值是字符C (B) a的值是浮点型
(C) 不允许字符型和浮点型相加 (D) a的值是字符‘A’的ASCII值加上1。 20. 以下选项中不属于C语言的类型的是( )。
(A) signed short int (B) unsigned long int
(C) unsigned int (D) long short 21. 以下选项中合法的用户标识符是( )。
(A) long
(B) _2Test (C) 3Dmax
(D) A.dat
22. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常
量‘\\101’是( )。
(A) 字符A (B)字符a (C)字符e (D)非法的常量 23. 下列叙述中正确的是( )。
(A)C语言中既有逻辑类型也有集合类型 (B)C语言中没有逻辑类型但有集合类型 (C)C语言中有逻辑类型但没有集合类型 (D)C语言中既没有逻辑类型也没有集合类型 24. 下列关于C语言用户标识符的叙述中正确的是( )
(A)用户标识符中可以出现在下划线和中划线(减号) (B)用户标识符中不可以出现中划线,但可以出现下划线
(C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
(D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头 25. 有以下程序
main()
{ int i=10,j=1;
printf(\}
执行后输出结果是( )。 (A) 9,2 (B) 10,2 (C) 9,1 (D) 10,1
4
26. 以下选项中可作为C语言合法整数的是( )。
(A)10110B (B)0386
(C)0xffa
(D)x2a2 27. 以下不能定义为用户标识符的是( )。
(A)scan
(B)num
(C)_3com_
(D)int
28. 已定义ch为字符型变量,以下赋值语句中错误的是( )。
(A)ch='\\'; (B)ch=62+3; (C)ch=80; (D)ch='\\xaa';
29. 已定义c为字符型变量,则下列语句中正确的是( )。
(A)c='97';
(B)c=\
(C)c=97;
(D)c=\
30. 以下符合C语言语法的实型常量( )。
(A) 1.2E0.5 (B) 3.14.159E (C) .5E-3 (D) E15
31. 设有定义: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()
{ int m=3,n=4,x; x=-m++; x=x+8/++n;
printf(\}
程序运行后的输出结果是( )。 (A)3 (B)5 (C)-1 (D)-2 34. 有以下程序
main()
{ char a='a',b; printf(\printf(\}
程序运行后的输出结果是( )。 (A)b,b (B)b,c (C)a,b (D)a,c
35. 以下选项中可作为C语言合法常量的是( )。
(A)-80. (B) e1 (C)-8e1.0 (D)-80.0e 36. 以下不能定义为用户标识符的是( )。 (A)Main (B)_0
(C)_int (D)sizeof
37. 数字字符0的ASCII值为48,若有以下程序
main()
{ char a='1',b='2 '; printf(\printf(\}
程序运行后的输出结果是( )。 (A) 3,2 (B)50,2
(C)2,2
(D)2,50
) 。
5
38. 有以下程序
main()
{ int m=12,n=34;
printf(\printf(\}
程序运行后的输出结果是( )。
(A)12353514 (B)12353513 (C)12343514 (D)12343513 39. 以下叙述中错误的是( )。
(A)用户所定义的标识符允许使用关键字 (B)用户所定义的标识符应尽量做到“见名知意” (C)用户所定义的标识符必须以字母或下划线开头 (D)用户定义的标识符中,大、小写字母代表不同标识 40. 以下不能正确计算代数式值的C语言表达式是( )。
(A)1/3*sin(1/2)*sin(1/2) (C)pow(sin(0.5),2)/3
(B)sin(0.5)*sin(0.5)/3
(D)1/3.0*pow(sin(1.0/2),2)
41. 以下能正确定义且赋初值的语句是( )。
(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′(B)′\\\′ (C)′\\\\′ (A)4.3
(B)4.8
(D)′\\xcc′ (C)3.3
(D)3.8
44. 表达式3.6-5/2+1.2+5%2的值是( )。
45. 不可在C程序中用做用户标识符的标识符是( )。
(A)and (B)Date (C)Hi (D)case
46. 以下选项中,不合法的C语言数值常量是( )。
(A)028 (B)12. (C).177 (D)0x8A
47. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )。
(A)均占4个字节 (B)根据数据的大小来决定所占内存的字节数 (C)由用户自己定义 (D)由C语言编译系统决定
48. 已知字符’A’的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’。执行语句
printf(\后,输出结果是()。 (A)A,B (B)A,68 (C)65,66 (D)65,68 49. 以下正确的字符串常量是( )。
(A)\\
2.2填空题
1. 23/4= 。
2. 下程序运行后的输出结果是 。
main()
6