《面向对象程序设计》第10章在线测试
剩余时间:
57:42
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、下面哪些情况不会造成异常( A)
A、内存耗尽 B、再次打开文件
C、除数为0 D、数组越界访问
2、关于异常的处理过程,正确的说法是( D)
A、在可能会出现错误的地方,用catch捕捉 B、在可能会出现错误的地方,用throw抛出异常
C、catch块可以捕捉所有异常 D、只有与catch()参数匹配的异常才可以捕捉
3、关于异常对象的说法正确的是( A)
A、异常对象需要先建立,再抛出 B、以传值方式传递异常对象时,抛出的是局部临时对象
C、以引用方式传递异常对象时,抛出的是局部静态对象 D、以指针方式传递异常对象时,抛出的是全局临时对象
4、C++中异常处理的默认模式是(A )
A、终止模式 B、恢复模式
C、挂起模式 D、暂停模式
5、为保证程序中的全局变量不与开发商提供的全局变量重名,可以采取的措施是( C)
A、查阅手册,不起同样的名字 B、引入命名空间
C、避开不用 D、让开发商改名
第二题、多项选择题(每题2分,5道题共10分)
1、下面与异常处理相关的关键字有(BC )
A、Throw
B、throw
C、try
D、Try
2、下面的说法正确的是(AD)
A、引发异常用关键字throw
B、在被调用函数中检测到异常条件用throw都可以引发异常
C、被调用函数只有在try块中用throw才可以引发异常
D、检测到的异常由catch捕获并处理
3、VC++6.0 环境中,为了检测异常处理机制,需要进行如下设置( BCD)
A、在Setting对话框中打开Link选择项卡
B、在Setting对话框中打开C/C++选项卡
C、选择C++ Languge
D、选中复选框Enable exception handling
4、catch子句的说法正确的是(AB )
A、catch子句后的复合语句是异常处理程序
B、catch子句捕获throw表达式抛出的异常
C、catch子句的异常类型说明只能是类型,不能是数值
D、catch子句的异常类型不能是自定义类
5、关于命名空间的说法正确的是()
A、命名空间用namespace定义
B、namespace可以嵌套
C、命名空间可以实例化
D、定义namespace后,不能再向其中加入新的成员
第三题、判断题(每题1分,5道题共5分)
1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况. T
正确 错误
2、在C++中,如果出现未被捕捉的异常,就会调用函数terminate(),终止本程序的运行。 T
正确 错误
3、throw(…)表示函数将会抛出所有类型的异常 T
正确 错误
4、命名空间,就是在程序的不同的模块中使用相同的名字表示不同的事物(实体)。目的是提供一种机制,使大程序的各个部分中因出现重名而导致冲突的可能性降到最低。 T
正确 错误
5、catch处理程序的出现次序无关紧要。F
正确 错误