精心整理
一、选择题
1. C++语言属于(C)。
A)自然语言B)机器语言C)面向对象语言D)汇编语言 2. 下面选项中不属于面向对象程序设计特征的是(C)。
A)继承性B)多态性C)相似性D)封装性
3. 下列情况中,哪一种情况不会调用拷贝构造函数(B)
A)用派生类的对象去初始化基类对象时 B)将类的一个对象赋值给该类的另一个对象时 C)函数的形参是类的对象,调用函数进行形参和实参结合时 D)函数的返回值是类的对象,函数执行返回调用者时 4. 以下哪一关键字可用于重载函数的区分(C) A)extern B)static C)const D)virtual 5. 下列有关数组的叙述中,正确的是(B) A)C++中数组的存储方式为列优先存储 B)数组名可以作为实参赋值给指针类型的形参 C)数组下标索引从1开始,至数组长度n结束 D)数组指针的语法形式为:类型名*数组名[下标表达式]; 6. 下列有关继承和派生的叙述中,正确的是(C) A)派生类不能访问通过私有继承的基类的保护成员 B)多继承的虚基类不能够实例化 C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数 D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现 7. 若有下面的函数调用: fun(a+b,3,max(n-1,b)); 其中实参的个数是(A) A)3 B)4 C)5 D)6 8. 下列关于this指针的说法正确的是(B) A)this指针存在于每个函数之中 B)在类的非静态函数中this指针指向调用该函数的对象 C)this指针是指向虚函数表的指针 D)this指针是指向类的函数成员的指针 9. 在下列关于C++函数的叙述中,正确的是(C)
A)每个函数至少要有一个参数
B)每个函数都必须返回一个值
C)函数在被调用之前必须先声明 D)函数不能自己调用自己 10. 下列运算符中,不能重载的是(C)
A)&&
B)!=
C).
D)->
11. 下面程序的输出结果是(B)
精心整理
精心整理
#include
intfun(intn) {
staticinta=2; a++;
returna+n; }
voidmain() {
intk=5; { inti=2; k+=fun(i); } k+=fun(i); cout<
while(*p!='\\0')p++; return(p-s); }
voidmain(){
cout< 精心整理 精心整理 A.0B.1 C.2D.3 14. 有如下程序段: inti=1; while(1) { i++; if(i==10)break; if(i%2==0)cout<<’*’; } 执行这个程序段输出字符*的个数是(C) A.10B.3 C.4D.5 15. 下列关于虚基类的描述中,错误的是(C) A. 使用虚基类可以消除由多继承产生的二义性 B. 构造派生类对象时,虚基类的构造函数只被调用一次 C. 声明classB:virtualpublicA说明类B为虚基类 D. 建立派生类对象时,首先调用虚基类的构造函数 16. 有下类定义 ClassA{ Char*a; Public: A():a(0){} A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间 A=___________________; Strcpy(a,aa); ~A(){delete[]a;} }; 正确的选择是(A) A.newchar[strlen(aa)+1]B.char[strlen(aa)+1] C.char[strlen(aa)]D.newchar[sizeof(aa)-1] 17. 有如下程序: #include ~Test(){cout<<'#';} 精心整理