C++程序复习题
.选择题(每题2分,共40分)
1.C++规定,在一个源程序中,main()函数的位置(    )。
  A.必须在最开始      B.必须在最后
  C.以任意          D.必须在系统调用的库函数的后面
2.以下(    )是C/C++合法的标识符。
  A.char2    B.@x    C.int    D.7Bx
3.下面的程序,对于输入:2 9 15,输出的结果是(    )。
  #include <iostream>
  void main()
  {
      int a;
      float b;
      cout<<input a,b<<endl;
      cin>>a>>b;
      cout<<a+b=<<a+b<<endl;
}
      Aswitch语句必须使用break吗.2    B.11    C.26    D.24
4.下面关于编译预处理命令的说法中,正确的是(    )。
  A.一条文件包含命令能包含多个文件
  B.文件包含命令不可以嵌套使用
  C.编译预处理命令是在编译之前被处理的命令
  D.编译预处理命令中的“#”可以省略
5. 在以下关于C++语言的叙述中,正确的是(  )
A.if语句结构中必须有else语句
B.switch语句结构中必须有default语句
C.C++程序必须有return语句
DC++中使用流来执行标准的输入输出操作
6.下列不正确的变量定义方法是(  )。
  A.int a,&b=a;        B. float a,*b=&a;
  C.int a(4),b(0);    D. int a=b=5;
7.下列运算符优先级按由高到低的顺序排列正确的是(    )。
  A.*=. &&.!=.%        B.*=. %. &&. !=
C.%. != .&& .*=      D. &&. !=. %.=
8.已知xy为整型,z为实型,ch为字符型,下列表达式中合法的是( 
  A.z=(y+x)++      B.x+y=z    C.y=ch+x          D.y=z%x
9.若有变量定义int a=7;”,则下列语句组对应的输出结果是( 
  switch(a%5)
  { case 0: cout<<a++;
    case 1: cout<<++a;
    case 2: cout<<a--;
    case 3: cout<< --a;
    default:cout<<其它值;
}
A.其它值  B.5    C.7    D.75其它值
10.执行下列程序段后,变量K的值为(   
      for(k=0,m=1;m<4;m++)
{
  for(n=1;n<5;n++)
  if (m*n%3==0) continue;
      k++;
}
      A.1    B. 3     C.6    D.12
11.若输入字符串“ABC”,下面程序段的输出为( 
      char c;
      while (cin>>c,c!=’\n’)
        cout<<c+2;
      A.222    B. CDE    C.676869    D.333
12.以下不能对二维数组a初始化的语句是(   
    A.int a[2][]={{1},{2}};      B.int a[2][3]={1,2,3,4,5,6};
C.int a[2][3]={1};          D.int a[2][3]={{1},{2}};
13.已知有语句“int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}},*p=&a[0][0];”,则表达式
(*p+2)+*(p+2)的值应为(    )。   
  A.10    B.5    C.6    D.8
14.要比较两个字符数组ab中字符串是否相等,下面正确的是(    )。
      A.a==b          B. strcmp(a,b)==0    B.strcpy(a,b)      D.strcmp(a,b)=0
15.若函数的类型和return语句中的表达式类型不一致,则(   
    A.编译时出错     
B.运行时出现不确定结果
    C.不会出错,且返回值的类型以return语句中表达式的类型为准
    D.不会出错,且返回值的类型以函数类型为准。
16.下面函数说明正确的是(   
    A.void f1 (int a=3,int b,int c);
    B.void f2 (int a,int b=3,inc c);
    C.void f3int a,int b,int c=3;
    D.void f4int a,int b,int 3;
17.下面程序的输出结果是(   
    #include <iostream.h>
    int m=10;
    void f(int m,int &n)
    {
          m=m+2;n=n+2;
      }
    void main()
    {
        int n=5;
        f(m,n);
        cout<<m=<<m<<n=<<n<<endl;
      }
      A.m=10  n=5  B.m=10  n=7  C.m=12  n=7    D.m=12  n=5
18.以下函数中不属于类的成员函数的是(     
      A.构造函数    B.析构函数    C.友元函数    D.拷贝初始化构造函数
19.作用域运算符的功能是(   
A.标识作用域的级别的        B.指出作用域的范围的
C.给定作用域的大小的      D.标识某个成员是属于哪个类的
20.假设person是一个类,p1是该类的一个对象,p2是指向p1的指针,getname是该类的一个成员函数,则以下表达式不正确的是(   
      A.person.getname()          B.p1.getname()   
C.p1.person::getname()      D.p2->getname()
21.C++源程序文件的扩展名为( 
    A..CPP     B..C      C..DLL      D..EXE
22.以下(    )是C++合法的表达式
  A. a=1,a++    B. (x+y)++      C. a+b=c      D. 12.25%10
23.以下程序的输出结果是:( 
#include <iostream.h>
      int  fun(char *s){
      char *p=s;
      while (*p!='\0')  p++;
      return (p-s);
      }
    void main(){
        cout<<fun("abc")<<endl;
      }
    A.0          B.1          C.2        D.3
24.下面叙述中正确的是(   
A.for循环只能用于循环次数已经确定的情况
B.for循环同do-while语句一样,先执行循环体再判断
C.不管哪种形式的循环语句,都可以从循环体内转到循环体外
D.for循环体内不可以出现while语句
25.使用(    )可以设置数据输出的宽度。
  A.setbase(int n)    B.setw(int n) 
  C.setfill(int n)    D.setprecision(int n)
26.int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是(   )
  A.3        B. 2      C.6          D.4
27.下面正确定义数组的语句是( 
  Aint x[][2]={2,1,3,2}     B.  int x[][]={2,1,3,2}
C. int x[2][]={2,1,3,2}    D.  int x[2,2]={2,1,3,2}
28.已知 char c; const char *pc=asdf";(  )是正确的。
A.pc=dfgh    B.*pc=b’  C.*pc++=‘y’  D.pc=&c
29.若有变量定义int a=7;”,则下列语句组对应的输出结果是( 
  switch(a%5)
  { case 0: cout<<a++;
    case 1: cout<<++a;
    case 2: cout<<a--;
    case 3: cout<< --a;break;
    default:cout<<其它值;
}
A.5  B. C.75     D.75其它值
30.以下程序段的输出结果是(   
      for(i=4;i<=10;i++)
      {
          if(i%3==0) continue;
          cout<<i;}
      A.45    B. 457810    C.69    D.678910
31.执行下列语句后的输出结果是( )。
int hot=10;
int &rad=hot;
hot+=10;
cout<<rad<<endl;
       A.0       B.20        C.10        D.30

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