1 . 在C++中,用于声明整数类型变量的是什么?(A)
A. int
B. float
C. char
D. double
2 . 下面哪种循环结构在C++中是无限循环?(D)
A. for
B. while
C. do-while
D. None of the above
解析:
在 C++ 中,for、while 和 do-while 都是循环控制结构,它们本身都不是无限循环。
只有当程序员为它们设置了永远为真(true)的条件时,它们才会变成无限循环。
3 . 在C++中,用于定义预处理器宏的符号是什么?(C)
A. $
B. &
C. #
D. *
4 . C++中,用于获取一个变量的地址的操作符是什么?(B)
A. *
B. &
C. ->
D. ::
5 . 在C++中,用于创建子类的关键字是什么?(D)
A. extends
B. implements
C. subclass
D. class
解析:
在C++中,创建子类并没有像 Java 那样的专用关键字(如 extends),而是继续使用 class(或 struct)关键字来定义新类,并通过冒号(:)符号来表示继承关系。
6 . 下面哪个关键字用于在C++中终止当前循环并立即执行下一次迭代?(C)
A. skip
B. next
C. continue
D. break
7 . 在C++中,通过 std::unique_ptr 管理的对象的所有权是?(B)
A. 可以被多个 std::unique_ptr 共享
B. 只能被一个 std::unique_ptr 拥有
C. 可以被 std::unique_ptr 和 std::shared_ptr 共享
D. 不能被 std::unique_ptr 管理
8 . 下面哪个关键字用于定义一个函数,该函数不返回任何值?(A)
A. void
B. null
C. none
D. empty
9 . 在C++中,std::vector 的 emplace_back() 和 push_back() 之间的主要区别是什么?(C)
A. emplace_back() 接受可变数量的参数,push_back() 只接受一个参数。
B. emplace_back() 会复制参数,push_back() 会移动参数。
C. emplace_back() 可以直接构造对象,push_back() 需要先创建对象再添加到容器中。
D. emplace_back() 会在容器的末尾添加元素,而 push_back() 则可以在任意位置添加。
10 . 在C++中,用于从标准输入流中读取用户输入的对象是什么?(A)
A. std::cin
B. std::cout
C. std::ifstream
D. std::ofstream
11 . 在C++中,下列哪种数据类型用于存储整数值?(C)
A. float
B. double
C. int
D. char
12 . 下列代码的输出是什么?(B)
|
|
A. 0
B. 10
C. 编译错误
D. 运行时错误
解析:
p 指向 x,q 指向 p。* * q 等同于 * ( * q) ➡️ * ( p ) ➡️ x,所以输出 10。
13 . 下列哪种运算符用于获取变量的地址?(B)
A. *
B. &
C. %
D. /
14 . 在C++中,下列哪种关键字用于定义一个类?(A)
A. class
B. struct
C. private
D. public
15 . 下列哪种语句用于在C++中定义一个函数?(D)
A. method
B. function
C. def
D. void
解析:
严格来说,void 是一个数据类型(表示无类型),而不是一种“语句”,而C++ 定义函数时必须指定返回类型。
但在给出的选项(method, function, def, void)中,只有 void 是 C++ 的合法关键字并常用于函数定义。
16 . 下列哪个关键字用于在C++中表示在编译时替换的常量?(B)
A. static
B. constexpr
C. const
D. define
解析:
constexpr(C++11引入)明确要求表达式在编译时求值。
const 仅表示只读,不一定在编译时确定。
17 . 下列哪种数据结构用于按照先进先出(FIFO)的顺序存储元素?(B)
A. 栈(Stack)
B. 队列(Queue)
C. 链表(Linked List)
D. 树(Tree)
18 . 在C++中,下列哪种关键字用于终止循环并立即退出循环体?(A)
A. break
B. continue
C. return
D. exit
19 . 下列哪种语句用于在C++中引入一个外部头文件?(A)
A. #include
B. #import
C. #define
D. #using
20 . 下列代码的输出是什么?(B)
|
|
A. 5
B. 6
C. 0(未定义行为)
D. 未定义
解析:
ref 是 x 的引用(别名),对 ref 的操作就是对 x 的操作。
21 . 在C++中,下列哪种关键字用于在类定义中指定一个成员函数只能由类的其他成员函数调用,而不能被外部调用?(A)
A. private
B. protected
C. public
D. friend
22 . 下列哪种语句用于在C++中抛出一个异常?(A)
A. throw exception;
B. raise exception;
C. catch(exception);
D. try { throw exception; }
23 . 在C++中,下列哪种关键字用于在派生类中重写基类的成员函数?(A)
A. override
B. virtual
C. super
D. extend
24 . 下列哪种数据结构在C++标准库中被实现为模板类?(C)
A. 栈(Stack)
B. 队列(Queue)
C. 向量(Vector)
D. 链表(Linked List)
解析:
实际上,选项 A(栈 std::stack)、B(队列 std::queue)和 D(链表 std::list)在 C++ 标准库(STL)中全部都是模板类。
但是,在大多数初级教材中,std::vector 是最典型的模板类示例。
25.在C++中,下列哪种关键字用于声明一个纯虚函数?(B)
A. abstract
B. virtual
C. pure
D. override
小贴士:
virtual 用于声明虚函数。
而纯虚函数是指在虚函数的基础上后面加了 = 0(比如 virtual void func() = 0;)。
26 . 下列哪种语句用于在C++中动态转换对象的类型?(A)
A. dynamic_cast<>
B. static_cast<>
C. reinterpret_cast<>
D. const_cast<>
27. 在C++中,下列哪种关键字用于防止类被继承?(B)
A. sealed
B. final
C. static
D. const
28. 下列哪种语句用于在C++中创建一个线程?(C)
A. start_thread()
B. create_thread()
C. thread()
D. spawn_thread()
29. 在C++中,下列哪种关键字用于将一个函数声明为内联函数?(A)
A. inline
B. fast
C. quick
D. rapid
30. 下列哪种语句用于在C++中实现多态性?(A)
A. virtual functions
B. abstract classes
C. friend functions
D. static functions