GESP-C++ 三级考试核心考点与编程实战模板
考试定位与目标
三级是从'语法'走向'算法'的第一关。官方目标很明确:能使用数组、字符串,配合枚举法和模拟法,解决实际问题。
备考时需注意三点:
- 不强调算法竞赛:不需要追求最优复杂度。
- 规则理解优先:重点在于能否准确理解题目规则并转化为程序。
- 逻辑清晰:代码实现要符合题目描述的步骤。
核心知识点概览
按照大纲,三级内容主要涵盖以下六个方面:
1. 数据编码(理解型知识)
重点掌握原码、反码、补码的概念。考试通常以选择或判断题形式出现,要求会判断和简单手算,不作为复杂编程的核心部分。
2. 进制转换(必考)
涉及二进制、八进制、十进制、十六进制的相互转换。这是三级考试的重点,常结合字符串处理或位运算考察。
- 十进制转二进制/其他进制
- 简单十六进制字符处理
3. 位运算(特色重点)
熟练掌握 &、|、~、^、<<、>> 等运算符。
- 常见用途:判断奇偶、统计二进制 1 的个数、构造条件判断。
- 技巧:活学活用,例如利用
x & 1判断奇偶。
4. 算法的概念与描述
重点在于将自然语言、流程图或伪代码'翻译'成程序。
- 核心思想:所有可能 → 一个个试;所有步骤 → 一步步做。
- 重点算法:枚举法、模拟法(地位最高)。
5. 数组
C++ 数组基本应用是基础。
- 必会内容:定义、读入、遍历、统计/比较、模拟过程。
- 常见题型:最大/最小值查找、计数、前缀累加、双重循环枚举。
- 注意:考试中数组长度不大,重逻辑不重性能。
6. 字符串及其函数(高频)
涉及大小写转换、搜索、分割、替换等操作。
- 常用 API:
string,length(),substr()。 - 常见考法:统计字符、字符变换、拆分字符串、简单规则判断(如回文)。
明确不考内容
这部分是考生最容易焦虑的地方,直接划清界限:
- ❌ 递归
- ❌ 排序算法
- ❌ DFS / BFS
- ❌ 动态规划
- ❌ 贪心算法(作为概念不出现)
若题目看起来像上述内容,本质仍是 枚举 / 模拟。不要过度思考复杂算法,回归基础逻辑。
编程题特征与通用模板
根据大纲和历年真题,编程题通常为 2 道,每题 25 分。数据范围小,不卡时间,但输出格式严格。
1. 数组 + while / for 模拟
这是三级最常见的题型。核心在于状态是否能正确终止。
a[N];
n, ans = ;
() {
pos = ;
(结束条件) ;
a[pos] -= x;
ans++;
}


