C++复习题.doc
文本预览下载声明
一、选择题
1、虚函数必须是类的 A 。
A 成员函数 B 友元函数 C 静态函数 D 析构函数
2、下列关于虚函数的表述中正确的是 B 。
A 只有用virtual修饰的成员函数才是虚函数。
B 派生类中覆盖虚的重定义函数仍然是虚函数。
C 对虚函数的调用都是动态绑定的。
D 使用虚函数主要是为了提高运行效率。
3、下列关于抽象类的表述中正确的是 C 。
A 没有函数成员的类称为抽象类。
B 含有虚函数成员的类称为抽象类。
C 含有纯虚函数成员的类称为抽象类。
D 用abstract修饰的类称为抽象类。
4、若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是哪一种 D 。
A extern B register C auto D static
5、关于静态数据成员的特性,下列哪一个说法是错误的 A 。
A 静态数据成员不是所有对象所共有的。
B 静态数据成员在类体外进行初始化。
C 声明静态数据成员时要在变量名前加关键字static来修饰。
D 引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符。
6、下列关于常成员的说法不正确的是哪一个 B 。
A 常数据成员必须进行初始化,并且不能被更新。
B 常数据成员可以在定义时直接初始化。
C 常成员函数可以被非常对象调用。
D 常数据成员通过构造函数的成员初始化列表进行初始化。
7、对于const关键字修饰对象的说法,下列哪一个说法是正确的 C 。
A 不能用一般的成员函数来访问
B 可以用一般的成员函数来访问
C 可以访问const成员函数
D 不能访问const成员函数
8、在任何继承方式下,派生类的自有成员函数都能够访问原基类的某些成员,这些成员的原访问属性必然是 A 。
A 公有或保护 B 私有或继承的私有
C 保护或私有 继承的私有或公有
9、基类中的某些成员在派生类中的访问属性与派生方式无关,这些成员必然是原基类中的 B 。
A 公有成员 B 私有成员 C 保护成员 D 继承的私有成员
10、以下关于预处理的说法,错误的是 B 。
A 预处理在编译前进行
B 预处理指令需要分号结尾
C 每条预处理指令必须单独占用一行
D 预处理指令可以出现在程序的任何位置
11、假设名字空间A中有函数void f(),且名字空间A被嵌套在名字空间B中,则以下哪一项实现了对函数f()的访问 D 。
A A.B.f(); B B.A.f(); C A::B::f(); D B::A::f();
12、以下哪一项不在标准C++库中 A 。
A 微软基础类(MFC) B 容器类与抽象容器类(ADT)
C 存储管理类 D 错误管理
13、关于运算符重载,下列表述正确的是 C 。
A 可以针对基本类型的数据,重新定义“*”的含义
B 通过运算符重载可以改变运算符的操作数个数
C 只能重载C++中已有的运算符
D C++中所有的运算符都可以重载
14、在下列运算符中,只能作为二元运算符重载的是 D 。
A + B - C * D /
15、在int b[][3]={{1},{2,3},{4,5,6},{2}}中,b[2][2]的值是 C 。
A 0 B 3 C 6 D 2
16、下面关于指针的运算中,非法的是 D 。
A 两个指针在指定的条件下,可以进行相等的或者不等的运算。
B 可以将一个空指针赋值给某指针。
C 一个指针可以加上两个整数之差。
D 两个指针在一定条件下可以相加。
17、语句int *p=k;定义了指针p,与这个语句等效的语句序列是 A 。
A int *p; p=k; B int *p; p=k;
C int *p; *p=k; D int *p; *p=k;
18、要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是 A 。
A int vect[]={30,50,-88}; B int vect[]={30,50,-88,0,0};
C int vect[5]={30,50,-88}; D int vect[5]={30,50,-88,0,0};
19、下列十六进制整型常量的写法中,错误的是 B 。
A 0xaf B 0 C 0X1b
显示全部