C++网上自测题(全)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

说明:为方便大家复习,在此把课程网站的自测题整理成了文档,并且对部分有错误的题目做了改正,虽然有答案,对不清楚的题目一定弄懂相关知识点!有解决不了的问题主动来问我!

第1次测试(1~2章)

1.如果a=1,b=2,c=3,d=4, 则条件表达式a

A.2

B.3

C.4

D.1

解答:条件运算符的结合方向为“自右向左” a

2. 设int x=-1;执行表达式++x||++x ||++x后,x的值是__A__。

A.1

B.2

C.3

D.0

解答:由于第一次++x 结果是0 所以再判断中间的那个++x 结果为1 ,“或(||)”运算结果为true,最后的那个++x 就不执行了。

3. 假设下面所有的变量均已定义为double型,下列赋值表达式不正确的是 B 。

A.x=-x

B.x=3.5%2

C. z*=2.8/4

D.x=y=z

解答:% 取余运算,只能是整数运算

4. 设char ch; 以下不正确的赋值语句是_ D____。

A.ch=68;

B.ch=’ \123’;

C.ch=’ \xef’;

D.ch=“\\”;

解答:“”双引号括起来的表示:字符串

5. 下列哪一个是合法的实型字面常量 C 。

A.8E3.1

B.E5

C.234.

D.234

6. 下列不正确的转义字符是__B___。

A.’\’

B.’81’

C.’\0’

D.’\\’

7. 设有语句int a=3;则执行了语句a+=a- =a*a;后,变量a 的值是 B 。

A. 9

B.-12

C.3

D.0

等价a += (a -= (a*a)) 自右向左算a*a = 9 , a = 3不变a-= 9, a = a-9, a=-6 a+=-6, a = a+(-6), a=-12

8. 设m,n,a,b,c,d均为0,执行(m=a= =b)||(n=c= =d)后,m、n的值是 A 。

A.1,0

B.1,1

C.0,0

D.0,1

“==”为比较运算因为a,b都为0,此时比较的结果返回值为1.m = a == b;既返回的值赋值给的了m,m 的值就为1了。

“||”运行左右操作数的“或”运算,既判断(m = a == b)、(n =c == d),两个操作的结果中是否有一,按照c的运算规则,如果“||”前一个运算的值为1,那么就不进行后一步的运算。那么n =c == d;就不会被执行,所以结果是m = 1,n = 0,不是两个数都为0。

9. 逗号表达式(a=4*5,a*2),a+15的值是_C___。

A.40

B.20

C.35

D.55

逗号表达式,按顺序一个一个执行,然后把最后一个语句,当做整个逗号表达式的最后结果,先执行a=4*5=20,然后执行a*20=40当做整个表达式的结果,但这个结果并不赋给a,因为没有赋值给a,所以a还是20,最后求a+15的值,=35

10. 下列变量定义及初始化中,错误的是__A____。

A.double a=1.2e0.5

B.long a=2L

C.char a=’\72’

D.int a=0xFF

11. 若执行语句:int b,a = 12, n = 5; 表达式a % = ( b=2 , n %=b ) + 4结果是 B 。

运算过程如下:先计算b=2,n%=b。前半部分先给b赋值为2,后一部分等价于n=n%b,此时b=2则运算后n=1,括号中的式子叫做“逗号表达式”,逗号表达式的值等于逗号后的值(规定)。因此括号的值为1,再看外面的整体则等价于a=a%(1+4),则a=12%5=2。最后结果为2

A.16

B.2

C.4

D.1

12. 以下运算符中优先级最低的是__B __。

A.关系运算符

B.赋值运算符

C.算术运算符

D.逻辑运算符

13. C++源程序文件扩展名的 C 。

A.obj

B.c

C.cpp

D.exe

14. 下列ASCII码值最小的字符是__D___。

A.’6’

B.’b’

C.’A’

D.’\n’

15. 在C++语言中,设short int型占两个字节,下列不正确的short int型常数为__B____。

A.-32768

B.32768

C.032770

D.0xfa

short int 的取值范围为:-32768~32767,032770是八进制数,它的十进制为13816,0xfa是十六进制数,它的十进制为250。

16. 为表示关系x大于等于y,y大于等于z,正确的C++语言表达式是 C 。

A.x>=y>=z

B.(x>=y) AND (y>=z)

C.x>=y&&y>=z

D. (x>=y)&(y>=z)

17. 关系运算符对两侧的运算对象的要求是 B 。

A.只能是0或非0值

B.可以是任意合法的表达式,两者类型不一定相同

C.只能是0或1

D.两个运算对象必须属于同一种数据类型

18. 下列哪一个不是面向对象方法的特征 B 。

A.继承性

B.开放性

C.封装性

D.多态性

19. 在C ++语言中int, long, unsigned 和char这四种类型数据的转换规律是__B___。

A.char->int->long->unsigned

B. char->int-> unsigned->long

C. int->unsigned->long->char

D. char-> unsigned->long->int

在C中,数据之间的运算必须是同类型的才能进行运算。如果类型不一致,就必须先转换成相同的类型,由低级别→ 高级别转换。本题中,数据类型级别由低到高分别为:char→int→unsigned→long。转换时由低级别向高级别转换。比如,有两个数的数据类型分别为:char型跟long型。就要先char 转换为long型(因为long级别比char高),再进行运算。但是不能理解为:先将char转换成int,再转换成unsigned,再转换成long。

20. 以下选项中可作为C++语言合法整数的是__A____。

相关文档
最新文档