理论卷2024年12月GESP等级认证(C++) · 六级

GESP C++ 6级 2024.12

满分 100 · 及格 60 · 时长 60 分钟 · 共 27 题 (单选15 / 判断10 / 编程题2)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
单选题号 #11889
分值 2

面向对象编程(OOP)是一种特殊的程序设计方法。下面( )不是重要的 OOP 特性。

A

抽象

B

封装

C

继承

D

模块化

2
单选题号 #11890
分值 2

以下关于 C++ 中类的说法,哪一项是正确的?

A

类中定义的所有成员变量和成员函数默认是 publicpublic 访问权限。

B

类的构造函数必须显式声明返回类型为 voidvoid。

C

在 C++ 中,类的数据一般设置为私有,其公有成员函数提供访问私有数据的唯一途径。

D

同一个类的实例有各自的成员数据和成员函数。

3
单选题号 #11891
分值 2

以下 C++ 代码段中存在语法错误或逻辑错误,( )是正确的。

#include 
using namespace std;

class MyClass {
public:
 MyClass() {
 cout display();
 return 0;
}
A

NULLNULL 在 C++ 中无法用于指针初始化,应使用 nullptrnullptr。

B

objobj 的定义应该是 MyClass obj;而不是指针类型。

C

obj->display() 语句存在空指针访问错误,objobj 应该初始化为一个有效的对象。

D

obj->display() 语句会调用 display() 函数,但它没有输出任何内容。

4
单选题号 #11892
分值 2

阅读以下代码,下面哪一项是正确的?

void processData() {
 stack s;
 queue q;
 for (int i = 1; i <= 5; ++i) {
 s.push(i);
 q.push(i);
 }
 while (!s.empty()) {
 cout << "Stack pop: " << s.top() << endl;
 s.pop();
 }
 while (!q.empty()) {
 cout << "Queue pop: " << q.front() << endl;
 q.pop();
 }
}
A

栈 s 的输出顺序是 1 2 3 4 51\ 2\ 3\ 4\ 5,队列 q 的输出顺序是 5 4 3 2 15\ 4\ 3\ 2\ 1。

B

栈 s 的输出顺序是 5 4 3 2 15\ 4\ 3\ 2\ 1,队列 q 的输出顺序是 1 2 3 4 51\ 2\ 3\ 4\ 5。

C

栈 s 的输出顺序是 1 2 3 4 51\ 2\ 3\ 4\ 5,队列 q 的输出顺序是 1 2 3 4 51\ 2\ 3\ 4\ 5。

D

栈 s 的输出顺序是 1 2 3 4 51\ 2\ 3\ 4\ 5,队列 q 的输出顺序是 1 2 3 4 51\ 2\ 3\ 4\ 5,程序不会正常执行。

5
单选题号 #11893
分值 2

NN 个节点的双向循环链,在其中查找某个节点的平均时间复杂度是( )。

A

O(1)O(1)

B

O(N)O(N)

C

O(logN)O(logN)

D

O(N3)O(N^3)

6
单选题号 #11894
分值 2

以下关于树的说法,( )是正确的。

A

在一棵二叉树中,叶子结点的度一定是 22。

B

满二叉树中每一层的结点数等于 O(2层数−1)O(2^{\text{层数}-1})

C

在一棵树中,所有结点的度之和等于所有叶子结点的度之和。

D

一棵二叉树的先序遍历结果和中序遍历结果一定相同。

7
单选题号 #11895
分值 2

已知字符集 {A,B,C,D}\{A, B, C, D\} 的出现频率如下表所示:

字符频率
AA88
BB33
CC11
DD66
根据哈夫曼编码法,下面( )是正确的哈夫曼树。
A
 ABCD
 / \
 A BCD
 / \
 D BC
 / \
 B C
B
 ABCD
 / \
 A BCD
 / \
 B CD
 / \
 C D
C
 ABCD
 / \
 D ABC
 / \
 A BC
 / \
 B C
D
 ABCD
 / \
 C ABC
 / \
 B AD
 / \
 A D
8
单选题号 #11896
分值 2

上一题中各字符的哈夫曼编码是( )。

A

A:0, B:10, C:110, D:111

B

A:0, B:10, C:11, D:10

C

A:0, B:101, C:100, D:11

D

A:11, B:10, C:01, D:00

9
单选题号 #11897
分值 2

( )是 3 位格雷编码。

A

000 001 011 010 110 111 101 100

B

000 001 010 011 100 101 110 111

C

000 001 100 101 011 010 111 110

D

000 010 001 011 100 110 101 111

10
单选题号 #11898
分值 2

根据下面二叉树和给定的代码

#include 
using namespace std;

struct TreeNode {
 int val;
 TreeNode* left;
 TreeNode* right;
 TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};



TreeNode* search(TreeNode* root, int val) {
 cout val val == val)
 return root;
 if (val val)
 return search(root->left, val);
 else
 return search(root->right, val);
}

给定以下二叉搜索树,调用函数 search(root, 7) 时,输出的结果是( )

 5
 / \
 3 7
 / \ / \
 2 4 6 8
A

5 3 75\ 3\ 7

B

5 75\ 7

C

2 3 4 5 6 72\ 3\ 4\ 5\ 6\ 7

D

8 78\ 7

🔒

已解锁前 10 题

第 11~27 题(共 17 题)可在考试中作答
本卷为普通试卷:注册用户每题扣 1 积分(每日登录送 30 体验积分),交卷后查看答案与解析
海小星AI平台海小星AI平台

点亮AI梦想,编程未来之星。专业的青少年AI编程教育平台。

课程方向

  • AIGC人工智能
  • Scratch图形化
  • Python编程
  • C++/NOIP竞赛

联系我们

  • 北京市西城区万博苑7号楼3层F28室
  • +86-010-83553010
  • contact@seanova.cn

© 2026 海小星AI平台|京ICP备2022032747号

隐私政策服务条款