C语言程序设计练习题四及答案_第1页
C语言程序设计练习题四及答案_第2页
C语言程序设计练习题四及答案_第3页
C语言程序设计练习题四及答案_第4页
C语言程序设计练习题四及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

一、单选题

1、下列哪种C++语法形式不属于多态?()

A.不同函数中定义的同名局部变量

B.重载运算符

C.重载函数

D.对象多态

正确答案:A

2、为类ABC定义重载运算符,下列哪种定义形式是正确的?

()

A.定义为类ABC的函数成员:voidoperator+(){……}

B.定义为类ABC的函数成员:ABCoperator+(ABCobjl,ABCobj2)

{・}

C.定义为类ABC的友元函数:ABCoperator+(ABCobj){……}

D.定义为类ABC的函数成员:ABCoperator+(ABCobj){……}

正确答案:D

3、下列关于Liskov准则的描述中,错误的是()。

A.派生类的对象不能赋值给基类对象

B.派生类对象的地址可以赋值给基类的对象指针

C.应用Liskov准则,实际上是将派生类对象当作基类对象来使用

D.派生类的对象可以初始化基类引用

正确答案:A

4、定义如下的基类A和派生类B:

classA

public:

virtualvoidfun()〃函数成员fun被声明为虚函数

{cout<<"A::fun()called";}

);

classB:publicA

(

public:

voidfun()//重写虚函数成员fun

{cout<<**B::fun()called";}

);

执行下列代码:

A*p;//定义基类A的对象指针p

BbObj;//定义派生类B的对象bObj

P=&bObj;//将基类指针p指向派生类对象bObj

p->fun();//通过基类指针p调用虚函数成员fun

通过基类指针p调用虚函数成员fun,将自动调用哪个函数?()

A.A::fun()

B.先调用A::fun(),再调用B::fun()

C.B::fun()

D.语法错误

正确答案:c

5、下列关于对象多态性的描述中,错误的是()。

A.通过基类引用访问派生类对象的虚函数成员,将自动调用基类的函

数成员

B.通过基类对象指针访问派生类对象的虚函数成员,将自动调用派生

类的函数成员

C.应用对象多态性的目的是为提高程序代码的可重用性

D.应用对象多态性,实际上是用基类来代表派生类

正确答案:A

6、下列关于虚函数的描述,错误的是()o

A.基类中声明的虚函数成员被继承到派生类后仍是虚函数

B.类中的静态函数、构造函数、析构函数都可以是虚函数

C.声明虚函数需使用关键字virtual

D.只有虚函数成员才会在调用时表现出多态性

正确答案:B

7、下列关于纯虚函数的描述,错误的是()o

A.含有纯虚函数成员的类被称为抽象类

B.纯虚函数在实现之后就是一个正常的虚函数,会在调用时表现出多

态性

C.纯虚函数没有函数体

D.定义纯虚函数的目的是为了重用其算法代码

正确答案:D

8、下列关于抽象类的描述,错误的是()。

A.不能用抽象类定义对象,即抽象类不能实例化

B.可以用抽象类定义对象引用,引用其派生类对象

C.可以用抽象类定义对象指针,指向其派生类对象

D.抽象类的派生类一定是抽象类

正确答案:D

9、下列关于多继承的描述,错误的是()o

A.多继承会造成从不同基类所继承的成员之间互相重名

B.派生类可以从多个基类继承,这就是多继承

C.多继承时,不同基类必须使用相同的继承方式

D.多继承时,派生类不能继承基类的构造和析构函数

正确答案:C

10、派生类从基类A和B各继承了一个数据成员X。如需访问派生类

对象obj中从基类A继承来的成员x,下列哪种访问形式是正确的?

()

A.obj.x

B.obj.A::x

C.obj.B::x

D.obj.A.x

正确答案:B

IK下列关于输入/输出的描述中,错误的是()。

A.格式化输入/输出是在二进制与十进制之间进行格式转换

B.输入是将数据输入到内存变量中

C.输出是将内存中的数据输出到某个输出设备

D.内存中的数据是以二进制存储的

正确答案:A

12、下列关于输入/输出的描述中,错误的是()。

AC++语言是以输入/输出流对象的形式提供输入/输出功能

B.cin、cout是流类库中预定义的流对象

CC++语言通过关键字cin/cout以语句的形式提供输入/输出功能

D.C语言以系统函数的形式提供输入/输出功能

正确答案:C

13、C++流类库中不包括下列哪种操作?()

A标准I/O

B.文件I/O

C系统函数scanf/printf

D.字符串I/O

正确答案:C

14、下列关于流类库的描述中,错误的是()。

A.流类库中总共定义了3个类

B.流类库是一个以类ios为基类的类族

C.流类库的作用主要是为C++语言提供输入/输出功能

D.流类库是C++语言的附属组成部分

正确答案:A

15、下列关于通用输入流类的描述中,错误的是()。

A.通用输入流类istream只提供了提取运算符“>>”这一种输入方法

B.提取运算符是一种格式化输入方法

C.流类库中,通用输入流类的类名为istream

D.通用输入流类istream重载了右移运算符,称为提取运算符

正确答案:A

16、下列哪种方法不能实现换行显示?()

A.cout<<"\n";

B.cout<<endl;

C.cout<<An';

D.cout<<<n';

正确答案:D

17、下列关于文本文件的描述中,错误的是()。

A.文本文件便于人的阅读

B.文本文件所存储的内容是一个字符序列

C.文本文件存储的是纯文本内容,而且使用的是标准编码

D.文本文件不能用于程序与程序之间的数据交换

正确答案:D

18、下列关于二进制文件的描述中,错误的是()。

A.二进制文件以内存的二进制存储格式来在外存上存储数据

B.将内存中二进制数据保存到二进制文件时,需要进行格式转换

C.和文本文件相比,二进制文件的读写速度快

D.和文本文件相比,二进制文件的通用性差

正确答案:B

19、下列定义字符串类string对象的语句中,错误的是()。

A.stringstr="Hello,world";

B.stringstr='Hello,world,;

C.stringstr("Hello,world");

□.stringstr;

正确答案:B

20、执行下列语句:

istringstreamstrin('38.5");

doublex=0,y=0;

strin>>x>>y;

执行后变量x和y的值分别为()。

A.8.5,3.0

B.3.0,8.5

C.3,8

D.0,0

正确答案:B

21、下列关于函数模板的描述中,错误的是()o

A.函数模板通过数据类型参数化,将一组算法相同但所处理数据类型

不同的重载函数凝练成一个函数模板

B.函数模板不能提高函数代码的可重用性

C.定义函数模板以关键字“template”开头

D.编译时,由编译器按照函数模板自动生成针有不同数据类型的重载

函数定义代码

正确答案:B

22、已定义如下函数模板:

template<typenameT>Tmax(Tx,Ty){……}

则编译模板函数调用语句:cout<<max(3.5f,6.2f);将自动生成下列

哪个函数定义代码?()

A.floatmax(floatx,floaty){......}

B.shortmax(shortx,shorty){……}

C.intmax(intx,inty){……}

D.doublemax(doublex,doubley){......}

正确答案:A

23、下列关于类模板的描述中,错误的是()。

A.类模板通过数据类型参数化,将一组功能相同但所处理数据类型不

同的类凝练成一个类模板

B.类模板可以提高类代码的可重用性

C.编译时,由编译器按照类模板自动生成针对不同数据类型的类定义

代码

D.定义类模板以关键字“class”开头

正确答案:D

24、已定义如下的类模板:

template<typenameT,typenameTT>

classABC

{……}:

则下列对象定义语句中,错误的是()o

A.ABC〈double,double〉obj;

B.ABC<short,long>obj;

C.ABC<int,char>obj;

D.ABCobj;

正确答案:D

25、已定义如下类模板:

template<typenameT>classABC{......};

则下列哪条语句是错误的?()

A.classDerived:publicABC<double>{......}

B.typedefABC<double>DoubleABC;

C.ABCobj;

0.template<typenameT,typenameTT>classDerived:publicABC

<T>{……}

正确答案:c

26、下列关于类模板的描述中,错误的是()

A•类模板禁止被继承

B.类模板可以提高类代码的可重用性

C.类模板可以戒少源程序代码量

D.类模板可以被实例化

正确答案:A

27、下列关于C++标注库的描述中,错误的是()。

A.流类库是C++标准库的组成部分

BC++标准库在编写时没有采用模板技术

CC++语言以标准库的形式为程序员提供了很多常用的函数和类

DC++标准库扩展了C++语言的功能,使程序员可以在更高的起点上

开发程序

正确答案:B

28、异常处理机制主要解决下列哪种错误?()

A.语义错误

B.注释错误

C.语法错误

D.运行时错误

正确答案:D

29、C++语言中负责捕捉异常的语句是?()

A.throw语句

B.try子句

C.if语句

D.catch子句

正确答案:D

30、下列关于异常的描述中,错误的是()o

A.异常表达式结果的数据类型被用于区分不同类型的异常

B.catch(...彤式的子句捕捉不到任何一种类型的异常

C.异常表达式结果的值被用于描述异常的详细信息

D.每个catch子句通常只负责捕捉并处理一种类型的异常

正确答案:B

31、不属于数据集合基本存储结构的是()。

A.单向链表

B.结构体

C.数组

D.双向

温馨提示

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

评论

0/150

提交评论