GESP 2025 年 12 月 C++ 七级认证真题与解析(单选题 1-7)
GESP 2025 年 12 月 C++ 七级认证考试的前 7 道单选题及其解析。内容涵盖函数形参与实参的作用域区别、常量引用的不可变性、类型转换规则及指针操作;最长公共子序列(LCS)的查找方法;哈希表线性探测冲突解决策略;0/1 背包问题的动态规划特性与贪心算法局限性;完全二叉树节点数计算;二叉树遍历顺序判断;以及二分查找变形(寻找第一个大于等于目标值的位置)。通过代码示例和逻辑分析,帮助考生理解核心考点。

GESP 2025 年 12 月 C++ 七级认证考试的前 7 道单选题及其解析。内容涵盖函数形参与实参的作用域区别、常量引用的不可变性、类型转换规则及指针操作;最长公共子序列(LCS)的查找方法;哈希表线性探测冲突解决策略;0/1 背包问题的动态规划特性与贪心算法局限性;完全二叉树节点数计算;二叉树遍历顺序判断;以及二分查找变形(寻找第一个大于等于目标值的位置)。通过代码示例和逻辑分析,帮助考生理解核心考点。

哪一句话是对的?
A
形参是函数定义时所指定的变量,它只在函数内部有效。
用代码说明:
void eat(int apple) { // apple 是形参
apple = apple + 1;
}
apple 只住在 eat 这个函数作用域内。apple 就消失了。即使是常量引用,也可以修改它
❌ 错!
void f(const int& x) {
x = 5; // ❌ 不允许
}
const 表示'贴了封条',不能改。实参和形参类型必须完全一致
❌ 不对
void f(double x) {}
int a = 3;
f(a); // ✅ int → double,可以自动转换
指针形参赋值会影响实参
void f(int* p) {
p = nullptr; // ❌ 只改了 p,不影响外面
}
有三本魔法书(序列):
s1 = 3 1 8 2 5 6 7 4
s2 = 1 5 1 8 6 4 7 5 6
s3 = 1 8 3 5 7 6 2 4
要找同时按顺序出现在三本书里的数字,但不要求连续。
A {1, 8, 5, 6}
👉 {1, 8, 5, 6} 成功!
注意:LCS 最重要的是顺序不能乱。
D
这是典型的 线性探测法(Linear Probing)。
C
动态规划可以用滚动数组优化空间
1 + 2 + 4 + 8 + 16 = 31
31 + 1 = 32
B 32
判断哪一种遍历顺序不可能。
D(中序遍历错了)
只要画出树、按规则走,就能发现 D 不符合中序:左 → 根 → 右。
int query(int n, int *a, int x) {
int l = 0, r = n;
while (l < r) {
int mid = l + (r - l) / 2;
if (a[mid] >= x) r = mid;
else l = mid + 1;
}
if (l == n) return -1;
return l;
}
int n = 10;
int x = 3;
int num[] = {1, 2, 2, 3, 3, 4, 5, 5, 6, 7};
这是一个经典的 二分查找变形。
B. 3
下标对应关系:
下标:0 1 2 3 4 5 6 7 8 9
数值:1 2 2 3 3 4 5 5 6 7
第一个 ≥ 3 的位置是下标 3。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online