C++课后习题第六章

C++课后习题第六章,第1张

C++课后习题第六章

第6章-模板与异常处理

一、单选题(共25题,100分)

1.(单选题)下列叙述错误的是()。

A.throw语句须书写在try语句块中

B.throw语句必须在try语句块中直接运行或通过调用函数运行

C.一个程序中可以有try语句而没有throw语句

D.throw语句抛出的异常可以不被捕获

正确答案:B

2.(单选题)下列关于异常的叙述,错误的是()。

A.编译错属于异常,可以抛出

B.运行错属于异常

C.硬件故障也可当异常抛出

D.只要是编程者认为是异常的都可当异常抛出

正确答案:A

3.(单选题)下列叙述错误的是()。

A.catch(…)语句可捕获所有类型的异常

B.一个try语句可以有多个catch语句

C.catch(…)语句可以放在catch语句组的中间

D.程序中try语句和catch语句是一个整体,缺一不可

正确答案:C

4.(单选题)关于函数声明float fun(int a, int b) throw();下列叙述正确的是()。

A.表明函数抛出float类型异常

B.表明函数抛出任何类型异常

C.表明函数不抛出任何类型异常

D.表明函数事迹抛出的异常

正确答案:C

5.(单选题)当一个异常对象抛出时,异常处理器会根据被抛出异常对象的类型顺序匹配()的异常处理分支。

A. “最早”

B. “最近”

C. “最远”

D. “最后”

B正确答案:B

6.(单选题)自定义类型的异常对象在匹配过程中,会发生类型的隐含转换吗?()

A.不会
B.会
C.不一定

D.不知道

正确答案:A

7.(单选题)try-catch结构中,被检测函数必须放在()中。

A. try块

B. catch块

C. try-catch块

D.上述皆可

正确答案:A

8.(单选题)throw语句一般由throw运算符和一个()组成。

A.数据

B.函数

C.变量

D.整数

正确答案:A

9.(单选题)异常对象的捕获和处理是由()结构实现的。

A. try – throw

B. try - catch

C. catch - try

D. throw - try

正确答案:B

10.(单选题)表现在计算过程中的被0除、内存空间不足、数据的输入输出错误等是程序的()。

A.运行错误

B.编译链接错误

C.模式错误

D.调用错误

正确答案:A

11.(单选题)下列关于模板的表述中,正确的是()。

A.如果一个类中存在纯虚函数,这个类就是类模板

B.函数模板不能有形式参数表

C.类模板是一种参数化类型的类,是类的生成器

D类模板中不能包含构造函数

正确答案:C

12.(单选题)下列关于类模板的表述中,错误的是()。

A.类模板的成员函数都是模板函数

B.可以为类模板参数设置默认值

C.类模板表述了一组类

D.类模板中只允许有一个类型参数

正确答案:D

13.(单选题)类模板的模板参数()。

A.只可作为数据成员的类型

B.只可作为成员函数的返回类型

C.只可作为成员函数的参数类型

D.以上三者皆可

正确答案:D

14.(单选题)一个()允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。

A.函数模板

B.模板函数

C.类模板

D.模板类

正确答案:C

15.(单选题)有函数模板声明和一些变量定义如下: template T1 sum(T2, T3); double d1,d2; 则下列调用中,错误的是()。

A. sum(d1,d2);

B. sum(d1,d2);

C. sum(d1,d2);

D. sum(d1,d2);

正确答案:D

16.(单选题)下列关于函数模板的叙述中,错误的是()。

A.从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

B.对于常规参数所对应的模板实参,任何情况下都不能省略

C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

D.模板实参表不能为空

正确答案:D

17.(单选题)

下列关于模板的叙述中,错误的是()。

A.调用模板函数时,在一定条件下可以省略模板实参
B.可以用 int、double 这样的类型修饰符来声明模板参数

C.模板声明中的关键字class都可以用关键字typename替代

D.模板的形参表中可以有多个参数

正确答案:C

18.(单选题)

下面是一个模板声明的开始部分: template double … 由此可知()。

A.这可能是一个函数模板的声明

B.这可能是一个类模板的声明

C.这既可能是一个函数模板的声明,也可能是一个类模板的声明

D.这肯定是一个错误的模板声明

正确答案:A

19.(单选题)

下列有关模板的叙述中,正确的是()。

A.函数模板不能含有常规形参

B.函数模板的一个实例就是一个函数定义

C.类模板的成员函数不能是模板函数

D.用类模板定义对象时,绝对不能省略模板实参

正确答案:B

20.(单选题)下列描述错误的是()。

A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略

B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略

C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略

D.对于常规参数所对应的模板实参,任何情况下都不能省略

正确答案:D

21.(单选题)有如下函数模板定义: template T1 FUN(T2 n){ return n*5.0;} 若要求以 int 型数据 9 作为函数实参调用该模板,并返回一个 double 型数据,则该调用应表示为()。

A. FUN(9)

B. FUN<9>

C. FUN(9)

D.FUN<9>(double)

正确答案:C

22.(单选题)如下函数模板: template T square(T x) { return x * x; } 其中T是()。

A.函数形参
B.函数实参

C.模板形参

D.模板实参

正确答案:C

23.(单选题)关于关键字class和typename,下列表述中正确的是()。

A.程序中的typename都可以替换为class

B.程序中的class都可以替换为typename

C.在模板形参表中只能用typename来声明参数的类型

D.在模板形参表中只能用class或typename来声明参数的类型

正确答案:A

24.(单选题)C++中的模板包括()。

A.对象模板和函数模板

B.对象模板和类模板

C.函数模板和类模板

D.变量模板和对象模板

正确答案:C

25.(单选题)下列关于函数模板的表述中,正确的是()。

A.函数模板是一个实例函数

B.使用函数模板定义的函数没有返回类型

C.函数模板的虚拟类型参数就是函数参数

D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数

正确答案:D

 所有习题完整版PDFhttps://download.csdn.net/download/lornaleo/75413292

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5702991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存