说明:为方便大家复习,在此把课程网站的自测题整理成了文档,并且对部分有错误的题目做了改正,虽然有答案,对不清楚的题目一定弄懂相关知识点!有解决不了的问题主动来问我!
1次测试(1~2)
1.如果 a=1,b=2,c=3,d=4, 则条件表达式 a<b?a:c<d?c:d 的值为__D__。
  A.2    B.3    C.4    D.1   
  解答:条件运算符的结合方向为“自右向左” a<b?a:c<d?c:d相当于a<b?a:(c<d?c:d)
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当做整个表达式的结果,但这个结果并不赋给 aswitch case判断字符串,因为没有赋值给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____。
A.0xafb    B.0583    C.11010B    D.x2b2
B项表示八进制,但出现了8,为不合法的数
2次测试(3)
1.若int  i=10; 执行下列程序后,变量i的正确结果是___D___。
  switch ( i ) {case 9: i++;
  case 10: i++;
  case 11: i++; break;
  default: i++; }
  A.11      B. 10    C.13      D.12
2. 有语句定义:int  x,y;则以下程序段中内循环体的执行次数是__D____。
  for (i=5; i; i--)
      for (j=0;j<4;j++) {…循环体….}
  A. 25      B.24    C. 30      D.20 
3. 下列程序段执行后,变量w的值为___D___。
  int x=0,y=10,z=20,w=100;
  if(x)  w=x;
  else  if(y)  w=y;
  else  if(z) w=z;
  A.0    B.20  C.100    D.10
4. 以下关于switch语句和break语句的描述中正确的是 __C____。
  A. 在switch语句中必须使用break语句      B. break语句只能用于循环语句中
  C. 在switch语句中可以不使用break语句    D. break语句只能用于switch语句体中
5. C++ 语言中 while 和 do-while 循环的主要区别是__A____。
  A. do-while的循环至少无条件执行一次,而while的循环体可能一次也不执行
  B. while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内       
D. do-while的循环不能是复合语句 
6. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和___A___等价。
  A. k=a<=b;      B. k=a<b?0:1;      C. k=a>b;      D.k=(a>b)?1:0;
7. 以下 for 循环是__B____。
    for(x=0,y=0;(y!=123)&&(x<4);x++)  y+=x;
  A.循环次数不定    B.执行4次  C.无限循环    D.执行3次
8. 下列错误的语句是 ___C___。
  A.if(1) cout<<a;            B. if(a) cout<<a;    C. if(a); a++; else a--;    D. if(a>b) cout<<a;
9. 设所有的变量均为整型,下列循环执行结束后,变量m的值为___B___。
  for (i=’a’;i<=’e’;i++)
  { 
m=1;
    for (j=5;j>=0;j--)
          m+=(i-100)*j; 
  }
  A.0      B.16        C.1      D.15

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。