第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) !5.以下有4个用户标识符,其中合法的一个是()。
(A) for (B) 4d (C) f2_G3 (D) short6.下面程序的输出是( )。
main(){ int x=10,y=3;printf("%d\n",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.若已定义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,%d\n",- -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) 〈=16.设有说明语句:char a=’\72’;则变量a中( )。
(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.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 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语言中既有逻辑类型也有集合类型(B)C语言中没有逻辑类型但有集合类型(C)C语言中有逻辑类型但没有集合类型(D)C语言中既没有逻辑类型也没有集合类型24.下列关于C语言用户标识符的叙述中正确的是( )(A)用户标识符中可以出现下划线和中划线(减号)(B)用户标识符中不可以出现中划线,但可以出现下划线(C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头(D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头25.有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++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)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(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是( )。
(A)3 (B)5 (C)-1 (D)-234.有以下程序main(){ char a='a',b;printf("%c,",++a);printf("%c\n",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.以下不能定义为用户标识符的是( )。
(A)Main (B)_0 (C)_int (D)sizeof37.数字字符0的ASCII值为48,若有以下程序main(){ char a='1',b='2 ';printf("%c,",b++);printf("%d\n",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%d\n",n++,++m);}程序运行后的输出结果是( )。
(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.以下能正确定义且赋初值的语句是( )。
(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)′\\′(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)case46.以下选项中,不合法的C语言数值常量是( )。
(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)OlympicGames (D)""2.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,%d\n", a, b );}5.若有语句int i=-19,j=i%4;printf("%d\n",j);则输出结果是。