
3.8 习题
一、填空题
1. 10001101&01011101的运算结果为____。
2. 10101001|11001001的运算结果为____。
3. a=a*b使用扩展运算符的写法为____。
4. 在C语言中,获取值的方法包括两种,分别为____和____。
5. 表达式包含了____与____两部分。
6. 字符类型数据的运算的本质就是字符对应的____值的运算。
7. 加法运算符“+”属于____目运算符,拥有____个操作数。
8. “++”和“-”属于____目运算符。
9. C语言规定在表达式中如果出现数据类型不同时,都必须转换为____类型后才能进行运算。
10. 在算术运算中,____与-的优先级是最高的。
11. 将使用数值比较运算符构建的表达式称为____表达式。
12. 在位运算符中,除了____是右结合的外,其他的都是左结合的。
二、选择题
1. 下面程序的运行结果是( )。

A. 33
B. 32
C. 0
D. 34
2. 下面可以强制转换的表达式是( )。
A. float 3.5
B. int (8+6.5)
C. 8.6 int
D. (double)(7)
3. 下面程序的运行结果是( )。

A. -1.666667
B. 1.666667
C. 1.6
D. -1.6
4. 表达式3*5-6%4+5的值为( )。
A. 55
B. 11
C. 18
D. 37
5. ~00001111的运算结果为( )。
A. 11110000
B. 10101010
C. 01010101
D. 00000000
6. 10111^10101的运算结果为( )。
A. 11110
B. 10100
C. 01010
D. 00010
7. 下面程序的运行结果是( )。

A. 2
B. -2
C. 1
D. -4
8. 10111>>2的运算结果为( )。
A. 11110
B. 10100
C. 00101
D. 00010
9. 3|2&4<<2的运算结果为( )。
A. 0
B. 1
C. 2
D. 3
10. 8>10&&9<10的结果为( )。
A. 0
B. 1
C. 2
D. 3
11. 下面程序的运行结果是( )。

A. 3,0
B. 3,2
C. 3,3
D. 1,0
12. 8=10||12<10的运算结果为( )。
A. 1
B. 2
C. 3
D. 0
13. !(12<10)的运算结果为( )。
A. 1
B. 2
C. 3
D. 0
14. 下面程序的运行结果是( )。

A. 3,6
B. 3,7
C. 2,6
D. 2,7
15. 在C语言中,关系表达式和逻辑表达式的值是( )。
A. 0
B. 0或1
C. 1
D. T或F
16. 下面程序的运行结果是( )。

A. 6,5
B. 6,7
C. 5,7
D. 6,6
17. 下面表达式的值为4的是( )。
A. (int)(11.0/3+0.5)
B. 11.0/3
C. (float)11/3
D. 11/3
18. 下面右操作数不可以为0的运算符是( )。
A. +
B. -
C. *
D. /
19. 设整型变量a=2,则执行下列语句后,float类型变量b的值不为0.5的是( )。
A. b=1/(float)a
B. b=(float)(1/a)
C. b=1/(a*1.0)
D. b=1.0/a
20. 若有int x=3,而执行y = x++ * 4后的结果是( )。
A. x为3,y为12
B. x为3,y为16
C. x为4,y为12
D. x为4,y为16
21. 若有int i=6,j=5;则下面表达式的值不是float类型的是( )。
A. i*j/10.0
B. i*j/10
C. i*j+10.0
D. i*j*10.0
22. 下面程序的运行结果是( )。

A. 63
B. 64
C. 65
D. 66
23. 下面程序的运行结果是( )。

A. 6,5,6
B. 5,5,5
C. 7,5,5
D. 5,8,8
24. 如果变量x为long int类型,并已被正确赋值,下面表达式中能将x的百位上的数字提取出的是( )。
A. x/10%100
B. x%10/100
C. x%100/10
D. x/100%10
25. 在C语言中,以( )作为字符串结束标志。
A. \n
B. ' '
C. 0
D. \0
26. 下面两个操作数必须是整数的运算符是( )。
A. +
B. -
C. %
D. /
27. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是( )。
A. 1
B. 4
C. 4.333333
D. 4.6
28. 在C语言中,表达式5%2的运算结果是( )。
A. 2.5
B. 4
C. 4.333333
D. 4.6
29. 如果“int a=3,b=4;”,则条件表达式“a<b? a:b”的值是( )。
A. 3
B. 4
C. 0
D. 1
三、找错题
1. 在下面程序中,有一处错误,请指出。

2. 在下面程序中,有一处错误,请指出。

3. 在下面程序中,有一处错误,请指出。

四、编写题
1. 在下面横线上填写适当的代码,以实现通过用户输入的方式为变量a指定值。

2. 编写程序:将1100瓶饮料,每12瓶饮料一组进行打包,计算最终会有几瓶饮料无法打包。
3. 使用条件运算符实现比较字符B和d的大小,并输出较小的字符。