GESP202609 C++ 四级 真题解析

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

GESP 四级 全部真题

逐题速查表

题号题型答案考点解题思路
第 1 题 选择题 C 指针与引用 指针题目先定位指针指向的变量,再看解引用操作是否修改原变量。本题p指向count, p+=4是解引用后对count值做加法,count和 p都变12,输出两个12。
第 2 题 选择题 B — 看到 const int p 先想"指针指向常量",即 p 不可变,但 p 本身可变。选项逐个验证:A 错在试图修改 p;C 错在把指针本身也当成常量;D 错在认为指针不能重定向。…
第 3 题 选择题 B — 看到二维数组指针声明,先定位 p 指向首行;p+1 下移一行; (p+1) 解引用得第二行;再 +2 偏移列;最后解引用取值。本质是内存地址的逐层运算。
第 4 题 选择题 C — 看到二维数组函数形参,先想 C++ 数组传参规则——数组名退化为指针,但第二维必须指定。
第 5 题 选择题 A 作用域与生命周期 全局变量 score 初始 60,main 中局部变量 score 初始 80 遮蔽了全局同名变量。update 函数通过引用参数修改传入的局部 score 变为 85,而 ::s…
第 6 题 选择题 D — 看到结构体定义先想成员访问,看到reset/start两个函数参数类型差异立刻定位考点——值传递只改副本,引用传递改原对象。main里先reset再start,关键是d.state…
第 7 题 选择题 C 结构体(struct)、一维数组 看到结构体数组和指针,先定位指针指向哪个元素,再看修改操作影响哪个成员,最后确认输出的是哪个元素的哪个成员。
第 8 题 选择题 C 算法、时间复杂度分析 看到排序题先想算法核心操作。冒泡是相邻交换,插入是有序区插入,选择是全局找极值。时间复杂度看比较次数,最坏都是 O(n²)。关键观察是每轮操作对象不同:冒泡只碰相邻,插入只碰有序区…
第 9 题 选择题 C 递推、循环控制 本题是经典的斐波那契数列变体。看到题先识别出 ways(n) 就是求第 n 项递推值,n≤2 时直接返回 n 是基准情形,循环里用 a、b 滚动保存前两项,每次迭代计算 c=a+b…
第 10 题 选择题 C 算法 看输入输出序列,定位相同键值元素,对比相对位置是否改变。
第 11 题 选择题 B 算法 插入排序的核心是:把当前元素 key 插入到前面已排好序的子数组中。插入位置由比较决定——只要 a[j] 比 key 大,就往后挪一位,直到遇到比 key 小的元素或到达数组开头。…
第 12 题 选择题 D 时间复杂度分析 看到嵌套循环先数内层执行次数。外层 i 从 0 跑 n 次,内层 j 从 i+1 跑 n−i−1 次,总迭代数 = Σ(i=0..n−1)(n−i−1) = n(n−1)/2,即 …
第 13 题 选择题 B — 看到 fin a b; 先想到 对 string 是空格分隔读取,第一个词进 a,第二个词进 b。输出 b << " " << a 就是反序拼接。
第 14 题 选择题 C — 看到异常处理题先想:throw 抛出的类型是什么、catch 块的类型匹配规则、try 块内 throw 后后续代码是否执行。本题核心是 int 异常与 const char 捕获…
第 15 题 选择题 A 冒泡排序 看到冒泡排序先想"为什么需要 changed 标志"——外层循环每轮把最大元素沉底,若某轮没发生任何交换,说明数组已有序,可提前结束。因此 changed 初始必须为 false(…
第 16 题 判断题 A 指针与内存 先定位 a 初值为 10,再确认 p 指向 a 的地址,最后看 p += 5 是解引用后对 a 做加法,等价于 a += 5,算得 a 最终为 15,与题干一致,选 A。
第 17 题 判断题 B 函数 C++中函数调用前只需定义即可,声明非必须。定义函数时编译器自动处理声明,命题人故意混淆"声明"与"定义"的必要性,考察考生对C++语法细节的掌握程度。
第 18 题 判断题 A — 看到题先想内存布局:二维数组按行优先存储,a 是指向第一行的指针,a+1 指向第二行, (a+1) 取第二行首元素,再 +0 仍是该元素,最后解引用得值。
第 19 题 判断题 B 函数 看到函数形参是 int 类型且无引用符号,立刻意识到是值传递。main 里的 x 和 change 里的 x 是两个独立变量,函数内修改形参不影响实参。输出的是 main 中的 x…
第 20 题 判断题 A — 看到结构体初始化先想语法:C++11起支持聚合初始化,大括号内按成员顺序赋值。本题结构体有两个int成员,初始化列表{3,4}正好对应x和y,类型匹配、顺序正确,所以合法。这类题通…
第 21 题 判断题 A 插入排序 这类题看到"稳定排序"四个字就要警觉——稳定性是排序算法的隐性考点。插入排序的核心是"把当前元素插入到已排序部分正确位置",稳定性的关键在于:遇到相等元素时,必须把后面的那个放在前…
第 22 题 判断题 A 循环控制、递推 模拟循环过程,初始 result=1,每次 i 从 1 到 n 累乘,循环结束后 result 即为 n!。关键看循环条件和乘法操作是否覆盖所有因子。
第 23 题 判断题 B 时间复杂度分析 外层循环 i 从 0 到 n 1 执行 n 次,内层循环 j 从 1 开始每次乘以 2 直到≥n,这是典型的对数级循环,执行次数为 log₂n。总操作数 = n × log₂n =…
第 24 题 判断题 A — 看到 ofstream 先定位到文件输出流,构造函数带文件名即打开文件,<< 运算符写入数据,close 确保缓冲区刷新。这类题通法就是逐行识别流对象、构造参数、写入操作、资源释放…
第 25 题 判断题 B — 看到异常捕获题先想类型兼容性。C++异常捕获要求抛出的类型与catch参数类型精确匹配或派生关系,字符串字面量"Error"类型是const char ,与int毫无关系,因此ca…

本套考点分布

算法 · 3 题时间复杂度分析 · 3 题递推 · 2 题循环控制 · 2 题函数 · 2 题指针与引用 · 1 题作用域与生命周期 · 1 题结构体(struct) · 1 题一维数组 · 1 题冒泡排序 · 1 题指针与内存 · 1 题插入排序 · 1 题

怎么刷这一套

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

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

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