C语言数据类型和运算符及表达式复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型、运算符和表达式复习题.选择题
1. 以下不合法的用户标识符是: ( )
a) f2_G3 b) If c) 4d d) _8
2. 以下选项中合法的用户标识符是: ( )
a) long b) _2Test c) 3Dmax d) A.dat
3. 以下可用作用户标识符的是: ( )
a) 12_a b) signed c) t-o d) _if
4. 以下不是关键字的标识符是: ( )
a) continue b) char c) If d) default
5. C 语言提供的合法的关键字是: ( )
a) swicth b) cher c) Case d) void
6. 以下选项中不合法的int 整型常数是( )
a) 32768 b) -56 c) 03 d) 0xAF
7. 以下合法的长整型常量是( )
a) 2L b) 49627 c) d) 213&
8. 以下正确的实型常量是( )
a) 1.2E b) . c) 1.2e0.6 d) 8
9. 以下选项中合法的实型常数是( )
a) 5E2.0 b) E-3 c) .2E0 d) 1.3E
10. 以下合法的八进制数是( )
a) 0135 b) 068 c) 013.54 d) o7
11. 以下合法的十六进制数是( )
a) 0x b) 0x4de c) 0x1h d) ox77
12. 以下选项中非法的数值常量是( )
a) 019 b) 0L c) 0xff d) 1e1
13. 若变量已正确定
以下合法的赋值表达式是( )
义,
a) a=1/b=2 b) ++(a+b)
c) a=a/(b=5) d) y=int(a)+b
14. 若变量已正确定
以下非法的表达式是( )
义,
a) a/=b+c b) a%(4.0)
c) a=1/2*(x=y=20,x*3) d) a=b=c
15. 设x为int 类型,其值为11,则表达式( x++*1/3 )的值是:
a) 3 b) 4 c) 11 d) 12 16.设a,b 均为double 型,且
a=5.5;b=2.5; 则表达式
(int)a+b/b 的值是( )
a) 6. b) 6 c) 5. d) 6.
17.若a为int型,且其值为3,则执行完表达式:
a+=a-=a*a 后,a 的值是( )
a) -3 b) 9 c) -12 d) 6
18.设k 和x 均为int 型变量,且k=7 ;x=12;则能使值为 3 的表达式是( )
b) x%=(k-k%5) d) (x%=k)-(k%=5)
a) x%=(k%=5) c) x%=k-k%5
19. 若 a,b,c 均被定义成整型并已赋大于 1 的值,能正确表示代
数式 1 的 C 语言表达式是( )
abc
a) 1/(float)a*b*c b) 1/(a*b*c)
c)
1.0/a/b/c d) 1/a/b/(float)c 20. 以下
变量 x,y,z 均为 double 型且已正确赋值,不能正确表示 代数式 x 的 C 语言表达式是( ) yz
b) x*(1/(y*z)) d) x/y/z
ab
c d
的 C 语言表达式是( )
b) a*b/c/d d) a*b/(c*d)
22.若题中变量已正确定义并赋值,下
面符合 C 语法的表达式
是( )
a) a%=7.6 b) a++,a=7+b+c c) int(12.3)%4 d) a=c+d=a+7
23. 若 t 已定义为 double 型,则表达式: t=1,t++,t+5 的值为( ) a) 7
b) 7.0
c) 2.0 d) 1.0
24. 已有定义: int a,b; float x,y;, 以下正确的赋值语句是: ( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x; 25. 有以下程序:
main()
a) x/y*z c) x/y*1/z
21. 不能正确表示代数
式
a) a/(c*d)*b c) a*b/c*d
{ int y=1111;
printf( “y=%6d\n ”,y);
printf( “y=%+06d\n ”,y);
程序运行的结果是:
d) y= 1111
a) y= 1111 b) y= 1111 c) y=1111
y= y=+01111 y=+01111 y=1111
26. 有以下程序:
main()
{ int y=456;
printf( “*y=%7o*\n ”,y);
printf( “*y=%-
7o*\n ”,y);
printf( “*y=%07o*\
n ”,y);
}
程序运行的结果是: ()
a) *y= 710* b) *y= 456*
*y=710 * *y=456 *
*y=* *y=*
c) *y=710* d) *y=456*
*y=-710* *y=-456*
*y=0710* *y=0456*
27. 有以下程
序: