C++试题及答案
一、选择题
1.一个最简单的C++程序,可以只有一个(  c  )
(a) 库函数            (b) 自定义函数            (c) main函数        (d) 空函数
2.C++语言编制的源程序要变为目标程序必须要经过(  d  )
(a) 解释            (b) 汇编                (c) 编辑            (d) 编译
3. C++程序中的简单语句必须以(  b  )结束。
(a) 冒号            (b) 分号                (c) 空格            (d)花括号
4.有说明 int a=0; double x=5.16; 以下语句中,(  c  )属于编译错误。
(a) x=a/x;        (b) x=x/a;        (c) a=a%x;        (d) x=x*a;
5. 执行C++程序时出现的“溢出”错误属于(  c  )错误。
(a) 编译          (b) 连接          (c) 运行          (d) 逻辑
6.下列选项中,全部都是C++关键字的选项为(  c  )
(a)  while  IF  Static            (b) break  char  go
(c)  sizeof  case  extern            (d) switch  float  integer
7. C++标识符的语法规定,合法的标识符是(  a  )
(a) _abc            (b) new            (c)  π            (d) age
8C++语句中,两个标识符之间(  a  )不能作为C++的分隔符。
(a) 数字            (b) ;            (c) :            (d) +
9.下列正确的八进制整型常量表示是(  b  )
(a) 0a0                (b) 015            (c) 080            (d) 0x10
10.下列错误的十六进制整型常量表示是(  c  )
(a) 0x11            (b) 0xaf            (c) 0xg            (d) 0x1f
11 在下列选项中,全部都合法的浮点型数据的选项为(  b  )
(a) -1e3.5    15.    2e-4                (b) 12.34    -1e+5    0.1E-12
(c) 0.2e-2    -12345.    e-5            (d) 5.0e(1+4)    0.1    8e+2
12.下列正确的字符常量为(  d  )
(a) a            (b) name            (c) a        (d) \101
13.下列选项中,(  d  )不能交换变量ab的值。
(a) t=b;  b=a;  a=t;        (b) a=a+b;  b=a-b;  a=a–b;
(c) t=a;  a=b;  b=t;        (d) a=b;  b=a;
14.关于下列语句叙述错误的是(  a  )
int i=10 *p=&i;
(a) p的值为10                (b) p指向整型变量i
(c) *p表示变量i的值            (d) p的值是变量i的地址
15.有以下变量说明,下面不正确的赋值语句是(  b  )
int a=5, b=10, c; int *p1 = &a, *p2 = &b;
(a) *p2 = b ;                    (b) p1 = a ;
(c) p2 = p1 ;                    (d) c = *p1 *( *p2 ) ;
16.有以下变量说明,下面正确的语句是(  b  ) 
int a=10, b;  int &pa=a, &pb=b;
  (a) &pb = a;        (b) pb = pa;        (c) pb = &pa;        (d) *pb = *pa;
17.执行下面语句序列后,ab的值分别为(  b  )
int a = 5 , b = 3 , t ;
int &ra = a ;
int &rb = b ;
t = ra ; ra = rb ; rb = t ;
(a) 33            (b) 35            (c) 53            (d) 55
18. 在下列运算符中,(  d  )优先级最高。
(a) <=            (b) *=            (c) +            (d) *
19.在下列运算符中,(  d  )优先级最低。
(a) !              (b) &&            (c) !=            (d) ? :
20.设 int i=1, j=2; 则表达式 i+++j 的值为(  c  )
(a) 1            (b) 2            (c) 3            (d) 4
21.设 int i=1, j=2; 则表达式 ++i+j 的值为(  d  )
(a) 1            (b) 2            (c) 3            (d) 4
22.在下列表达式选项中,(  c  )是正确。
(a) ++(a++)        (b) a++b            (c) a+++b        (d) a++++b
23.已知 int i=0, j=1, k=2; 则逻辑表达式 ++i||--j&&++k 的值为(  b  )
(a) 0            (b) 1            (c) 2            (d) 3
24. 执行下列语句后,x的值是(  d  )y的值是(  c  )
      int x, y ;
      x = y = 1;  ++ x || ++ y ;
(a) 不确定        (b) 0            (c) 1            (d) 2
25.x为整型变量,不能正确表达数学关系 1x5 C++逻辑表达式是(  a  )
(a) 1< x <5                    (b) x==2||x==3||x==4
(c) 1<x && x<5                    (d) !(x<=1)&&!(x>=5)
26. 已知 int x=5; 执行下列语句后,x的值为(  c  )
x += x -= x * x;
(a) 25            (b) 40            (c) –40            (d) 20
27. int a=1, b=2, c=3, d=4; 则以下条件表达式的值为(  a  )
a < b ? a : c < d ? c : d
(a) 1            (b) 2            (c) 3            (d) 4
28. 以下逗号表达式的值为(  d  )
( x = 4 * 5, x * 5 ), x + 25
(a) 25            (b) 20            (c) 100            (d) 45
29.已知 int i=0, x=1, y=0 ; 在下列选项使i的值变成1的语句是(  c  )
(a)  if( x&&y ) i++ ;        (b)  if( x==y ) i++ ;
(c)  if( x||y ) i++ ;        (d)  if( !x ) i++ ;
30.设有函数关系为y=  ,下面选项中能正确表示上述关系为( c )。
(a)  y = 1 ;                        (b) y = -1 ;
if( x >= 0 )                        if( x != 0 )
if( x == 0 ) y = 0 ;                if( x > 0 ) y = 1 ;
else  y = -1;                        else y = 0;
(c) if( x <= 0 )                    (d) y = -1 ;
      if( x < 0 ) y = -1 ;              if( x <= 0 )
        else  y = 0 ;                      if( x < 0 ) y = -1 ;
    else  y = 1 ;                            else y = 1 ;
31.假设i=2,执行下列语句后i的值为()。
switch( i )
{ case 1 : i ++ ;
  case 2 : i -- ;
  case 3 : ++ i ; break ;
  case 4 : -- i ;
  default : i ++ ;
}
(a) 1            (b) 2            (c) 3            (d) 4
32.已知int i=0x=0; 下面while语句执行时循环次数为()。
while( !x && i< 3 ) { x++ ; i++ ; }
(a) 4            (b) 3            (c) 2            (d) 1
33.已知int i=3;下面do_while 语句执行时循环次数为()。
do{ i--; cout<<i<<endl;}while i!= 1 ;
(a) 1            (b) 2            (c) 3            (d) 无限
34.下面for语句执行时循环次数为()。
        int i;
for ( i=0j=5;i=j; )
指向类成员函数的指针      { cout << i << j << endl;
i++; j--;
}
(a) 0            (b) 5            (c) 10            (d) 无限
35.以下死循环的程序段是()。
(a) int x; for( int x=0 ; x<3 ; ) { x++ ; } ;
(b) int k = 0; do { ++k ; } while( k>=0 ) ;
(c) int a=5 ; while( a ) { a-- ; } ;
(d) int i=3 ; for( ; i ; i -- ) ;
36.以下正确的函数原型为(  d  )
(a) f1( int x; int y );              (b) void f1( x, y );
(c) void f1( int x, y );              (d) void f1( int, int );
37.有函数原型 void fun2( int ); 下面选项中,不正确的调用是(  c  )
(a) int a = 21;  fun2( a );        (b) int a = 15;  fun2( a*3 );
(c) int b = 100; fun2( &b );        (d) fun2( 256 );
38.有函数原型 void fun3( int * ); 下面选项中,正确的调用是(  c  )
(a) double x = 2.17; fun3( &x );        (b) int a = 15 ;  fun3( a*3.14 );
(c) int b = 100;  fun3( &b );            (d) fun3( 256 );
39.有函数原型 void fun4( int & ); 下面选项中,正确的调用是(  c  )
(a) int a = 2.17; fun4( &a );        (b) int a = 15;  fun4( a*3.14 );
(c) int b = 100;  fun4( b );        (d) fun4( 256 ) ;
40.有声明

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