单选题(共16题,共48分)
开始说明:
结束说明:
1.(3分)
关于mutex类模板的成员函数,下列哪一个选项中是非阻塞上锁函数?( B)
A、lock()
B、try_lock()
C、unlock()
D、yield()
2.(3分)
关于断言,下列说法中错误的是(D )。
A、断言是调试程序的一种手段
B、static_assert是静态断言,即在程序编译时期检测错误
C、宏assert()用来在运行阶段实现断言
D、static_assert可以使用变量作为参数
3.(3分)
关于移动构造函数,下列说法中错误的是(D )。
A、移动构造函数提高了临时对象的效率问题
B、移动构造函数通过右值引用实现
C、移动构造函数要使用一个右值引用对象作为参数
D、移动构造函数的右值引用对象参数可以使用const修饰
4.(3分)
下列关于标准输入输出流的说法中,错误的是( C)。
A、输出流提供的put()函数用于单个字符的输出
B、write()函数一次可以输出一个字符串
C、输入流提供的get()函数在遇到‘\n’时会结束读取
D、getline()一次可以读取一个字符串
5.(3分)
下列关于文件的打开与关闭的说法中,错误的是(C )。
A、ifstream类、ostream类和fstream类都提供了成员函数open()用于打开文件
B、ifstream类打开文件的默认方式是ios::in,ostream类打开文件的默认方式是ios: ut
C、文件流使用完毕后,析构函数会自动释放资源,不用手动调用close()函数关闭文件
D、文件的打开方式可以组合使用
6.(3分)
下列选项中,哪一个模板是表示条件变量的模板?( )
A、condition_variable
B、atomic
C、mutex
D、unique_lock
7.(3分)
下列选项中,可以清除输入流错误状态的函数是( )。
A、clear()
B、fail()
C、put()
D、eof()
8.(3分)
下列选项中,只能用于检测文件读取操作的函数是( )。
A、fail()
B、eof()
C、bad()
D、good()
9.(3分)
关于标准库异常,下列说法中错误的是( )。
A、logic_error类表示那些可以在程序中被预先检测到的异常
B、异常基类exception定义在头文件exception中
C、exception类接口中的函数都有一个noexcept关键字,这表示exception类成员函数不会抛出任何异常
D、runtime_error类不能被继承
10.(3分)
下列选项中,哪一个是C++11标准新增的时间库?( )
A、tuple
B、chrono
C、regex
D、thread
11.(3分)
下列选项中,哪一项不是刷新缓冲区的方式( )。
A、执行flush()函数
B、执行endl语句
C、关闭文件
D、等上5s时间编译器自动刷新
12.(3分)
关于C++异常处理的流程,下列说法中错误的是( )。
A、对某段可能产生异常的代码或函数使用try结构进行检测
B、如果在执行try结构期间没有引起异常,则跟在try后面的catch结构不会执行
C、如果在执行try结构期间发生异常,在异常发生的位置使用throw抛出异常,一个异常对象将被创建
D、本层try语句抛出了异常,只能由本层的catch语句处理
13.(3分)
关于右值引用,下列语句正确的是( )。
A、int&& a=100;
B、int a=10,b=9;int&& x=a-b;
C、int&& a=10+6;
D、int a=100; int&&b=a;
14.(3分)
关于栈解旋,下列说法中正确的是( )。
A、栈解旋时,对象的析构顺序与构造顺序相同
B、栈解旋只能释放栈上的对象
C、栈解旋可以释放堆上的对象
D、try语句块之外的对象也可以通过栈解旋释放
15.(3分)
关于函数声明“float func(int a, int b)throw;”,下列描述中正确的是( )。
A、表明函数抛出float类型异常
B、表明函数可抛出任何类型异常
C、表明函数不抛出任何类型异常
D、表明函数可能抛出异常
16.(3分)
下列选项中,哪一项不是C++11标准提供的智能指针?( )
A、unique_pt
B、shared_ptr
C、auto_ptr
D、weak_ptr
判断题(共26题,共52分)
开始说明:
结束说明:
17.(2分)
文件流对象无法使用>>、<<运算符传输数据。
√
×
18.(2分)
getline()函数用于从输入流中读取一行字符串,作用是从输入流中读取指定个数的字符存储到指定的内存空间。
√
×
19.(2分)
使用静态断言,程序可以在编译时检测错误。
√
×
20.(2分)
C++不支持文件的随机读写。
√
×
21.(2分)
在C++中,宏定义static_cast表示静态断言。
√
×
22.(2分)
线程之间可以进行拷贝、复制操作。
√
×
23.(2分)
创建一个子线程,如果使主线程等待子线程结束任务,则调用join()函数。
√
×
24.(2分)
C++标准异常库以exception类为根基类。
√
×
25.(2分)
C++标准异常类中,logic_error类表示运行时异常。
√
×
26.(2分)
auto关键字是C++11标准新增的关键字。
√
×
27.(2分)
C++11标准中,表示原子类型的类模板为atomic。
√
×
28.(2分)
lock_guard用于管理mutex对象,可以自动为共享资源上锁、解锁。
√
×
29.(2分)
栈解旋会把try语句块中的所有对象都释放,包括堆内存上的对象。
√
×
30.(2分)
在ios类库中,基类ios直接派生了两个类,分别是istream、ostream。
√
×
31.(2分)
istream类提供的成员函数getline(),默认以‘[ck8_view=3]
11.(3分)
下列选项中,哪一项不是刷新缓冲区的方式( )。
A、执行flush()函数
B、执行endl语句
C、关闭文件
D、等上5s时间编译器自动刷新
12.(3分)
关于C++异常处理的流程,下列说法中错误的是( )。
A、对某段可能产生异常的代码或函数使用try结构进行检测
B、如果在执行try结构期间没有引起异常,则跟在try后面的catch结构不会执行
C、如果在执行try结构期间发生异常,在异常发生的位置使用throw抛出异常,一个异常对象将被创建
D、本层try语句抛出了异常,只能由本层的catch语句处理
13.(3分)
关于右值引用,下列语句正确的是( )。
A、int&& a=100;
B、int a=10,b=9;int&& x=a-b;
C、int&& a=10+6;
D、int a=100; int&&b=a;
14.(3分)
关于栈解旋,下列说法中正确的是( )。
A、栈解旋时,对象的析构顺序与构造顺序相同
B、栈解旋只能释放栈上的对象
C、栈解旋可以释放堆上的对象
D、try语句块之外的对象也可以通过栈解旋释放
15.(3分)
关于函数声明“float func(int a, int b)throw;”,下列描述中正确的是( )。
A、表明函数抛出float类型异常
B、表明函数可抛出任何类型异常
C、表明函数不抛出任何类型异常
D、表明函数可能抛出异常
16.(3分)
下列选项中,哪一项不是C++11标准提供的智能指针?( )
A、unique_pt
B、shared_ptr
C、auto_ptr
D、weak_ptr
判断题(共26题,共52分)
开始说明:
结束说明:
17.(2分)
文件流对象无法使用>>、<<运算符传输数据。
√
×
18.(2分)
getline()函数用于从输入流中读取一行字符串,作用是从输入流中读取指定个数的字符存储到指定的内存空间。
√
×
19.(2分)
使用静态断言,程序可以在编译时检测错误。
√
×
20.(2分)
C++不支持文件的随机读写。
√
×
21.(2分)
在C++中,宏定义static_cast表示静态断言。
√
×
22.(2分)
线程之间可以进行拷贝、复制操作。
√
×
23.(2分)
创建一个子线程,如果使主线程等待子线程结束任务,则调用join()函数。
√
×
24.(2分)
C++标准异常库以exception类为根基类。
√
×
25.(2分)
C++标准异常类中,logic_error类表示运行时异常。
√
×
26.(2分)
auto关键字是C++11标准新增的关键字。
√
×
27.(2分)
C++11标准中,表示原子类型的类模板为atomic。
√
×
28.(2分)
lock_guard用于管理mutex对象,可以自动为共享资源上锁、解锁。
√
×
29.(2分)
栈解旋会把try语句块中的所有对象都释放,包括堆内存上的对象。
√
×
30.(2分)
在ios类库中,基类ios直接派生了两个类,分别是istream、ostream。
√
×
31.(2分)
istream类提供的成员函数getline(),默认以‘\0’作为结束符。
√
×
32.(2分)
try…catch语句可以分开,单独使用。
√
×
33.(2分)
cout、cerror和clog是ostream类的对象,cout用于处理标准输出(屏幕输出)。
√
×
34.(2分)
代码int x = 10;int&& a = x;可以编译通过。
√
×
35.(2分)
cin是istream类的对象,用于处理标准输入(键盘输入)。
√
×
36.(2分)
C++中的输入输出流可以分为标准I/O流、文件流和字符串流三类。
√
×
37.(2分)
move()函数可以将一个左值强制转换为右值引用。
√
×
38.(2分)
try语句块中代码抛出异常后,如果异常被正确处理,抛出异常代码后面的程序会继续执行。
√
×
39.(2分)
C++中,抛出异常的关键字是throw。
√
×
40.(2分)
在C++流类库中,ios根基类是一个抽象类。
√
×
41.(2分)
在原生字符串中,所有具有特殊意义的字符都不再起作用。
√
×
42.(2分)
weak_ptr提供的成员函数lock()返回一个auto_ptr对象。
√
×
[/ck8_view]’作为结束符。
√
×
32.(2分)
try…catch语句可以分开,单独使用。
√
×
33.(2分)
cout、cerror和clog是ostream类的对象,cout用于处理标准输出(屏幕输出)。
√
×
34.(2分)
代码int x = 10;int&& a = x;可以编译通过。
√
×
35.(2分)
cin是istream类的对象,用于处理标准输入(键盘输入)。
√
×
36.(2分)
C++中的输入输出流可以分为标准I/O流、文件流和字符串流三类。
√
×
37.(2分)
move()函数可以将一个左值强制转换为右值引用。
√
×
38.(2分)
try语句块中代码抛出异常后,如果异常被正确处理,抛出异常代码后面的程序会继续执行。
√
×
39.(2分)
C++中,抛出异常的关键字是throw。
√
×
40.(2分)
在C++流类库中,ios根基类是一个抽象类。
√
×
41.(2分)
在原生字符串中,所有具有特殊意义的字符都不再起作用。
√
×
42.(2分)
weak_ptr提供的成员函数lock()返回一个auto_ptr对象。
√
×
浙江电大C++语言程序设计_形考4-0001最新答案
随机题搜索:
觉得这篇文章对你有用的话,就打赏一下支持文章作者
评论0