第三章运算符与表达式练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。
A.”a” B. {ABC} C. ’abc\0’ D. ’a’2.下列数据中属于“字符串常量”的是()。
A.ABC B. “ABC” C. ’abc’ D. ’a’3. 在PC机中,’\n’在内存占用的字节数是()。
A. 1B. 2C. 3D. 44. 在PC机中,”a\xff” 在内存占用的字节数是()。
A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是()。
A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是()。
A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是()。
A. OLB. 0821C. 40000D. 0x2a8.下列数据中不属于“字符常量”的是()。
A. ‘\a’B. ‘\160’C. ‘070’D. 0709.char型常量在内存中存放的是()。
A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。
A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是()。
A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。
A. 0B. 1C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。
A. 4,4B. 6,6C. 4,6D. 6,414.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。
A. 6B. 9C. 8D. 表达式出错15.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。
A. 3,3B. 5,4C. 4,5D. 6,616.sizeof(double)的结果值是( )。
A.8 B. 4 C. 2 D. 出错17. 表达式“1?(0?3:2):(10?1:0)”的值是()。
A. 3B. 2C. 1D. 018.int a=0; if(a=1) a+=10; 结果的值是()。
A. 0B. 11C. 10D. 出错19.下列表达式中符合C语言语法的赋值表达式是()。
A. a=7+b+c=a+7B. a=7+b++=a+7C. a=(7+b,b++,a+7)D. a=7+b,c=a+720.下列表达式中,不正确的表达式是()。
A. a=1,b=1B. y=int(x)C. a=b=5D. i++21.int n; float f=13.8; 执行“n=((int)f)%3”后,n的值是()。
A. 1B. 4C. 4.333333D. 4.622.用十进制数表示表达式“12|012”的运算结果是()。
A. 1B. 0C. 14D. 1223.设有整型变量a=35,表达式“(x&15)&&(x|15)”的值是()。
A. 0B. 1C. 15D. 3524.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()。
A. ’a’&&’b’B. a<=bC. a||b+c&&b-cD. !((a<b)&&!c||1)25.设a是char型变量,其值字符为’1’,则把其值变成整数1的表达式是()。
A. (int)aB. int(a)C. a=a-48D. a/(int)a26.设a是int型变量,其值为3,则把其值变成字符’3’ 的表达式是()。
A. (char)aB. a=3C. a=a-48D. a=a+4827.以下选项中,不正确的C 语言常量是(TC 中)。
A. 32LB. 510000C. -1.00D. 056828.以下选项中,是不正确的C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"29. 字符串的结束标志是。
A. 0B. '0'C. '\0'D. "0"30. 逻辑运算符中,运算优先级按从高到低依次为。
A. &&,!,||B. ||,&&,!C. &&,||,!D. !,&&,||31.表达式!x||a==b 等效于。
A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)32. int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。
A. 2,3B. 2,0C. 3,0D. 3,233.设ch是char型变量,其值为'A',则下面表达式的值是ch=(ch>='A'&& ch<='Z')? (ch+32):chA. AB. aC. ZD. Z34.字符串"ABC"在内存占用的字节数是A. 3B. 4C. 6D. 835.要为字符型变量a赋初值,下列语句中哪一个是正确的A. char a=3;B. char a=”3”;C. char a=%;D. char a=*;36.下列不正确的转义字符是A. \\B. \'C. 074D. \037.下面四个选项中均是合法整型常量的选项是( )A.160 -0xffff 011B.-0xcdf 01a 0xeC.-01 986,012 0668D.-0x48a 2e5 0x38.下面四个选项中均是不合法整型常量的选项是( )A.-0f1 -0xffff 0011B.-0xcdf 017 12,456C.-018 999 5e2D.-0x48eg -068 03f39.下面四个选项中,均是不合法的浮点数的选项是( )A.160 0.12 e3B.123 2e4.2 e5C.-18 123e4 0.0D.-e3 234 1e340.下面四个选项中,均是合法的浮点数的选项是( )A.+1e+1 5e-9.4 03e2B.-60. 12e-4 -8e5C.123e 1.2e-4 -8e5D.-e3 8e-4 5.e-041.下面四个选项中,均是合法转义字符的选项是( )A.'\" ‘\\' ‘\n'B.‘\' ‘\017' ‘\"'C.'\018' ‘\f' ‘x ab'D.'\\0' ‘\101' ‘x1f'42.下面四个选项中,均是不合法的转义字符的选项是( )A.'\"' ‘\\' ‘\xf'B.'\1011' ‘\' ‘\a'C.'\011' ‘f' ‘\}'D.'\abc' ‘\101' ‘x1f43.下面正确的字符常量是( )A.‘c"B.'\\"C.'w'D."44.下面四个选项中,均是正确的数值常量或字符常量的选项的是( )A.0.0 0f 8.9e ‘&'B."a" 3.9E-2.5 1e1 ‘\"'C.'3' 011 0xFF00 0aD.+001 0xabcd 2e2 5045.下面不正确的字符串常量是( )A.'abc'B."12'12"C."0"D." "46.已知各变量的类型说明如下:int k,a,b; unsigned long w=5; double x=1.42;则以下不符合C语言语法的表达式是( )A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)47.已知各变量的类型说明如下: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.a=a*3=2C.x%(-3)D.y=float(i)48.以下不正确的叙述是( )A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值49.以下正确的叙述是( )A.在C程序中,每行中只能写一条语句B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C.在C语程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符50..以下符合C语言语法的赋值表达式是( )A.d=9+e+f=d+9B.d=9+e,f=d+9C.d=9+e,e++,d+9D.d=9+e++=d+751.表达式18/4*sqrt(4.0)/8值的数据类型为( )A.float B char C.double D.不确定52.若有以下定义,则能使值为3的表达式为3的表达式是( ) int k=7,x=12;A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)53.设以下变量均为int类型,则值不等于7的表达式是( )A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)54.C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。
A)任何不同数据类型都不可以通用B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义55.在C语言中,int、char和short三种类型数据所占的内存()。
A)均为2个字节B)由用户自己定义C)由所用机器的字长决定D)是任意的56.下列常数中不能作为C语言的数据类型是()。