第3章 数据类型、运算符与表达式
习 题 答 案
一、 选择题
1. 以下表示正确常量的是( )。
(A) E-5 (B) 1E5.1 (C) 'a12'
(D) 32766L
【答案】D
2. 若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式 (x=a>b)&&(y=c>d) 的值为( (A)0
(B) 1
(C) 5
(D) 6
【答案】A
3. 以下( )是正确的字符常量。
(A)\ (B) '\\\\''
(C) 'W'
(D) \
【答案】C
4. 以下( )是不正确的字符串常量。
(A) 'abc' (B) \ (C) \
(D) \
【答案】A
5. 以下是正确的浮点数的是( )。
(A)e3 (B) .62
(C) 2e4.5 (D) 123
【答案】B
6. 若有定义:int a=2; 则正确的赋值表达式是( )。
(A)a-=(a*3) (B) double(-a) (C) a*3
(D) a*4=3
【答案】A
。 )
7. 若有定义:int x=1111,y=222,z=33;则语句printf(\+=+-\运行后的
输出结果为( )。 (A)111122233
(B)1111,222,33 (C)1111 222 33 (D)1111+222+33
【答案】D
8. 已有如下定义和输入语句:
int a,b;
scanf(\,%d\
若要求a、b的值分别为11和22,正确的数据输入是哪一个?( (A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22 【答案】B
9. 已有如下定义和输入语句,
int a; char c1,c2;
scanf(\
若要求a、c1、c2的值分别为40、A和A,正确的数据输入是( (A) 40AA (B) 40 A A (C) 40A A (D) 40,A,A 【答案】A
10. 语句a=(3/4)+3%2;运行后,a的值为( )。
(A) 0 (B) 1
(C) 2
(D) 3
【答案】B
11. char型变量存放的是( )。
(A) ASCII代码值
(B) 字符本身 (C) 十进制代码值 (D) 十六进制代码值
【答案】A
12. 在下列运算符中,优先级最高的运算符是( )。
) 。 )
(A) <= 【答案】C
(B) != (C) ! (D) ||
13. 设单精度型变量f、g的值均为2.0,使f为4.0的表达式是( )。
(A) f+=g 【答案】A
14. 若有定义:int i=7,j=8;则表达式 i>=j||i (A) 1 (B) 变量i的值 (C) 0 (D) 变量j的值 【答案】A 15. 若希望当a的值为奇数时,表达式的值为\真\,a的值为偶数时,表达式的值为\假\。则 不能满足要求的表达式是( )。 (A) a%2==1 【答案】C 16. 若有定义:int x=3,y=4,z=5;则值为0的表达式是( )。 (A) 'x'&&'y' 【答案】D 17. 若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为( )。 (A) 3.75 【答案】B 18. 已知char a='R'; 则正确的赋值表达式是( )。 (A) a=(a++)%4 【答案】A 19. 若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是( )。 (A) 2.5 【答案】C 20. 若已定义:int i=3,k; 则语句 k=(i--)+(i--); 运行后k的值为( )。 (B) 3.5 (C) 4.5 (D) 5.5 (B) a+2=3 (C) a+=256-- (D) a='\\078' (B) 3.5 (C) 3 (D) 4 (B) x<=y (C) x||y+z&&y-z (D) !((x (B) !(a%2==0) (C) !(a%2) (D) a%2 (B) f-=g+2 (C) f*=g-6 (D) f/=g*10 (A) 4 【答案】C (B) 5 (C) 6 (D) 7 21. 若已定义:int a=5;float b=63.72; 以下语句中能输出正确值的是( )。 (A) printf(\ (B) printf(\ (C) printf(\ (D) printf(\ 【答案】B 22. C语言中,能正确表示条件10 (A) 10 (B) x>10 || x<20 (C) x>10 && <20 (D) (x>10) && (x<20) 【答案】D 23. 若表达式!x的值为1,则以下哪个表达式的值为1( )。 (A) x==0 (B) x==1 (C) x=!1 (D) x!=0 【答案】A 24. 语句x=(y=3,b=++y);运行后,x、y、b的值依次为( )。 (A)4,4,3 (B)3,3,3 (C)4,4,4 (D)4,3,4 【答案】C 25. 若有定义:int x,c;则语句x=(c=3,c+1);运行后,x,c的值分别是((A)3,3 (B)4,4 (C)3,3 (D)4,3 【答案】D 26. 语句a=(6/8)+6%5;运行后,a的值为( )。 (A)1 (B)2 (C)1.75 (D)1.2 【答案】A 27. 若有定义:int x,y;则表达式(x=2,y=5,x*2,y++,x+y)的值是( (A)7 (B)8 (C)9 (D)10 【答案】B )。。 ) 28. 对代数式(4ad)/(bc),不正确的C语言表达式是( )。 . (A)a/b/c*d*4 (B)4*a*d/b/c (C)4*a*d/b*c (D)a*d/c/b*4 【答案】C 29. 若x和y为整数,以下表达式中不能正确表示数学关系|x-y|<10的是( )。 (A)abs(x-y)<10 (B)(x-y)>-10&&(x-y)<10 (D)(x-y)*(x-y)<100 (C)!(x-y)<-10||!(y-x)>10 【答案】C 30. 若有以下程序段,则z的二进制值是( )。 int x=3,y=6,z; z=x^y<<2; (A)00010100 (C)00011000 【答案】B (B)00011011 (D)00000110 二、 填空题 1. 表达式3/5的值是: ,5.0/7的值是 ,5%7的值是 。 【答案】0 0.7 5 2. 以下程序运行的结果是: 。 void main() } 【答案】b { char c; c=’B’+32; printf(“%c\\n”,c);