Description
**一、单选题(每题 2 分,共 30 分)**
1. 近年来,线上授课变得普遍,很多有助于改善教学效果的设备也逐渐流行,其中包括比较常用的手写板,那么它属于哪类设备?( )
- 输入
- 输出
- 控制
- 记录
2. 如果 $a$ 和 $b$ 均为 $int$ 类型的变量,且 $b$ 的值不为 $0$ ,那么下列能正确判断“ $a$ 是 $b$ 的 $3$ 倍”的表达式是 ( )
- (a >> 3 == b)
- (a - b) % 3 == 0
- (a / b == 3)
- (a == 3 \* b)
3. 以下不属于面向对象程序设计语言的是 ( )
- C++
- Python
- Java
- C
4. 下面有关 $C++$ 类定义的说法,错误的是 ( )
- C++类实例化时,会执行构造函数。
- C++自定义类可以通过定义构造函数实现自动类型转换。
- C++自定义类可以通过重载 > 、 < 等运算符实现大小比较。
- C++自定义类可以包含任意类型的成员。
5. 有关下面 $C++$ 代码的说法,错误的是 ( )

- 代码 cout << st << endl; 不会报错,将正常输出 ABC 。
- 第 6 行代码的 data 是 MyStr 类的成员变量。
- 代码 MyStr st("ABC"); 不会报错,将执行构造函数。
- 以上说法均没有错误。
6. 下列关于命名空间的说法错误的是 ( )
- 命名空间可以嵌套, 例如 namespace A { namespace B { int i;}} 。
- 命名空间只可以在全局定义。
- 命名空间中可以存放变量和函数。
- 如果程序中使用了 using 命令同时引用了多个命名空间,并且命名空间中存在相同的函数,会出现程序运行错误。
7. 有关下面 $C++$ 代码的说法,正确的是 ( )

- 这段代码不能正常运行。
- ManyData 类可用于构造队列(Queue)数据结构。
- 在上面代码环境,代码 cout<< myData.\_\_data[0] << endl; 可以增加到代码 main 函数末尾( return 0;之前),且不会导致报错。
- 可以为 ManyData 类的 push() 、 pop() 函数增加异常处理代码,否则在使用 ManyData 类时可能导致运行时错误或逻辑错误(不一定局限于上述代码中的 main 函数)。
8. 有关下面 $C++$ 代码的说法,错误的是 ( )。

- MoreData 类可用于构造队列(Queue)数据结构。
- 代码第29行,连续 push() 的用法将导致编译错误。
- \_\_data 是 MoreData 类的私有成员,只能在类内访问。
- 以上说法均没有错误。
9. 某内容仅会出现 $ABCDEFG$,其对应的出现概率为$0.40$、$0.30$、$0.15$、$0.05$、$0.04$、$0.03$、$0.03$,如下图所示。按照哈夫曼编码规则,假设 B 的编码为 $11$,则 $D$ 的编码为 ( )。

- 10010
- 10011
- 10111
- 10001
10. 下面有关格雷码的说法,错误的是 ( )
- 在格雷码中,任意两个相邻的代码只有一位二进制数不同。
- 格雷码是一种唯一性编码。
- 在格雷码中,最大数和最小数只有一位二进制数不同。
- 格雷码是一种可靠性编码。
11. 有关下图的二叉树,说法正确的是 ( )

- 既是完全二叉树也是满二叉树。
- 既是二叉搜索树也是平衡二叉树。
- 非平衡二叉树。
- 以上说法都不正确。
12. $N$ 个节点的二叉搜索树,其查找的平均时间复杂度为 ( )
- $O(1)$
- $O(N)$
- $O(logN)$
- $O(N^2)$
13. 青蛙每次能跳 $1$ 或 $2$ 步。下面是青蛙跳到第 $N$ 步台阶 $C++$ 实现代码。该段代码采用的算法是 ( )

- 递推算法
- 贪心算法
- 动态规划算法
- 分治算法
14. $N$ 个节点的双向循环链,在其中查找某个节点的平均时间复杂度是 ( )
- $O(1)$
- $O(N)$
- $O(logN)$
- $O(N^2)$
15. 关于 $C++$ 语言,以下说法不正确的是 ( )
- 若对象被定义为常量,则它只能调用以 const 修饰的成员函数。
- 所有的常量静态变量都只能在类外进行初始化。
- 若类 A 的对象 a 是类 B 的静态成员变量,则 a 在 main() 函数调用之前应被初始化。
- 静态全局对象、常量全局对象都是在 main 函数调用之前完成初始化,执行完 main 函数后被析构。
**二、判断题(每题 2 分,共 20 分)**
16. $TCP/IP$ 的传输层的两个不同的协议分别是 $UDP$ 和$TCP$。
- 正确
- 错误
17. $5G$ 网络中,$5G$ 中的 $G$ 表示 $Gigabytes/s$,其中 $1 GB = 1024 MB$。
- 正确
- 错误
18. 在面向对象中,类是对象的实例。
- 正确
- 错误
19. 在 $C++$ 类的定义中,使用 $static$ 修饰符定义的静态成员被该类的所有对象共享。
- 正确
- 错误
20. 在 $C++$ 类的定义中,可以定义初始化函数或运算符函数等。
- 正确
- 错误
21. $DFS$ 是深度优先算法的英文简写。
- 正确
- 错误
22. 哈夫曼编码是一种有损压缩算法。
- 正确
- 错误
23. 有些算法或数据结构在 $C/C++$ 语言中使用指针实现,一个典型的例子就是链表。因此,链表这一数据结构在 $C/C++$ 语言中只能使用指针来实现。
- 正确
- 错误
24. 如果节点数为 $N$,广度搜索算法的最差时间复杂度为 $O(N)$。
- 正确
- 错误
25. 二叉搜索树的左右子树也是二叉搜索树。
- 正确
- 错误
Source
gesp