A. 2 B. 4 C. 8 D. 16
18. 已知:int a=5,b=6;,则下列表达式中,有二义性的是( ) A. a+b>>3 B. ++a+b++ C. b+(a=3) D. (a=3)-a++
19. 下列运算符中优先级最高的是( )
A. = B. && C. >= D. +
20. 下列运算符中优先级最低的是( )
A. % B. %= C. & D. >>
21. 表达式(-17)%5的值( )表达式(-17)%(-5)的值。
A. 大于 B. 等于 C. 小于 D. 不确定
22. 下列运算符中,结合性从左向右的是( )
A. -> B. >> C. != D. ~
23. 若int a=2,b=3;,则表达式a++ +b++的值为( ) A. 11 B. 9 C. 7 D. 5
24. 设有定义int a; float f; double i;,表达式10+.a.+i*f的结果类型是( ) A. int B. float C. double D. 不确定
25. sizeof(double)是一个( )
A. 整型表达式 B. 双精度表达式 C. 函数调用 D. 不合法
26. 下列关于类型转换的描述中错误的是( )
A.在不同类型操作数组成的表达式中,表达式类型一定是最高类型double型 B. 逗号表达式的类型是最后一个子表达式的类型 C. 赋值表达式的类型是左值的类型 D. 在由低向高的类型转换中是保值映射
27. 下列说法中正确的是( )
A. 隐含类型转换可能会损失数据精度 B. 显式类型转换可能会损失数据精度 C. 隐含类型转换一定会损失数据精度 D. 显式类型转换一定会损失数据精度
28. 在隐含类型转换中,long、int、double三种类型之间的转换顺序为( ) A. long->int->double B. long->double->int C. int->double->long D. int->long->double
29. 下列说法正确的是( )
A. 隐含类型转换可以从高类型转换为低类型 B. 显式类型转换不可以从低类型转换为高类型 C. 隐含类型转换可以在任何类型之间转换
D. 显式类型转换可以在任何类型之间转换
30. 设int n=10,i=4;,则表达式n%=i+1运算后n的值是( ) A. 0 B. 3 C. 2 D. 1
31. 下列运算符中,可以作用于浮点数的是( ) A. ++ B. % C. >> D. &
32. 下列各运算符中,不可以作用于浮点数的是( ) A. / B. && C. || D. ~
33. 下列运算符中,可以作用于浮点数的是( ) A. ++ B. % C. >> D. ^
34. 下列运算符中,结合性从左到右的是( )
A. ?: B. *= C. == D. ++
35. 若有下面的定义,则表达式:a
A. 1 B. 2 C. 3 D. 4
36. 设x为int型变量,则执行下列语句后,x的值为( ) x=10;
x+=x-=x-x;
A. 10 B. 20 C. 30 D. 40
37. 若有下面的定义,则对语句c=a+b;的下列说法中正确的是( ) int a=12;
float b=1.2f, c;
A. 变量a转换为float类型
B. 变量b转换为int类型,运算结果再转换为float类型
C. 变量a和b都转换为一中间类型,运算结果再转换为float类型 D. 以上都不对
38. 执行下列语句后,a的值是( )
int a = 8; a += a -= a*a;
A. -240 B. 64 C. 112 D. -112
39. 能正确表示“大于10且小于20的数”的C++表达式是( )
A. 10
40. 表示关系x≤y≤Z的C++语言表达式为( ) A. (x<=y)&&(y<=Z) B. (x<=y)AND(y<=Z) C. (x<=y<=Z) D. (x<=y)&(y<=Z)
41. 设x, y, z均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;
t=++x||++y&&++z;
A. 0 B. 1 C. 2 D. 不定值
42. 若有如下语句: int a,b,c; a=b=c=5; 则执行语句: b+=++a&&++c>b;
后a、b、c的值分别为( )
A. 6,7,6 B. 6,6,6 C. 6,6,5 D. 6,1,6
43. 在C++中,const修饰符主要用于代替C语言中的( )关键字进行常量定义。 A. #include B. static C. #define D. #ifdef
二、填空题
1. 在32位计算机中,若有double *p;,则p占用 4字节的内存空间。 2. 在C++中,用同一个数据类型定义多个变量时需要用逗号分隔。
3. 变量的三要素分别是(变量的)类型、(变量的)名字(或变量名)、(变量的)值。 4. 表达式(-9)%4的值为-1 ,表达式9%(-4)的值为1 ,表达式(-9)%(-4)的值为-1 5. 在C++中,’\\0’ 被用来作为字符串的结束符。 6. 空字符串的长度为1。
7. 在C++中,变量必须遵循先定义后使用的原则。 8. 在16位计算机中,int数据类型占用2个字节。
9. 数据类型转换分为自动类型转换(隐含类型转换)和强制类型转换(显式类型转换)两种。 10. 在32位机器中,若有:int a[10];则表达式sizeof(a)/sizeof(int)的值为10。 11. 在32位机器中,若有:int a[10];则表达式sizeof(a)的值为40。 12. 变量的类型既规定了占用内存字节数(大小) ,也规定了合法操作。 13. 没有初始化的变量其存储的值要么是默认值,要么是 机器(计算机)决定。
15. 条件表达式的类型由:号前后两个子表达式的高类型决定。 16.赋值表达式的类型由赋值运算符的左值的类型决定。 17. 逻辑运算符&&和||的特点是在计算时存在短路现象。 18. 若有定义: int a(4), b(2);
则表达式 a&&b||a++||(a-b*2) 运算完成后a的值为4 。
19. 设int型变量x的值为10,则表达式x>10?x+100:x-100的值是-90。
三、写程序运行结果
1. #include
float x; int i; x=12.6; i=(int)x;
cout<<\cout<<\}
x=12.6 y=12
2. #include
int i; char c1; i='A'; c1='A';
cout<
3. #include
cout<<\cout<<\}
abc\\\abc\\\\abc
4. #include