GESP 五级样题(C++ 组) 真题解析

GESP 五级 · 25 道题逐题解析速查表:答案、考点、一句话思路,点击任意题号看完整解析。

GESP 五级 全部真题

逐题速查表

题号题型答案考点解题思路
第 1 题 选择题 A 输入输出 这题考输入输出设备分类。拿到题先想:输出是把计算机内部信息送出去,输入是把外界信息送进来。麦克风是收声音的,属于输入,直接锁定。
第 2 题 选择题 C 二分查找 这道题考二分查找的最坏情况步数。拿到1到100这个范围,先想每次猜中点能砍掉一半区间,再算2的几次方才够盖住100,向上取整就是答案。
第 3 题 选择题 C 分治算法、函数与递归 别一上来就背结论,先逐项验证。A看定义,B想迭代实现,D想并行,唯独C这种绝对化表述要警惕,分治≠二分,复杂度得看递推式。
第 4 题 选择题 C — 这题考循环与递归的本质区别,别被‘等价’忽悠了。拿到题先看factA的for循环和factB的函数自调,再想栈空间限制,最后识别C选项‘任何’这种绝对化陷阱。
第 5 题 选择题 B — 这题别盯着循环逻辑看,先别管代码执行过程,直接看变量声明!看到 'const char s[]' 就明白数组只读,根本改不了内容,输出自然还是原样。
第 6 题 选择题 D 二分查找 二分查找的核心是区间折半,别光背复杂度,拿到题就动手模拟:每次循环看 mid 怎么算、left 和 right 怎么变,数一数 while 循环体到底执行了几次,就能把四个选项逐个…
第 7 题 选择题 C — 这题考的是C++里string类和char数组的底层区别,特别是赋值时的拷贝与引用。拿到题先盯着类型:str1是string对象,str2是它的副本,str3是定长字符数组,str…
第 8 题 选择题 D 函数、函数定义与调用 这题考函数重载与重复定义的区别。拿到题别急着选A,先比参数表:无参版f1()与带int版f1(int n)参数不同,合法重载;再按调用实参匹配对应定义,依次输出f1()、f1(0)…
第 9 题 选择题 B — 这题考异常处理机制。做题时先盯死选项里的绝对词,比如“一定”,异常能被 catch 住时程序照样跑,所以含绝对词的往往就是坑。
第 10 题 选择题 B 循环控制 看到嵌套循环别慌,直接在草稿纸按行模拟:外层i从5递减到1,内层while根据i值反复跳减,每轮print紧跟其后,把变量状态逐行记下来就行。
第 11 题 选择题 C 函数与递归、算法 这题一眼就是欧几里得算法,核心就是看递归里参数怎么变:从(a,b)变成(b,a%b),直到b为0返回a,这就是辗转相除求最大公约数的标准写法,直接选C。
第 12 题 选择题 D 复杂度分析 这题考的是排序算法的时间与空间复杂度辨析。拿到题先看sortA和sortB分别是什么算法,再结合最好、最坏、平均三种情况去匹配选项,尤其要警惕把O(N)和O(log N)搞混。
第 13 题 选择题 C 函数与递归、分治算法 拿到题先别急着看代码细节,直接盯函数签名和调用逻辑:有没有‘自己调自己’?有没有‘把大问题拆成小问题分别解再合并’?这两点同时出现,答案自然出来了。
第 14 题 选择题 B 分治算法 这题考分治思想与筛法的本质区别。拿到题先想‘分治三要素:划分、递归、合并’,再看算法流程是否包含‘把大问题拆成小问题解决后合并’。埃氏筛只是反复标记倍数,没有拆分与合并,直接排除。
第 15 题 选择题 B 链表 这题考链表基础概念辨析,尤其要分清单链表、双链表和循环链表的遍历能力。拿到题先别急着选,把四个选项对应到链表结构特性上:数组能模拟链表吗?头部插入真的O(1)吗?循环链表到底能不能…
第 16 题 判断题 A — 这道题考的是计算机五大硬件部件的完整记忆,拿到题先核对题干是不是把运算器、控制器、存储器、输入、输出这五样都列齐了,缺一个就是错。
第 17 题 判断题 B 算法 这题考的是对'唯一分解定理'概念本质的理解。拿到题别急着背定义,先拆解'唯一'到底修饰谁。定理里'唯一'说的是'分解结果'唯一,不是'分解方法'唯一。把这两个词对号入座,就能一眼看…
第 18 题 判断题 B 复杂度分析、算法 这题考的是埃氏筛法的核心原理与复杂度。拿到题先想:筛法不是对每个数做试除,而是用已找到的质数去标记倍数。题目说"判定一个数要O(N)",这直接违背筛法思想,所以答案选B。
第 19 题 判断题 B 贪心算法、动态规划、算法 这题考贪心算法的本质,看到‘必然能实现全局最优’这种绝对化表述,立刻警觉——贪心只保证局部最优,全局最优需要满足特定条件或证明,直接举反例(如0 1背包)即可否定。
第 20 题 判断题 A 函数 这题考函数指针。拿到题先想:C++里函数名在表达式中会退化为地址,所以它本质上就是个整数值,完全可以像普通变量一样传给参数,因此选A。
第 21 题 判断题 B — 这道题考的是 STL 中 std::sort 的模板机制和比较器传参。很多同学死记硬背'sort 需要比较器',却忽略了比较器完全可以自定义,从而误以为只能排基础类型。拿到题先想:…
第 22 题 判断题 B 数据结构 直接拆掉'任何场景'这个绝对词,对比数组和链表在随机访问、内存占用、缓存友好度上的硬伤,就能一眼看出命题人想让你选错。
第 23 题 判断题 A — 这道题考的是C++动态内存管理的核心规则——new/delete配对。拿到题先别急着选,脑子里过一遍:指针来源是new还是malloc还是栈?delete只能救new,别的都得死,…
第 24 题 判断题 A 算法 别死记结论,直接看算法过程:选择排序每轮挑最小值跟当前位置换,快排分区时左右元素乱跳。只要涉及‘交换’,相等元素的先后顺序就保不住,所以两个都不稳定。
第 25 题 判断题 B 算法、二分查找 这题考二分查找的适用前提,拿到题先想二分法的核心逻辑是什么,再对照题干条件判断是否成立。

本套考点分布

算法 · 6 题二分查找 · 3 题分治算法 · 3 题函数与递归 · 3 题函数 · 2 题复杂度分析 · 2 题输入输出 · 1 题函数定义与调用 · 1 题循环控制 · 1 题链表 · 1 题贪心算法 · 1 题动态规划 · 1 题数据结构 · 1 题

怎么刷这一套

建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。

想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。

← GESP 五级 全部真题真题解析总览