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

下载本文档

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

文档简介

++程序设计年月真题

04737C202010

1、【单选题】下列选项中,能表现出C++语言的主要特点的是

继承于C#语言

可以进行面向对象的程序设计

A:

不能进行结构化程序设计

B:

基于数据流的程序设计

C:

答D:案:B

2、【单选题】下列关于C++语言类库提供输入流类和输出流类的描述中,正确的是

输入流类ostream

输出流类istream

A:

cin是istream类的对象

B:

cout是istream类的对象

C:

答D:案:C

解析:cin是一个istream类的对象,它从标准输入设备(键盘)获取数据,程序中的变量通

过流提取运算符从流中提取数据。

3、【单选题】下列关于封装特点的描述中,错误的是

隐藏对象的属性

公开实现的细节

A:

提供使用的信息

B:

公开的信息是与外界交互的接口

C:

答D:案:B

4、【单选题】下列关于访问范围说明符public、private、protected的描述中,正确的是

每种关键字至少出现1次

不加说明符默认为公有的

A:

3种关键字出现的先后次序没有限制

B:

成员的访问范围由它之后最近的说明符决定

C:

答D:案:C

5、【单选题】有关语句“Student*ss=newStudent[2];delete[]ss;"的描述中,正确的是

delete[]ss释放动态对象数组

delete[]ss调用3次析构函数

A:

newStudent[2]分配8个字节的内存

B:

newStudent[2]调用一次构造函数

C:

答D:案:A

6、【单选题】"classDemo{public:voidSetValue(){}};",主函数中有语句“constDemo

Obj;Obj.SetValue();”,正确的说法是

Obj是常量对象

SetValue()函数值为整型

A:

constDemoObj;编译时错误

B:

obj.SetValue();编译时正确

C:

答D:案:A

7、【单选题】设类Test将其他类对象作为成员,则创建类Test的对象时,下列描述正确的是

先执行类的构造函数

先执行成员对象的构造函数

A:

先执行类的析构函数

B:

先执行成员对象的析构函数

C:

答D:案:B

8、【单选题】下列关于重载流插入和流提取运算符的描述中,正确的是

不可以对流插入运算符进行重载

不可以对流提取运算符进行重载

A:

重载函数不能是流类库中的成员

B:

流是标准类库用户能继承也能修改

C:

答D:案:C

9、【单选题】有定义"Demo&demo;::operator++(){...return*this;}",若obj是类Demo

的对象,则以下描述错误的是

自增运算符“++”可以被重载

函数可以区分前置及后置情况

A:

++obj等价于obj.operator++

B:

obj++等价于obj.operator++()

C:

答D:案:B

10、【单选题】当派生类私有继承基类时,基类中的公有成员和保护成员成为派生类的

public成员

private成员

A:

protected成员

B:

友元

C:

答D:案:B

11、【单选题】下列关于派生类对象的初始化叙述中,正确的是

是由基类的构造函数实现的

是由派生类的构造函数实现的

A:

是由基类和派生类的构造函数实现的

B:

是系统自动完成的不需程序设计者干预

C:

答D:案:C

12、【单选题】下面关于基类和派生类的描述中,正确的是

一个类不能被多次说明为某个派生类的直接类,可以不止一次地成为间接基类

一个类可以被多次说明为某个派生类的直接类,可以不止一次地成为间接基类

A:

一个类不能被多次说明为某个派生类的直接类,但只能成为一次间接基类

B:

一个类可以被多次说明为某个派生类的直接类,但只能成为一次间接基类

C:

答D:案:A

13、【单选题】对于下面类定义,正确的叙述是classA{public:virtualvoidfuncl

(){}voidfunc2(){}};classB:publicA{public:voidfuncl(){cout<<"class

Bfunc1"<<endl;}virtualvoidfunc2(){cout<<"classBfunc2"<<endl;}};

A::func2()和B::func1()都是虚函数

A::func2()和B::func1()都不是虚函数

A:

B::func1()是虚函数,而A::func2()不是虚函数

B:

B::func1()不是虚函数,而A::func2()是虚函数

C:

答D:案:C

14、【单选题】关于纯虚函数和抽象类的描述中,错误的是

纯虚函数是一种特殊的虚函数,它没有具体实现

抽象类一般作为基类使用,其纯虚函数的实现由派生类给出

A:

抽象类中一定具有一个或多个纯虚函数

B:

抽象类的派生类中一定不会再有纯虚函数

C:

答D:案:D

15、【单选题】下列流类中,可以用于输入输出的是

ios

fstream

A:

iostream

B:

strstream

C:

答D:案:C

解析:C++/C++11中头文件iostream定义了标准输入/输出流对象。

16、【单选题】对ignore()成员函数原型“istream&ignore(intn=1,intdelim=EOF)描

述正确的是

跳过输出流中的n个字符

跳过delim及其之后的所有字符

A:

常用于跳过输出中的无效部分

B:

cin.ignore()等效于cin.ignore(l,EOF)

C:

答D:案:D

17、【单选题】在C++中打开一个文件就是将指定的文件与下列哪个选项建立关联

流对象

流类

A:

流函数

B:

流结构

C:

答D:案:A

18、【单选题】以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是

ofstreammyfile;myfile.open("d:ofile.txt");

ofstream*myfile=newofstream;myfile->open(d:ofile.txt");

A:

ofstreammyfile.open("d:ofile.txt");

B:

ofstream*myfile=new("d:ofile.txt");

C:

答D:案:D

19、【单选题】假设声明了以下函数模板,并定义了"inti;charc;",则错误的调用语句是

templateTmax(Tx,Ty){return(x>y)?x:y;}

max(i,i)

max(i,c)

A:

max(c,c)

B:

C:

max((int)c,i)

答D:案:B

20、【单选题】下面对模板的声明正确的是

A

B

A:

C

B:

D

C:

答D:案:D

21、【问答题】

答案:

22、【问答题】

答案:intx=11fun(x)

23、【问答题】

答案:Complex&aComplex(r,i)

24、【问答题】

答案:

25、【问答题】

答案:linfilech=infile.get()

26、【问答题】

答案:x、y的值分别是:1010

27、【问答题】

答案:98K

28、【问答题】

答案:x=2020是闰年

29、【问答题】

答案:对象1被构造对象2被构造对象2被构造对象2被析构对象2被析构对

象1被析构

30、【问答题】

答案:程序设计(空1行)C++

31、【问答题】编写一个函数模板,实现将n个数据进行由小到大排序的功能。

答案:

32、【问答题】有一个School类,保护数据成员Number和Name分别表示人的编号和姓名。

学生类Student是School的派生类,新增数据成员班号Class_Num和总成绩Total。请用C++

代码描述这两个类,并用Student类的成员函数实现学生张小蒙的编号(2020150601)、姓名、

班级(四班)和总成绩678的输出(要求编写派生类的构造函数)。

答案:

33、【填空题】通常根据是否可以直接操纵计算机底层硬件,将程序设计语言分为低级语

言、中级语言和_______。

答案:高级语言

34、【填空题】函数调用时参数的传递为“传引用”,是传递对象的_______。

答案:首地址值/首地址/地址

35、【填空题】面向对象的程序设计方法使得程序结构清晰,相互协作容易,更重要的是程序

的_______性大大提升了。

答案:复用

36、【填空题】从逻辑关系上看,典型的C++程序的结构包括类的定义、类中成员函数的实现

及_______。

答案:主函数/main

37、【填空题】当程序创建一个对象时,系统自动调用_______来初始化该对象。

答案:构造函数

38、【填空题】已知类A中的两个成员函数f1()和f2(),如果在f1()中不能直接调用f2(),

则_______是静态函数。

答案:f1()/f1

39、【填空题】重载赋值运算符后,赋值语句的功能是将一个对象中指针成员变量指向的内

容复制到另一个对象中指针成员变量指向的地方,这样的拷贝叫“_______”。

答案:深拷贝

40、【填空题】运算符重载相当于定义了一个以_______为名称的函数。

答案:运算符

41、【填空题】定义类时,保护成员的访问范围比_______成员的访问范围大。

答案:私有

42、【填空题】学生集合包含本科生集合,如果一个人是本科生,他/她必然也是一位学生,设

计程序时,_______集合作为派生类。

答案:本科生

43、【填空题】声明虚函数成员的一般格式为:“_______函数返回值类型函数名(形参

表);”。

答案:virtual

44、【填空题】定义4个类,类A中定义公有成员函数Print()为虚函数,类A派生了类B和

类D,类B派生了类C,3个派生类均是公有继承也都重写了Print()函数,则有____个派生类中

的Print()是虚函数。

答案:3

45、【填空题】要将s=“C++”输出为“@@@C++”这样的格式,应该使用的语句是“cout<<

_______<<setw(6)

温馨提示

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

评论

0/150

提交评论