2021年10月自考04737C++程序设计试题及答案含解析_第1页
2021年10月自考04737C++程序设计试题及答案含解析_第2页
2021年10月自考04737C++程序设计试题及答案含解析_第3页
2021年10月自考04737C++程序设计试题及答案含解析_第4页
2021年10月自考04737C++程序设计试题及答案含解析_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

++程序设计年月真题

04737C202110

1、【单选题】下列对C++语言特点的描述中,不正确的是

可运行于多种平台

加入面向对象概念

A:

不能进行结构化设计

B:

继承于C语言

C:

答D:案:C

2、【单选题】下列选项中是引用调用的为

形参是指针,实参是地址值

形参和实参都是变量

A:

形参是引用,实参是变量

B:

形参是变量,实参是引用

C:

答D:案:C

3、【单选题】面向对象程序设计语言与结构化程序设计语言最根本的不同之处在于

使用了类

能够实现变量自动初始化

A:

支持软件重用

B:

支持接口重用

C:

答D:案:A

4、【单选题】不属于面向对象程序设计特性的是

抽象性

数据相关性

A:

多态性

B:

继承性

C:

答D:案:B

解析:面向对象程序设计的基本特征是:抽象性、封装性、继承性、多态性。

5、【单选题】下列关于构造函数的描述中,不正确的是

构造函数的函数名与类名相同

A:

构造函数可以设置默认参数

构造函数的返回类型缺省为int型

B:

构造函数可以重载

C:

答D:案:C

解析:构造函数的返回值使用new操作符创建对象时,构造函数总会默认返回this所引

用的对象。

6、【单选题】属于析构函数特征的是

一个类中只有一个析构函数

析构函数的名字与类名不同

A:

析构函数可以重载

B:

析构函数可以有多个参数

C:

答D:案:A

解析:一个类中只能定义一个析构函数,且不能指明参数;析构函数的名字也必须和类名

相同,只是在析构函数前加一个“~”号;在定义析构函数时也不能指定返回类型,即使

是void类型也不可以。

7、【单选题】下列关于友元函数描述中,不正确的是

可以被声明为const

不属于成员函数

A:

可以用类名或对象名来调用

B:

只能用对象名来调用

C:

答D:案:D

解析:友元函数可以用类名或对象名来调用。

8、【单选题】假设对A类定义一个重载“+”号运算符的成员函数,以便实现两个A类对象

的加法,并返回相加结果,则该成员函数的函数原型是

operator+(constA&A1,constA&A2)

A::operator+(A&A2)

A:

AA::operator+(constA&A2)

B:

AA::operator+()

C:

答D:案:C

9、【单选题】重载流提取运算符的一般格式是

ostream&operator>>(ostream&output,类名&对象名){...}

ostream&operator<<(ostream&output,类名&对象名){...}

A:

istream&operator>>(istream&input,类名&对象名){...}

B:

istream&operator<<(istream&input,类名&对象名){...}

C:

答D:案:C

10、【单选题】在类的继承关系中,基类成员在派生类中可见的是

所有

public和protected

A:

只有public

B:

只有protected

C:

答D:案:B

解析:<派生类名>是新定义的一个类的名字,它是从<基类名>中派生的,并且按指定的<

继承方式>派生的。<继承方式>常使用如下三种关键字给予表示:public表示公有基类;

private表示私有基类;protected表示保护基类。

11、【单选题】以下派生方式中,能让派生类访问基类中的protected成员的是

public和protected

public和private

A:

private和protected

B:

仅public

C:

答D:案:A

12、【单选题】下列关于类的描述中,正确的是

基类具有派生类的特征

一个类只能有一个父类

A:

“hasa”关系表示类的继承机制

B:

“isa”关系具有传递性

C:

答D:案:D

解析:is-A机制称为继承。关系具有传递性,不具有对称性。

13、【单选题】在面向对象的程序设计中,使用多态

既不能增强程序的可扩充性,也不能精简代码

能增强程序的可扩充性,也能精简代码

A:

不能增强程序的可扩充性,能精简代码

B:

C:

不能精简代码,能增强程序的可扩充性

答D:案:B

14、【单选题】设置虚基类的目的是

简化程序

使程序按动态联编方式运行

A:

提高程序运行效率

B:

消除二义性

C:

答D:案:D

解析:设置虚基类的目的是消除多重继承的二义性,菱形继承在两个基类拥有相同方法名

的方法是,派生类调用该方法出现二义性。

15、【单选题】下列对于语句“freopen("records.txt","r",stdin);”的分析中,正确

的是

“freopen”为文件名

“records.txt”是重定向函数名

A:

“r”代表重定向为“写”方式

B:

将cin重定向到文件records.txt

C:

答D:案:D

16、【单选题】下列格式控制符中,既可以用于输入,又可以用于输出的是

setbase

setfill

A:

setprecision

B:

setw

C:

答D:案:D

17、【单选题】读一个C++数据文件,要创建的流对象是

ifstream

ofstream

A:

cin

B:

cout

C:

答D:案:A

解析:ifstream类的对象创建成功的时候会返回非空值,借此判断是否创建文件对象成功

18、【单选题】下列打开文件的语句中,错误的是

ofstreamofile;ofile.open("abc.txt",ios:binary);

fstreamiofile;iofile.open("abc.txt",ios::ate);

A:

cout.open("abc.txt",ios::binary);

B:

ifstreamifile("abc.txt");

C:

答D:案:C

19、【单选题】实现两个相同类型数加法的函数模板的声明可以是

Tadd(Tx,Ty)

Tadd(Tx,y)

A:

Tadd(x,y)

B:

add(Tx,Ty)

C:

答D:案:A

20、【单选题】下列关于类模板的描述中,正确的是

类模板必须有多种类型参数

可以使用类模板直接生成对象

A:

类模板实例化后才可以创建对象

B:

类模板之间不允许继承

C:

答D:案:C

解析:普通模板中成员函数一开始就可以创建,但是类模板中的成员函数在调用时才可以

创建(或者说是在使用模板实例化对象的时候)。

21、【问答题】将下面程序补充完整。

答案:(1)inta(2)operatorint()const或operatorint()

22、【问答题】将下面程序补充完整,使程序输出的结果为:

答案:(1)pointer(constpointer&temp)(2)"表达式p1.p=p2.p的值为"<<

(p1.p=+p2.p)

23、【问答题】下面程序中类Date包含私有数据成员年、月、日,函数重载输入运算符

“>>”,填入合适代码使其定义完整。

答案:(1)intyear,month,day(2)in>>y>>m>>d

24、【问答题】将下面程序补充完整,使程序输出的结果为:

答案:(1)cout<<"#"<<x<<endl(2)cout<<x<<endl

25、【问答题】将下面程序补充完整,使其在当前文件夹下以写方式打开“address”文

本文件,并从键盘输入地址(每行一个地址)。

答案:(1)("address.txt",ios::out)(2)cin>>address

26、【问答题】阅读程序后,填写程序的正确运行结果。

答案:oneX=30oneY=40oneX=30

27、【问答题】阅读程序后,填写程序的正确运行结果。

答案:202110交换后取余的值为:10

28、【问答题】阅读程序后,填写程序的正确运行结果。

答案:gradeis1scoreis100

29、【问答题】阅读程序后,填写程序的正确运行结果。

答案:A::Show()B::Show()

30、【问答题】阅读程序后,填写程序的正确运行结果。

答案:输出结果为:98158

31、【问答题】试编写可以实现不同数据类型数组逆置的函数,如{1,2,3}变为{3,2,

1},并在函数中输出逆置后的数组元素,主函数代码如下。

答案:

32、【问答题】定义一个课程类CCourse,其中包含课程号(longno)、课程名

(char*p_name)、分数(floatcredit)三个数据成员,以及相应的构造函数、析构函数、打印

数据成员的成员函数。以CCourse类为基类,派生出帮助类CHLP,并在这个类中分别增加

一个指针数据成员(char*p_openby)和表示用途的成员函数(voidstudyFor()——可输出一条

表示CHLP类用途的信息)。写出CHLP类的完整定义(包括构造、析构和studyFor()成员函数

的实现)。

答案:

33、【填空题】命名空间也称为名字空间,使用关键字_______把大量有逻辑联系的程序实

体组合在一个标识符下。

答案:namespace

34、【填空题】在C++函数的形参前加const关键字,是为了提高函数的_______。

答案:可维护性

35、【填空题】在面向对象的程序设计方法中,将同一类事物的共同特点概括出来,这个过

程叫作“_______”。

答案:抽象

36、【填空题】类是对具有相同属性和行为的同一类对象的抽象描述,其内部包括属性和

_______两个主要部分。

答案:行为或操作均得分

37、【填空题】AB是一个类,那么执行语句ABa(4),b[3],*p;时,调用构造函数的次数

是_______。

答案:4

38、【填空题】程序语句“A::A(inta,int*b){this->x=a;this->y=b;}”中,this的类

型是_______。

答案:A

39、【填空题】设opr表示要重载的运算符,那么重载运算符的函数名是_______。

答案:operatoropr

40、【填空题】运算符++、=、+、[]中,只能用成员函数重载的运算符是_______和[]。

答案:=

41、【填空题】派生类从基类中可以继承成员变量、普通的成员函数,但不能继承构造函数

和_______。

答案:析构函数

42、【填空题】C++中有两种继承,一种是单继承,另一种是_______。

答案:多重继承

43、【填空题】一个函数名为Show,返回值类型为void,没有参数的纯虚常成员函数可以

声明为_______。

答案:virtualvoidShow()const=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论