数据类型、运算符与表达式练习题课堂答案

更新时间:2024-01-16 19:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

运算符与表达式练习题

一、单项选择题

1.下列数据中属于“字符串常量”的是( A)。

A.”a” B. {ABC} C. ?abc\\0? D. ?a? 2.下列数据中属于“字符串常量”的是( B )。

A.ABC B. “ABC” C. ?abc? D. ?a? 3. 在PC机中,?\\n?在内存占用的字节数是(A)。 A. 1 B. 2 C. 3 D. 4 4. 在PC机中,”a\\xff” 在内存占用的字节数是( C )。 A. 5 B. 6 C. 3 D. 4 5.字符串”\\”ABCD\\””在内存占用的字节数是(C )。 A. 4 B. 6 C. 7 D. 8 6. 在C语言中,合法的长整型常数是( AB )。 A. 0L B. 49627 C. 0.054838743 D. 2.1869e10 7.在C语言中,合法的短整型常数是( D )。 A. OL B. 0821 C. 40000 D. 0x2a 8.下列数据中不属于“字符常量”的是( D )。 A. ?a? B. ?\\n? C. ?\\t? D. “a” 9.char型常量在内存中存放的是( A)。 A. ASCII代码值 B. BCD代码值 C. 内码值 D. 十进制代码值 10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是( A )。 A. 1 B. 0 C. -1 D. 出错 11.在以下一组运算符中,优先级最高的运算符是(C )。 A. <= B. = C. % D. &&

12.设整型变量i的值为3,则计算表达式i--表达式的值为( B )。 A. 0 B. 3 C. 2 D. 表达式出错 13.设整型变量i,j=3; 则计算表达式i=j++后i,j的值为(A )。 A. 3,4 B. 6,6 C. 4,6 D. 6,4

15.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是(B )。 A. 3,3 B. 5,4 C. 4,5 D. 6,6 16.sizeof(double)的结果值是( A )。 A.8 B. 4 C. 2 D. 出错 17. 表达式“1?(0?3:2):(10?1:0)” 的值是(B )。 A. 3 B. 2 C. 1 D. 0 18.int a=0; if(a=1) a+=10; 结果a的值是( B )。 A. 0 B. 11 C. 10 D. 出错

21.int n; float f=13.8; 执行“n=((int)f)%3”后,n的值是(A )。 A. 1 B. 4 C. 4.333333 D. 4.6

22.用十进制数表示表达式“12||012”的运算结果是( A)。 A. 1 B. 0 C. 14 D. 12

23.设有整型变量x=35,表达式“(x&&15)&&(x||15)” 的值是( B )。 A. 0 B. 1 C. 15 D. 35

1

24.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是(D )。 A. ?a?&&?b? B. a<=b C. a||b+c&&b-c D. !((a

A. 'a' B. '\\x41' C. '\\101' D. \ 29. 字符串的结束标志是 C 。

A. 0 B. '0' C. '\\0' D. \ 30. 逻辑运算符中,运算优先级按从高到低依次为 D 。

A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,|| 31.表达式!x||a==b 等效于 D 。

A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 32. int b=0,x=1;执行语句 if(x++) b=x+1; 后,x,b 的值依次为 A 。

A. 2,3 B. 2,0 C. 3,0 D. 3,2 33.设ch是 char型变量,其值为 'A',则下面表达式的值是 B ch=(ch>='A'&& ch<='Z')? (ch+32):ch A. A B. a C. Z D. Z 34.字符串\在内存占用的字节数是 B

A. 3 B. 4 C. 6 D. 8 36.下列不正确的转义字符是 C

A. \\\\ B. \\' C. 074 D. \\0 43.下面正确的字符常量是( C )

A.?c\ B.'\\\\\ C.'w' D.\45.下面不正确的字符串常量是( A )

A.'abc' B.\ C.\ D.\ \

46.已知各变量的类型说明如下:int k,a,b; unsigned long w=5; double x=1.42;则以下不符合C语言语法的表达式是( A)

A.x%(-3) B.w+=-2 C.k=(a=2,b=3,a+b) D.a+=a-=a*=3 A=A+(A=A-(A=A*3)) 48.以下不正确的叙述是( D )

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中 的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

49.以下正确的叙述是( D )

A.在C程序中,每行中只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C.在C语程序中,无论是整数还是实数,都能被准确无误地表示 D.在C程序中,%是只能用于整数运算的运算符 51.表达式18/4*sqrt(4.0)/8值的数据类型为(C ) A.float B char C.double D.不确定

53.设以下变量均为int类型,则值不等于7的表达式是( C) 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语言的不严格的叙述中,错误的说法

2

是( A )。

A)任何不同数据类型都不可以通用

B)有些不同类型的变量可以在一个表达式中运算

C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D)同一个运算符号在不同的场合可以有不同的含义

55.在C语言中,int、char和short三种类型数据所占的内存( C )。 A)均为2个字节 B)由用户自己定义 C)由所用机器的字长决定 D)是任意的

57.设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是(B )。 A)0至255 B)0至65535 C)-256至255 D)-32768至32767 58.在C语言中,数字029是一个( A )。

A)八进制数 B)十六进制数 C)十进制 D)非法数 59.下列可以正确表示字符型常数的是( B )。 A)”a” B)'\\t’ C)”\\n” D)297 62.已知 int i; float f; 正确的语句是(D )。

A)(int f)%i B)int(f)%i C)int(f%i) D)(int)f%i

63.已知:char a; int b;float c; double d; 执行语句c=a+b+c+d; 后,变量c的数据类型是( C )。

A)int B)char C)float D)double

64.已知:int i,a;执行语句“i=(a=2*3,a*5),a+6;后,变量i的值是( C )。 A)6 B)12 C)30 D)36

65.已知:int i=5;执行语句i+= ++i;i的值是( C )。

A)10 B)11 C)12 D)A,B,C答案都不对

67.已知:char c='A';int i=1,j;执行语句j=!c&&i++;则i和j的值是(D )。 A)1,1 B)1,0 C)2,1 D)2,0

68.已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为(C )。 A)1 B)2 C)3 D)4

70.已知:int x=1,y;则 y=++x* ++x的结果为( A )。 A)y=9 B)y=6 C)y=1 D)表达式是错误的 71.已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为(A )。 A)0 B)1 C)4 D)5

72.选出使变量i的运行结果为4的表达式(D )。 A) int i=0,j=0; B) int i=1,j=0; (i=3,(j++)+i) j=i=((i=3)*2); C) int i=0,j=1; D) int i=1,j=1; (j==1)?(i=1):(i=3); i+=j+=2;

73.已知:int x;则使用逗号运算的表达式“(x=4*5,x*5),x+25”的结果为( D),变量x的值为(A)。

(1)A)20 B)100 C)表达式不合法 D)45 (2)A)20 B)100 C)125 D)45 74.执行下面的语句后x的值为( D )。 int a=14,b=15,x; char c='A';

x=((a&&b)&&(c<'a'));

3

A)TRUE B)FLASE C)0 D)1

75.若定义了int x;则将x强制转化为双精度类型应该写成(C )。 A)(double)x B)x(double) C)double(x) D)(x)double

76.要判断char型变量m是否是数字字符,可以使用下列表达式( B )。 A)0<=m&&m<=9 B)'0'<=m&&m<='9'

C)“0”<=m&&m<=“9” D)前3个答案都是错误的 77.以下可用作用户标识符的是:( D)

A) 12_a B) signed C) t-o D) _if 78.以下不是关键字的标识符是:( C)

A) continue B) char C) If D) default 79.C语言提供的合法的关键字是:( CD)

A) swicth B) cher C) case D) void 87.若变量已正确定义,以下不合法的赋值表达式是(B ) A) a=1/b=2 B) ++(a+b) C) a=a/(b=5) D) y=int(a)+b

88.若变量已正确定义,以下非法的表达式是( B ) A) a/=b+c B) a%(4.0) C) a=1/2*(x=y=20,x*3) D) a=b=c

89.设x为int类型,其值为11,则表达式(x++*1/3)的值是:A A) 3 B) 4 C) 11 D) 12 90. 设a,b均为double型,且a=5.5;b=2.5;则表达式 (int)a+b/b的值是( D)

A) 6.500000 B) 6 C) 5.500000 D) 6.000000

191.若a,b,c均被定义成整型并已赋大于1的值,能正确表示代数式a?b?c的C语言表达式

是( B)

A) 1/(float)a*b*c B) 1/(a*b*c) C) 1.0/a/b/c D) 1/a/b/(float)c

x92. 以下变量x,y,z均为double型且已正确赋值,不能正确表示代数式y?z的C语言表

达式是(A )

A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z 94. 若t已定义为double型,则表达式:t=1,t++,t+5的值为( B) A) 7 B) 7.0 C) 2.0 D) 1.0

95.下面四个选项中,均是不合法的用户标识符的选项的是:(C )

A. A p_o do B. float lao _A C. b-a goto int D._123 temp INT

二、填空题

1.符号常量的定义方法是 #define 符号常量名 符号常量的值 。 2、双精度实数的表示范围是__10-308~10+308_________,其有效位数是_15~16位_______。 3、关系表达式的运算结果是_0或1_______。

4、逻辑运算符!是___非_____运算符,其结合性是由__自右向左____。 5、表达式的运算对象可以是常量、变量和___函数_____。

4

6、已知char c;表达式(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)&&c<=98的值为1,则变量c的值是_大于等于48小于等于98____________。 7、已知:a=15,b=240;则表达式(a&&b)&&b||b的结果为_1_____。

9、在内存中存储“A”要占用 2 个字节,存储‘A’要占用 1 个字节。 10、设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)

的值为____28__。

11、已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是8___,

变量x的值是_2__,变量y的值是3____

12、定义变量的完整语句格式是 数据类型 变量名,变量名; 。 14、已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的

值是__111___,变量y的值是_____。

15、C语言中运算结果可以当成逻辑值使用的表达式有: 算术 表达式、 关系

表达式、 赋值 表达式、 条件 表达式、 逗号 表达式和 单目运算符号 表达式。 16、若已有定义语句:int k=3,j=4;,运行表达式(k+=j,j/=4.0,++j,j+2)后,表达式的值是_4____,

变量k的值是__7___,变量j的值是_2____。

18、若有定义:int e=1,f=4,g=2;float m=10.5,n=4.0,k;则计算赋值表达式 k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是 13.7 。

19、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为 0 。 22、已有定义:float f=13.8;,则表达式:(int)f%3的值是1______. 23、已有定义:int x=3;, 则表达式:x=x+1.78的值是_4_____.

24、已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.0000000__. 25、已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是3_____.

5

本文来源:https://www.bwwdw.com/article/5jfo.html

Top