2016春郑州大学《面向对象程序设计》第10章在线测试 下载本文

《面向对象程序设计》第10章在线测试

《面向对象程序设计》第10章在线测试 剩余时间:4 6:13 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、try块中包含的语句是( ) A、所有代码 C、throw一定要在try块中才会被捕捉 B、可能产生错误的语句 D、程序中可以有多个throw,但只能有一个catch 2、下面哪些情况不会造成异常( ) A、内存耗尽 C、除数为0 B、再次打开文件 D、数组越界访问 3、关于没有被捕捉的异常正确的说法是( ) A、在catch块中没有处理的异常 C、如果一个异常没有被捕捉到,将调用terminate()函数终止程序运行 B、未被捕捉的异常必然导致系统崩溃 D、忽略它 4、关于异常对象的说法正确的是( ) B、以传值方式传递异常对象时,抛出的是局部临时对象 C、以引用方式传递异常对象时,抛出的是局部静态对象 5、关于重新抛出错误的说法是( ) A、重新抛出是指抛出原来的异常 C、只能在catch块中抛出 A、异常对象需要先建立,再抛出 D、以指针方式传递异常对象时,抛出的是全局临时对象 B、用throw语句再次抛出原来的异常 D、重新抛出时不能改变异常信号的值 第二题、多项选择题(每题2分,5道题共10分) 1、下面的说法正确的是( ) A、异常处理是指允许C++程序非正常结束 B、异常处理是指C++程序在出错的情况下有正确合理的表现 C、C++程序绝对不能出现错误 D、异常处理使C++程序在出现错误的情况下仍能继续运行

2、下面说法正确的是( )

A、C++程序中可以存在多个名字空间

B、不同的名字空间中不能出现名字相同的变量 C、名字空间能避免名字冲突 D、C++程序中也可以不定义名字空间

3、下面的说法正确的是()

A、引发异常用关键字throw

B、在被调用函数中检测到异常条件用throw都可以引发异常 C、被调用函数只有在try块中用throw才可以引发异常 D、检测到的异常由catch捕获并处理

4、VC++6.0 环境中,为了检测异常处理机制,需要进行如下设置( )

A、在Setting对话框中打开Link选择项卡 B、在Setting对话框中打开C/C++选项卡 C、选择C++ Languge

D、选中复选框Enable exception handling

5、关于catch(?)语句的说法正确的是( )

A、catch(?)语句可以捕获任何异常

B、catch(?)语句可以放在catch子句的任何位置 C、catch(?)语句必须放在catch子句的最后 D、catch(?)语句捕获空的异常

第三题、判断题(每题1分,5道题共5分)

1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.

正确

错误

2、throw( )表示函数不会抛出任何类型的异常

正确 错误 3、命名空间,就是在程序的不同的模块中使用相同的名字表示不同的事物(实体)。目的是提供一种机制,使大程序的各个部分中因出现重名而导致冲突的可能性降到最低。 正确 错误 4、在C++程序中如果不定义名字空间,就表示没有使用名字空间。 正确 错误 5、catch处理程序的出现次序无关紧要。 正确 错误 交卷