自考C++试题及答案9套合集34.docx
- 文档编号:8461079
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:31
- 大小:29.85KB
自考C++试题及答案9套合集34.docx
《自考C++试题及答案9套合集34.docx》由会员分享,可在线阅读,更多相关《自考C++试题及答案9套合集34.docx(31页珍藏版)》请在冰豆网上搜索。
自考C++试题及答案9套合集34
2010年全国自考C++程序设计模拟试卷(三)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中
只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无
分。
1。
设有定义inti;doublej=5;,则10+i+j值的数据类型是()
A.int
B。
double
C。
float
D。
不确定
2.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()
A.constchar*p=“ABCD”;
B。
char*constp=“ABCD”;
C。
charconst*p=“ABCD”;
D.constchar*constp=“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(inti=4,intj=0){a=i;b=j;}”,则执行“Ax
(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.语句ofstreamf(“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(intaa,intbb){a=aa——;b=a*bb;},则执行Ax(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。
virtualvoidtt()=0
B。
voidtt(int)=0
C。
virtualvoidtt(int)
D.virtualvoidtt(int){}
二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答
案。
错填、不填均无分。
1。
单目运算符作为类成员函数重载时,形参个数为__0_个。
2。
抽象类中至少要有一个_纯虚__函数.
3。
设类A有成员函数voidf(void);若要定义一个指向类成员函数的指针变量pf来指向f,该
指针变量的声明语句是:
_void(A:
:
*pf)(void);__。
4.执行下列程序
doublea=3。
1415926,b=3。
14;
cout< 程序的输出结果是3.1416,3.14___. 5.vector类中用于删除向量中的所有对象的方法是___。 6。 重载的运算符保持其原有的_操作数__、优先级和结合性不变。 7.编译时的多态性通过_重载__函数实现。 8.基类的公有成员在派生类中的访问权限由_继承方式__决定。 9。 假设类X的对象x是类Y的成员对象,则“YObj”语句执行时,先调用类_X__的构造函数。 10.下列程序段的输出结果是___。 11.下列程序段的输出结果是___。 12。 C++中ostream的直接基类_ios__. 13.intn=0; while(n=1)n++; while循环执行次数是_无限次__. 14。 C++中有两种继承: 单继承和_多重继承__. 15。 在C++中,利用向量类模板定义一个具有10个int的向量A,其元素均被置为1,实现此操作 的语句是___。 16。 vector类中向向量尾部插入一个对象的方法是___。 17.C++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取引用___方式。 18。 若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_声明__语句。 19。 在C++中有两种参数传递方式: 传值和_引用__。 20。 将指向对象的引用作为函数的形参,形参是对象的引用,实参是_对象名__。 三、改错题(本大题共5小题,每小题4分,共20分) 1.classABC {inta; public: ABC(intaa)a(aa){}ABC(intaa): a(aa){}; }; 2.#include classAton {intX,Y; protected: intzx,zy; public: voidinit(inti,intj){zx=i;zy=j;} Aton(inti,intj,intn=0,intm=0) {X=i,Y=j,zx=m,zy=n; } 添加inlineintX(){returnX}; }; voidmain() {AtonA(25,20,3,5); A.init(5,9); cout〈〈A.X()〈〈endl; 3。 #include h〉 classBas {public: ~Bas(){cout〈〈"Basconstruct"〈 virtualvoidf()=0; }; classDev: publicBas {public: ~Dev(){cout〈〈”Basconstruct"<〈endl;} virtualvoidf(){cout<<"Dev: : f"<〈endl;} }; voidmain() {Bas*a=newBas();Bas*a; Devp; a=&p; a—〉f(); } 4。 以下程序实现交换a,b变量的值,请用下横线标出错误所在行并给出修改意见. #include〈iostream。 h〉 voidswap(int&a,int&b) {a=a+b; b=a—b; a=a-b; } voidmain() {inta=19,b=15; cout〈〈"a="<〈a<〈",b=”<〈b<〈endl; swap(&a,&b);swap(a,b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 C+ 试题 答案 套合集 34