10.在参数传递过程中,对形参和实参的要求是()。
A.函数定义时,形参一直占用存储空间
B实参可以是常量、变量或表达式
C.形参可以是常量、变量或表达式
D.形参和实参类型和个数都可以不同
11对数组名作函数的参数,下面描述正确的是()。
A.数组名作函数的参数,调用时将实参数组复制给形参数组
B数组名作函数的参数,主调函数和被调函数共用一段存储单元
C.数组名作参数时,形参定义的数组长度不能省略
D.数组名作参数,不能改变主调函数中的数据
B.静态数据成员不可以在类体内进行初始化
C++语言程序设计
  一、选择题
 
  (2)C++语言的跳转语句中,对于breakcontinue说法正确的是()
  A)break语句只应用与循环体中 
  B)continue语句只应用与循环体中 
  C)break是无条件跳转语句,continue不是 
  D)breakcontinue的跳转范围不够明确,容易产生问题
  (7)下面描述中,表达错误的是()
  A)公有继承时基类中的public成员在派生类中仍是public的 
  B)公有继承是基类中的private成员在派生类中仍是private的 
  C)公有继承时基类中的protected成员在派生类中仍是protected的 
  D)私有继承时基类中的public成员在派生类中是private
  10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()
  A)fail B)eof C)bad D)good
一:选择题
  1-5 B B C C C
  6-10D B C A B
4下列表达方式正确的是     
Aclass P{                        B  class P{
public                                public
int x=15                          int x
          void  show(){cout<<x}              void show(){cout<<x}
          }                                  }
    C class P{                      D.  class P{
          int  f;                            public
            }                              int a
        f=25                                  void Seta (int x) {a=x;}
答案:D
分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。
(7)  若指针p定义为 const char *p="Luchy!"; [  ]
A)  p所指向的数据不可改变,p在定义时可以不初始化。
(10)  要使字符串变量str具有初值"Lucky",正确的定义语句是[  ]
A)  char str[]={'L','u','c','k','y'};  B)  char str[5]={'L','u','c','k','y'};
C)  char str []="Lucky";      D)  char str [5]="Lucky"; 只有这个是错的
(14)  要使语句p=new double[20];能够正常执行,变量p应定义为[  ]
A)  double p[20]; ——已分配空间              B)  double p;
C)  double (*p)[20];            D)  double *p;——未分配空间
(17)  语句ofstream f("SALARY.DAT",ios::noreplace | ios::binary); 的功能是建立流对象f,并试图打开文件SALARY.DAT并与之连接,而且[  ]
A)  指向类成员函数的指针若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。
B)  若文件存在,将其截为空文件;若文件不存在,打开失败。
C)  若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。
D)  若文件存在,打开失败;若文件不存在,建立一个新文件。
(20)  语句ofstream f("SALARY.DAT",ios::nocreate | ios::trunc); 的功能是建立流对象f,并试图打开文件SALARY.DAT并与之连接,而且[    ]
A)  若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。
B)  若文件存在,将其截为空文件;若文件不存在,打开失败。
C)  若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。
D)  若文件存在,打开失败;若文件不存在,建立一个新文件。
C++试题2
1.下列变量名中,(  )是合法的。
A.56A        B._abc        C.d-Ptr          D.while  第一个字符必须是字母或者下划线
4. 字符串”\t\v\\\0which\n”的长度是(  3)。
遇到‘\0’就停止了 另外,字符串方式赋值比用字符逐个赋值要多占一个字节放‘\0’,计算长度的时候不会把‘\0’算进去
10.在函数的引用调用时,实参和形参应该是使用(    )。
A.变量值和变量    B.地址值和指针C变量值和引用  D.地址值和引用
18. C++类体系中,能被派生类继承的有(  )。
A.构造函数      B虚函数      C.友元函数    D.析构函数
  C)break是无条件跳转语句,continue不是 
由于运算符++的优先级比+高,因此表达式a+++b等价于(a++)+b
在任何条件下,两个指针都不允许相加,因为地址相加后可能会对内存进行不合法的访问。
10 下列变量的引用中错误的是()
A)int a;int &p=a;                B)char a; char &p=a;
C)int a;int &p;p=a;              D)float a;float &p=a;
答案:C
引用必须在定义时进行初始化。
1)一个函数带有参数说明时,则参数的默认值应该在()中给出。
A)函数定义      B)函数声明      C)函数定义或声明    D)函数调用
答案:C
C++语言中,允许在涵数的说明或定义时给一个或多个参数指定默认值。注意不能在函数说明和函数定义时都指定默认参数值,默认参数值应该在函数名第一次出现时指定。
当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。
7 假定MyClass为一个类,则执行MyClass a[3],*p[2];语句时,自动调用该类构造函数()次。
A 2          B 3            C 4          D 5
答案:B
语句中指针数组不调用类的构造函数,因为指针数组本身不定义类对象,而是定义了数组元素可以指向一个MyClass的对象。
8 对于常成员函数,下面描述正确的是()
A 类的成员函数可以操作常对象
B 类的成员函数不能操作常对象
C 只有常成员函数可以操作常对象
D 在常成员函数中,常对象可以被更新
答案:C
const是函数类型的一个组成部分,因此常成员函数不能更新对象的数据成员,不能调用该类中没有用const修饰的成员函数,也只有常成员函数才可以操作常对象。
1、连接器所生成的文件的扩展名为( D
  A.cpp
  B.obj
  C.lib
    D.exe
5while(!x)中的(!x)与下面条件( D )等价。
  Ax==1
  Bx!=1
  Cx!=0
  Dx==0
11、通过( A )调用虚函数时,采用动态束定。
  A 对象指针
  B 对象名
  C 成员名限定
    D 派生类名
5、在类中声明转换函数时不能指定( A )( C
  A 参数
  B 访问权限
  C 返回类型
  D 操作
    E 标识符
9、下列虚基类的声明中正确的是( B )( D
  A class virtual B: public A
  B class B: virtual public A
  C class B: public A virtual
  D class B: public virtual A
  E virtual class B: public A
Tips:
(1) int x=0;  int* q=&++x是对的int* p=&(x++)是错的
(2) 运算符、逗号、&&、和||保证了位于它们左边的运算对象一定在右边运算对象之前求值
(3) int i=1;
v[i] = i++; // 结果无定义
(4) b = (a=2, a+1)  // b = 3
(5) if( i&mask ==0) // if( i& (mask==0) )
(6) if(0<=x<=99) // if( (0<=x) <= 99)
(7) y=x++等价于y=(t=x,x+=1,t),其中t是一个与x同类型的变量
(8) new创建的对象一直存在,直到使用delete运算符显式地销毁
(9) static_cast完成相关类型之间的转换,例如整型到枚举、浮点到整型等的转换
(10) reinterpret_cast处理互不相干类型之间的转换,例如从整型到指针等的转换

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