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