C 期末考试复习题

发布 2021-04-21 12:01:28 阅读 4696

一、单项选择题(本大题共10 小题,每小题2 分,共20 分)

1.在c++中,函数原型不能标识(d )

a.函数的返回类型b.函数参数的个数c.函数参数类型d.函数的功能。

2.在c++程序中,对象之间的相互通信通过(b )

a.继承实现b.调用成员函数实现c.封装实现d.函数重载实现。

3.对于任意一个类,析构函数的个数最多为(b ) a.0 b.1 c.2 d.3

5.友元关系不能(a )

a.继承b.是类与类的关系c.是一个类的成员函数与另一个类的关系d.提高程序的运行效率。

6.语句ofstream f(″的功能是建立流对象f,试图打开文件 并与之连接,并且(a )

a.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件。

b.若文件存在,将其置为空文件;若文件不存在,打开失败。

c.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件。

d.若文件存在,打开失败;若文件不存在,建立一个新文件。

7.下面说法正确的是(b )

a.内联函数在运行时是将该函数的目标**插入每个调用该函数的地方。

b.内联函数在编译时是将该函数的目标**插入每个调用该函数的地方。

c.类的内联函数必须在类体内定义 d.类的内联函数必须在类体外通过加关键字inline 定义。

/当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函数调用地开销。

8.可以用 的形式访问派生类对象p 的基类成员a,其中a 是(d )

a.私有继承的公有成员b.公有继承的私有成员c.公有继承的保护成员d.公有继承的公有成员。

/函数可以调用成员,对象不可以调用。

9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( c)

a.派生类的对象可以赋给基类的对象 b.派生类的对象可以初始化基类的引用。

c.派生类的对象可以直接访问基类中的成员 d.派生类的对象的地址可以赋给指向基类的指针。

/派生类的对象是不能访问基类的任何成员。

10.对于类定义。

class a

void func2( )

class b:public a

下面正确的叙述是(c )

a. a::func2( )和b::func1( )都是虚函数 b. a::func2( )和b::func1( )都不是虚函数。

c. b::func1( )是虚函数,而a::func2( )不是虚函数 d. b::func1( )不是虚函数,而a::func2( )是虚函数。

第二部分非选择题(共80 分)

二、填空题(本大题共10 小题,每小题2 分,共20 分)

11.定义类的动态对象数组时,系统只能够自动调用该类的___默认___构造函数对其进行初始化。

12.在c++程序设计中,建立继承关系倒挂的树应使用___单___继承。

13.表达式cout<14.基类的公有成员在派生类中的访问权限由___访问控制___决定。

支持的两种多态性分别是___静态___多态性和___动态___多态性。

中语句const char * const p=″hello″;所定义的指针p 和它所指的内容都不能被__改变___

17.假定ab 为一个类,则语句ab(ab&x);为该类___拷贝___构造函数的原型说明。

18.将关键字const 写在成员函数的___函数头___和___函数体___之间时,所修饰的是this 指针。

19.在c++中,访问一个对象的成员所用的运算符是__·访问一个指针所指向的对象的成员所用的运算符是__>

20.派生类从一个或多个以前定义的该类的__基类__

一、单项选择题(本大题共10 小题,每小题2 分,共20 分)

二、填空题(本大题共10 小题,每小题2 分,共20 分)

11.无参 12.单一(或单)

14.访问控制(或其它等价形式) 15.编译时的(或静态,或操作重载) 运行时的(或动态,或虚函数)

16.改变(或重新赋值) 17.复制初始化(或拷贝) 18.函数头(或参数表) 函数体。

19.成员选择运算符(或“.”成员访问运算符(或“>”20.基类。

一、单项选择题(每题2分,共20分)

1. 派生类对象可访问基类中的什么成员( )

a.公有继承的公有成员b.公有继承的私有成员 c.公有继承的保护成员d.私有继承的公有成员。

2. 定义析构函数时,应该注意( )

a.其名与类名完全相同b.返回类型是void类型 c.无形参,也不可重载d.函数体中必须有delete语句。

3. 如果类a被说明成类b的友元,则( )

a.类a的成员即类b的成员 b.类b的成员即类a的成员

c.类a的成员函数不得访问类b的成员 d.类b不一定是类a的友元

4. 应在下列程序划线处填入的正确语句是。

#include

classbase

public:

voidfun();

classderived:publicbase

voidfun()

显示调用基类的函数fun()

cout<<"derived::fun"<}

a.funb. >fun();

5. 面向对象程序设计将数据与( )放在一起,做为一个相互依存、不可分割的整体来处理。

a. 对数据的操作 b. 信息 c. 数据隐藏 d. 数据抽象。

6. 在类中声明转换函数时不能指定( )

a. 参数b. 访问权限 c. 操作d. 标识符。

7. 在派生类中重新定义虚函数时必须在( )方面与基类保持一致。

a. 参数类型b. 参数名字 c. 操作内容d. 赋值。

8. 下面关于c++中类的继承与派生的说法错误的是( )

a.基类的protected成员在公有派生类的成员函数中可以直接使用。

b.基类的protected成员在私有派生类的成员函数中可以直接使用。

c.公有派生时,基类的所有成员访问权限在派生类中保持不变。

d.基类的protected成员在保护派生类的成员函数中可以直接使用。

9. 重载赋值操作符时,应声明为( )函数。

a. 友元b. 虚 c. 成员d. 多态。

10. 语句ofstreamf(″的功能是建立流对象f,试图打开文件并与之连接,并且。

a.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件

b.若文件存在,将其置为空文件;若文件不存在,打开失败。

c.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件。

d.若文件存在,打开失败;若文件不存在,建立一个新文件。

二、填空题(每空2分,共30分)

1. 假定ab为一个类,则语句ab(ab&x);为该类___构造函数的原型说明。

2. c++支持的两种多态性分别是___多态性和___多态性。

3. 定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。

4. 运算符重载时,其函数名由 __构成。成员函数重载双目运算符时,左操作数是___右操作数是___

c++标准库中的异常层次的根类为___类;mfc类库中绝大多数类都源自根类___类。

在下面横线处填上适当字句,完成类中成员函数的定义。

classa{

int*a;

public:

a(intaa=0){

a用aa初始化a所指向的动态对象

a释放动态存储空间

7.c++支持面向对象程序设计的四个要素是:封装性、继承性和。

8.模板分为模板和模板。

一、单项选择题(每题2分,共20分)

1.a 2. c 3. d 4. c 5. a 6. a 7. a 8. c 9. c 10. a

二、填空题(每空2分,共30分)

拷贝或复制。

运行(时) 编译(时)(二者位置可互换)(或改为静态和动态也可)

无参(缺省或默认均可)

operator运算符(运算符可写为@,若没写扣1分) (当前)对象函数的形参(参数)

C期末考试复习题

c 期末考试复习题。一 选择题。1.在声明类时,下面的说法正确的是 c a.可以在类的声明中给数据成员赋初值 b.数据成员的数据类型可以是register 可以按任意顺序出现 d.没有用 private public protected定义的数据成员是公有成员。2.在一个类的定义中,包含有 c 成员...

C 期末考试复习题

一 选择题。1.在声明类时,下面的说法正确的是 c a.可以在类的声明中给数据成员赋初值 b.数据成员的数据类型可以是register 可以按任意顺序出现 d.没有用 private public protected定义的数据成员是公有成员。2.在一个类的定义中,包含有 c 成员的定义。a.数据 b...

c期末考试复习题

1.程序中主函数的名字为 a.main b.main c.main d.任意标识符。2.关于c 程序的书写,下列不正确的说法是 a.区分大小写 b.一行可以写多条语句 c.一条语句可写成多行。3.能正确表示逻辑关系 a 10 或a 0 的c 语言表达式是 a.a 10 or a 0 b.a 10 a...