C++
程序设计模拟试卷
(
一
)
一、单项选择?/p>
(
本大题共
20
小题,每小题
1
分,?/p>
20
?/p>
)
在每小题列出的四个备选项?/p>
只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均?/p>
分?/p>
1.
编写
C++
程序一般需经过的几个步骤依次是()
A.
编辑、调试、编译、连?/p>
B.
编辑、编译、连接、运?/p>
C.
编译、调试、编辑、连?/p>
D.
编译、编辑、连接、运?/p>
答案?/p>
B
解析:经过编辑、编译、连接和运行四个步骤。编辑是?/p>
C++
源程序输入计算机的过程,?/p>
存文件名?/p>
cpp
。编译是使用系统提供的编译器将源程序
cpp
生成机器语言的过程,目标文件?/p>
obj
,由于没有得到系统分配的绝对地址,还不能直接运行。连接是将目标文?/p>
obj
转换为可执行
程序的过程,结果?/p>
exe
。运行是执行
exe
,在屏幕上显示结果的过程?/p>
2.
决定
C++
语言中函数的返回值类型的是(?/p>
A.
return
语句中的表达式类?/p>
B.
调用该函数时系统随机产生的类?/p>
C.
调用该函数时的主调用函数类型
D.
在定义该函数时所指定的数据类?/p>
答案?/p>
D
解析:函数的返回值类型由定义函数时的指定的数据类型决定的?/p>
A
项的表达式的值要转换
成函数的定义时的返回类型?/p>
3.
下面叙述不正确的是(?/p>
A.
派生类一般都用公有派?/p>
B.
对基类成员的访问必须是无二义性的
C.
赋值兼容规则也适用于多重继承的组合
D.
基类的公有成员在派生类中仍然是公有的
答案?/p>
D
解析:继承方式有三种:公有、私有和保护。多继承中,多个基类具有同名成员,在它们
的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。赋值兼容规则是?/p>
派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。基类中?/p>
公有成员采用私有继承时,在派生类中变成了私有成员,所?/p>
D
项错误?/p>
4.
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实?/p>
也就是(?/p>
A.
?/p>
B.
对象
C.
函数?/p>
D.
数据?/p>
答案?/p>
A
解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作?/p>
5.
在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类?/p>
的(?/p>
A.
私有成员
B.
公有成员
C.
保护成员
D.
保护成员或私有成?/p>
答案?/p>
A
解析:在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基?/p>
的成员函数来访问。所以选择
A
项?/p>
6.
对基类和派生类的关系描述中,错误的是()
A.
派生类是基类的具体化
B.
基类继承了派生类的属?/p>
C.
派生类是基类定义的延?/p>
D.
派生类是基类的特殊化
答案?/p>
B
解析:派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基
类的具体化和特殊化,派生类是对基类扩展?/p>
B
项基类不能继承派生类成员,所以错误?/p>
7.
关于
this
指针使用说法正确的是()
A.
保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
B.
保证基类私有成员在子类中可以被访问?/p>
C.
保证基类保护成员在子类中可以被访问?/p>
D.
保证基类公有成员在子类中可以被访问?/p>
答案?/p>
A
解析?/p>
this
指针是隐藏的,可以使用该指针来访问调用对象中的数据。基类的成员在派?/p>
类中能否访问,与继承方式有关,与
this
没有关系。所以选择
A
项?/p>
8.
所谓多态性是?/p>
()
A.
不同的对象调用不同名称的函数
B.
不同的对象调用相同名称的函数