📅 2026年9月 · C++ 四级 · 考后速递

2026年9月 GESP C++ 四级 真题答案 + 解析

C++ 四级单选 15 题 / 判断 10 题答案速查 + 本场考点 + 难度评价 + 易错题精解。想知道孩子这套能考多少?免费做这套真题模考,3 秒自动估分。

L4

C++ 四级 真题详情

单选15×2 + 判断10×2 + 编程2×25 = 100

📋 单选答案(1–15)

题号123456789101112131415
答案CBBCADCCCCBDBCA

📋 判断答案(1–10)

题号12345678910
答案√×√×√×√×√×
✓ = 正确 · ✗ = 错误 · 答案以官方为准

🎯 本场考点

指针(交换两数)函数与参数结构体(成绩求平均)二维数组STL 初步·异常处理排序稳定性·文件流

📈 难度评价

较难

较难。指针、结构体是门槛;函数参数、结构体数组、排序稳定性是高频考点。

💻 编程题速览

本卷 2 道编程题:《新汉诺塔》《有序网格》。逐题题解整理中,将陆续更新。

🔍 易错题精解

单选第 2 题答案 B

const int *p 是"指向常量的指针":不能通过 *p 改所指的值,但指针本身可以改指向,所以 p = &b 合法。选 B。(要"指针不可改"得写 int * const p。)

单选第 3 题答案 B

int(*p)[4] 是"指向含 4 个 int 的一维数组"的指针,p+1 跳到第 1 行。*(*(p+1)+2) 即 goods[1][2] = 14。选 B。

单选第 4 题答案 C

二维数组作形参必须给出除第一维外的所有维长。3 行 5 列应写 int arr[][5](等价于 int(*arr)[5])。选 C。

单选第 5 题答案 A

update(int &score) 按引用修改的是 main 里的局部 score:80+5=85。::score 是全局变量,仍为 60。输出 85 60。选 A。

单选第 6 题答案 D

reset(Device d) 传值,改的是副本,原 d.state 不变(仍 2);start(Device &d) 传引用,d.state 变 3。输出 7 3。选 D。传值/传引用是本题核心。

单选第 7 题答案 C

p = books + 1 指向 books[1](Math,150),p->pages += 10 改的就是 books[1],变 160。输出 Math 160。选 C。

单选第 9 题答案 C

这是斐波那契式递推(每步方法数 = 前两步之和)。ways:b 依次为 2→3(i=3)→5(i=4)→8(i=5)→13(i=6),ways(6)=13。选 C。

单选第 10 题答案 C

排序前 (90,'A') 在 (90,'C') 之前,排序后变成 C 在 A 之前——相同 score 的相对顺序被打乱,说明该排序不稳定。选 C。

单选第 11 题答案 B

插入排序:把 key 插入前面有序段。只要前一个元素比 key 大就右移,条件是 a[j] > key。选 B。

单选第 12 题答案 D

双重循环,内层 j 从 i+1 到 n,总比较次数约 n(n-1)/2,时间复杂度 O(n²)。选 D。

单选第 13 题答案 B

fin >> a >> b 以空白分隔,a="Blue"、b="Sky"。输出 b<<"-"<<a 得 Sky-Blue。选 B。

单选第 14 题答案 C

throw age 抛出的是 int(-1)。catch(const char*) 类型不匹配跳过,被 catch(int value) 捕获,输出 C 加 value,即 C-1。选 C。异常按类型精确匹配。

单选第 15 题答案 A

优化冒泡:每轮开始把标志置 false,一旦发生交换就置 true;若一整轮没交换(!changed)说明已有序,提前 break。故两横线依次填 false、true。选 A。

判断第 2 题答案 ×

函数只需在调用前有声明(原型),定义可以放到后面或别的文件。"必须先定义"说法错误。

判断第 4 题答案 ×

change(int x) 是传值,函数内改 x 不影响 main 的 x,输出仍是 10 而非 20。要改需传引用 int& x。命题错误。

判断第 6 题答案 ×

稳定的插入排序,移动条件应是严格 a[j] > key。若用 a[j] >= key,相等元素也会被越过,反而破坏稳定性。命题恰好说反,错误。

判断第 8 题答案 ×

外层跑 n 次,内层 j 每次翻倍(j*=2)只跑约 log₂n 次,总复杂度是 O(n·log n),不是命题所给的值。命题错误。

判断第 10 题答案 ×

throw "Error" 抛的是 const char*,而 catch(int e) 只接 int,类型不匹配接不住。异常未被捕获会导致程序异常终止,不会输出 Caught。命题错误。

📊 想知道孩子这套能考多少分?免费注册,做这套C++ 四级真题限时模考,自动估分 + 逐题解析
去估分 →

← 返回 2026年9月 一~八级真题总览

2026年9月 考完了,下一步考C++ 五级?

GESPPASS 有一~八级全部真题 + 8 级×20 套原创模拟卷,免费开考。趁热打铁,备考下一级。

看模拟考试 →
GESPPASS · CCF GESP C++ 一~八级免费备考刷题平台 · 真题解析仅供学习,报名考试以 CCF GESP 官网 为准
首页 · 模拟考试 · 关于