综合习题
一、单选题
1、以下选项中不能用做用户自定义标识符的是(  )。
A. length_          B. _length          C. length.d            D. For
2、以下选项中能用做用户自定义标识符的是(  )。
A. void              B. if-else          C. Name                D. a+bc
3、下列字符串中,正确的C++标识符是( )。
A. too-B       B. 2b              C. new         D. _256
4、以下选项中不能用做变量名的是(  )。
A. for            B. _length              C. length            D. Else
5、下列不正确的int型常数是( )。
A. 32450     B. 0              C. 0387              D. 0xA1L
6、以下选项中不合法的常量是( )。
A. ‘a’          B. 058            C. a\0b          D. 12L
7、下列的常量定义中,错误的是结构体sizeof  )。
A. const double dl;                    B. const char c=67;
C. const int i=250;                    D. const long ld=0x326;
8、整型变量ab的值分别为34,执行语句“aa && b++ ;”后,ab的值分别是( )。
A. 3  4                B. 1  5                C. 1  4                D. 0  5
9、设有变量说明: int a=3,b=4,c=5; 下列表达式中,值为0的表达式是( )。
A. ‘a’&&‘b’        B. a<=b        C. a | | b+c&&b–c        D. !(c<b | | a<b)
10、下列哪个表达式结果不是逻辑类型(只能取01)(  )。
A. x<=y?x&y:x|y                    B. a>b&&c
C. a>b||c<d                        D. ‘a’+’b’>’z’
11、设有变量说明:“short int a=0,b=0;”,则表达式sizeof('a'+'b')的值为(  )。
A. 1                    B. 2                    C. 4            D. 8
12、表示关系x<=y<=zC++语言表达式为( )。
A. (x<=y)&&(y<=z)                    B. (x<=y)AND(y<=z)
C. (x<=y<=z)                          D. (x<=y)&(y<=z)
13、以下双目运算符中要求两个操作数均为整型的运算符是(  )。
A||                    B&&                C/            D  %
14、设有定义int a;float f;double i;则表达式10+'a'+i*f值的数据类型是( )。
A. int                B. float            C. double          D. 不确定
15、以下if语句的表达不正确的是(  )。
A. if(a<b) a=0,else b=0;                B. if(a==b) a=0,b++;
C. if(a<b);                              D. if(a!=b) a=b;
16、若有以下语句,则输出结果为(    )。
  int a=2,b=1;
  cout<<a>b?a大于b:a小于b<<endl;
A. a大于b        B. a小于b          C. 1          D. 输出语句有错
17、以下程序段
  if(x--<10)  cout<<x++; cout<< --x;
    x=10,则输出结果是(  )。
A. 11          B. 10            C. 9            D. 8
18、下列关于语句 for(e1;e2;e3) s1;  描述中不正确的是(  )。
A. 存在"for(;;) s1;"的情况            B. 表达式e1e3可为空,但e2不能为空
C. 表达式e3的值可增可减              D. 循环体s1可以为空,但分号(;)必须有
19、执行语句序列:
  int i=0;
  while (i<25) i+=3;
  cout<<i;
  输出结果是( )。
A. 24        B. 25        C. 27         D. 28
20、设有语句“for(int s=1,i=2;i<6;i++) s*=i/2;”,执行后s的值为( )。
A. 7                B. 4                C. 48                  D. 96
21、设有语句“forint s=1,i=2;i<=6;i++s*=i/2 ;”,执行完该语句后,s的值为( )。
A. 1                B. 12              C. 22            D.24
22、下列do-while循环的循环次数为(  )。
int i=5;
do{cout<<i--<<endl;
    i--;
    } while(i!=0);
A. 0              B. 1            C. 5              D. 无限
23、设有语句for(int s=0,i=0;!s&&i<=5;i++) ;  循环执行的次数为( )。
A. 6                    B. 5                  C. 0                  D. 无数次
24、设有语句for(int s=0,i=1; i<=5; s+=i) ; i++ ; 循环执行的次数为( )。
A. 6            B. 5                C. 0                D. 无数次
25、下列关于whiledo while循环语句的叙述中正确的是(  ) 
A. dowhile 的循环体至少执行一次     
B. while的循环体至少执行一次
C. dowhile的循环体不能是复合语句     
D. dowhile 允许从循环体外跳转到循环体内
26break语句只能用在( )。
A. 开关语句中                    B. 函数体中允许语句出现的任一位置
C. 循环语句中                    D. 开关语句或循环语句中
27、对于switch(t),表达式t不能是(  )表达式。
A. 枚举型      B. 字符型        C. 整型        D. 浮点型
28、下列叙述正确的是( )。
A. 一个include可以用于包含一个或多个文件
B. 编译预处理命令必须以#开始
C. 使用include包含的文件一定要以.h为后缀
D. 程序执行时,宏展开只作替换,而不含计算过程
29、设有函数原型说明:“void test(int a,int b=2,char *c="@");”,下面的函数调用存在语法错误的是(  )。
A. test(3)            B. test(3,8.2)      C. test(6,"*")    D. test(0,0,"*")
30考虑函数原型int f(char a,char *b=NULL,double c=0.0); 下面函数调用中,属于不合法调用的是(  )。
A. f(‘A’,4.5);                      B. f(99);       
C. f(‘A’,"123");                    D. f((char)65,"123");
31在以下的函数原型说明语句中,存在语法错误的是( )。
A. void f1(int a , int );              B. void f2(int , int );       
C. void f3(int , int =5);              D. int f4( int x ; int y );
32、下列关于C++函数的叙述中,正确的是( )。
A. 每个函数至少要具有一个参数      B. 每个函数都必须返回一个值
C. 函数在被调用之前必须先声明      D. 函数不能自己调用自己
33、以下叙述中,不正确的是(  )。
A.一个函数中可以有多个return语句    B.一个函数中可以没有return语句
C.一个return语句可返回多个值        D.一个return语句可不返回值
34下列函数定义中,存在语法错误的是(  )。
Avoid f5( );  f6( ){f5( ); cout<<200;}  void f5( ){cout<<100;}
Bvoid f3( ){cout<<100;}  void f4( ){cout<<200; }
Cvoid f7(int a) { if(a)  f7(--a);cout<<a<<"  "; }
Dvoid f1( ){cout<<100;  void f2( ){cout<<200;}}
35、关于下列叙述正确的是( )。
  void f(int a){}     //1
  int f(int a,int b){}      //2
  int f(int b){}          //3
A. 13是重载函数                    B. 都是重载函数             
C. 12是重载函数               D. 都不是重载函数
36下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( )合适。   

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