.
2010年全国自考C++程序设计模拟试卷(三)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是() A. int B. double C. float D. 不确定
2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为() A. const char *p=“ABCD”; B. char *const p=“ABCD”; C. char const *p=“ABCD”;
D. const char * const p=“ABCD”;
3. 类的构造函数被自动调用执行的情况是在定义该类的() A. 成员函数时 B. 数据成员时 C. 对象时 D. 友元函数时
4. 已知类A是类B的友元,类B是类C的友元,则() A. 类A一定是类C的友元 B. 类C一定是类A的友元
C. 类C的成员函数可以访问类B的对象的任何成员 D. 类A的成员函数可以访问类B的对象的任何成员
5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语
句后,x.a和x.b的值分别为() A. 1和0
B. 1和4 C. 4和0 D. 4和1
6. 关于this指针使用说法正确的是()
A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码 B. 保证基类私有成员在子类中可以被访问。 C. 保证基类保护成员在子类中可以被访问。 D. 保证基类公有成员在子类中可以被访问。 7. 所谓多态性是指 ()
A. 不同的对象调用不同名称的函数 B. 不同的对象调用相同名称的函数 C. 一个对象调用不同名称的函数
;..
.
D. 一个对象调用不同名称的对象 8. 友元关系不能() A. 提高程序的运行效率 B. 是类与类的关系
C. 是一个类的成员函数与另一个类的关系 D. 继承
9. 语句ofstream f(“TEMP.DAT”,ios::app|ios::binary)?的功能是建立流对象f,试图打
开文件TEMP.DAT 并与之连接,并且()
A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B. 若文件存在,将其置为空文件;若文件不存在,打开失败
C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件 D. 若文件存在,打开失败;若文件不存在,建立一个新文件 10. 构造函数不具备的特征是() A. 构造函数的函数名与类名相同 B. 构造函数可以重载
C. 构造函数可以设置默认参数 D. 构造函数必须指定类型说明
11. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限() A. 受限制 B. 保持不变 C. 受保护 D. 不受保护
12. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后
,x.a和x.b的值分别为() A. 3和15
B. 5和4 C. 4和20 D. 20和5
13. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是() A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数 C. 规定函数说明符必须用原型 D. 引进了类和对象的概念
14. 在类中说明的成员可以使用关键字的是() A. public B. extern C. cpu
D. register
15. C++语言中所有在函数中定义的变量,连同形式参数,都属于() A. 全局变量
;..
.
B. 局部变量 C. 静态变量 D. 函数
16. 在私有继承的情况下,基类成员在派生类中的访问权限() A. 受限制 B. 保持不变 C. 受保护 D. 不受保护
17. 使用地址作为实参传给形参,下列说法正确的是() A. 实参是形参的备份 B. 实参与形参无联系 C. 形参是实参的备份 D. 实参与形参是同一对象
18. C++的继承性允许派生类继承基类的()
A. 部分特性,并允许增加新的特性或重定义基类的特性 B. 部分特性,但不允许增加新的特性或重定义基类的特性 C. 所有特性,并允许增加新的特性或重定义基类的特性 D. 所有特性,但不允许增加新的特性或重定义基类的特性 19. 对于int *pa[5];的描述,正确的是()
A. pa是一个指向数组的指针,所指向的数组是5个int型元素
B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量 C. pa[5]表示某个数组的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针 20. 以下基类中的成员函数表示纯虚函数的是() A. virtual void tt()=0 B. void tt(int)=0
C. virtual void tt(int) D. virtual void tt(int){}
二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答 案。错填、不填均无分。
1. 单目运算符作为类成员函数重载时,形参个数为__0_个。 2. 抽象类中至少要有一个_纯虚__函数。
3. 设类A有成员函数void f(void);若要定义一个指向类成员函数的指针变量pf来指向f,该
指针变量的声明语句是:_void (A::*pf)(void);__。 4. 执行下列程序
double a=3.1415926,b=3.14;
cout< 5. vector类中用于删除向量中的所有对象的方法是___。 6. 重载的运算符保持其原有的_操作数__、优先级和结合性不变。 ;..