跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
|注册
博客列表

目录

  1. GESP 2025 年 12 月 C++ 七级认证真题与解析(单选题 1-7)
  2. 第 1 题:形参、实参与作用域
  3. 题目核心
  4. 正确答案
  5. 选项分析
  6. A 选项(正确)
  7. B 选项(错误)
  8. C 选项(错误)
  9. D 选项(错误)
  10. 第 2 题:最长公共子序列 (LCS)
  11. 题目背景
  12. 正确答案
  13. 查找步骤
  14. 第 3 题:哈希表(线性探测)
  15. 规则
  16. 正确答案
  17. 第 4 题:背包问题(0/1 背包)
  18. 题目背景
  19. 正确答案
  20. 其他选项分析
  21. 第 5 题:完全二叉树最少节点数
  22. 题目条件
  23. 计算规则
  24. 计算过程
  25. 正确答案
  26. 第 6 题:二叉树遍历判断
  27. 题目背景
  28. 正确答案
  29. 第 7 题:二分查找变形
  30. 代码分析
  31. 功能说明
  32. 正确答案
C++算法

GESP 2025 年 12 月 C++ 七级认证真题与解析(单选题 1-7)

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

星落发布于 2026/3/210 浏览
GESP 2025 年 12 月 C++ 七级认证真题与解析(单选题 1-7)

GESP 2025 年 12 月 C++ 七级认证真题与解析(单选题 1-7)

第 1 题:形参、实参与作用域

题目核心

哪一句话是对的?

正确答案

A

选项分析

A 选项(正确)

形参是函数定义时所指定的变量,它只在函数内部有效。

用代码说明:

void eat(int apple) { // apple 是形参
    apple = apple + 1;
}
  • apple 只住在 eat 这个函数作用域内。
  • 出了函数门,apple 就消失了。
B 选项(错误)

即使是常量引用,也可以修改它

❌ 错!

void f(const int& x) {
    x = 5; // ❌ 不允许
}
  • const 表示'贴了封条',不能改。
C 选项(错误)

实参和形参类型必须完全一致

❌ 不对

void f(double x) {}
int a = 3;
f(a); // ✅ int → double,可以自动转换
D 选项(错误)

指针形参赋值会影响实参

void f(int* p) {
    p = nullptr; // ❌ 只改了 p,不影响外面
}
  • 改的是'地址盒子'本身,不是盒子里的东西。

第 2 题:最长公共子序列 (LCS)

题目背景

有三本魔法书(序列):

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. 找 1:三个序列都有。
  2. 找 8:都在 1 后面。
  3. 找 5:也都在 8 后面。
  4. 找 6:也都在 5 后面。

👉 {1, 8, 5, 6} 成功!

注意:LCS 最重要的是顺序不能乱。


第 3 题:哈希表(线性探测)

规则

  • 哈希表 = 停车场
  • 哈希函数 = 推荐车位
  • 冲突 = 车位被占
  • 规则:被占了,就往后一个一个找空位;到头了,从头再来。

正确答案

D

这是典型的 线性探测法(Linear Probing)。


第 4 题:背包问题(0/1 背包)

题目背景

  • 每个物品有重量和价值。
  • 每个物品要么拿,要么不拿,不能拿两次。

正确答案

C

动态规划可以用滚动数组优化空间

其他选项分析

  • A 贪心一定最优? ❌ 错!0/1 背包不能用贪心保证最优。
  • B 是 P 问题? ❌ 错!0/1 背包是 NP-完全问题。
  • D 子问题不能复用? ❌ 错!动态规划的灵魂就是复用子问题。

第 5 题:完全二叉树最少节点数

题目条件

  • 深度 = 6(根是第 1 层)
  • 完全二叉树
  • 问:最少有多少节点

计算规则

  • 前 5 层必须满。
  • 第 6 层至少 1 个。

计算过程

1 + 2 + 4 + 8 + 16 = 31
31 + 1 = 32

正确答案

B 32


第 6 题:二叉树遍历判断

题目背景

判断哪一种遍历顺序不可能。

正确答案

D(中序遍历错了)

只要画出树、按规则走,就能发现 D 不符合中序:左 → 根 → 右。


第 7 题:二分查找变形

代码分析

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};

功能说明

这是一个经典的 二分查找变形。

  • 在有序数组中,找到第一个 ≥ x 的下标。
  • 不是找 3 本身,而是找:第一个'≥ 3'的位置。

正确答案

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

更多推荐文章

查看全部
  • 原生 AI PPT 生成应用“蕉幻”的技术架构与使用解析
  • Palantir Foundry 五层架构模型详解
  • 高校学生宿舍报修系统设计与实现
  • Java 面试核心知识点总结:Spring、MySQL、并发编程等
  • Android 开发入门:Kotlin 与 Java 如何选择
  • DashScope Java SDK 调用通义千问实现文生文
  • FPGA 工程实战经验:板级调试与 Qsys 系统搭建
  • Linux 上安装 PostgreSQL
  • Linux 基础:Shell 概念解析与 Python 环境安装指南
  • C++26 静态反射元编程实战与核心技巧
  • 基于 SpringBoot 的宠物销售系统设计与实现
  • Skillsmp.com 免费技能市场实战指南
  • 现代 C++ 编程的 10 个核心技巧:更安全、高效与优雅
  • 利用 Blob 对象和 iframe 实现 PDF 跨域打印的 JavaScript 方案
  • CentOS 中 Tailscale 引起 DNS 解析问题解决方法
  • Sudachi 模拟器架构解析与跨平台实现

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online