这条路线的目标
整条路径覆盖 3 级的全部 8 个知识域,学习顺序按依赖关系排列,不从最容易背的概念开始。建议总投入 8–10 周,每周 4–5 次、每次 90 分钟;时间只是建议,实际按每阶段的自检标准推进,过关了再往下走——每个阶段末尾都写了「自检标准」,做不到就先把这一阶段补完,不要靠后面的内容反过来补前面的缺口。
GESP C++ 3 级覆盖 8 个知识域。本站免费开放4 套 3 级真题和1 套基础诊断卷,常规诊断卷、客观题诊断卷与模拟卷需权益码解锁。每套 27 题、满分 100 分、限时 120 分钟。
阶段划分
下面 5 个部分按顺序做,每一部分都写清了「学什么、练什么、怎么判断可以进入下一阶段」。
- 阶段一:数据编码、进制转换与位运算(约 1–2 周)
- 阶段二:算法描述与一维数组(约 2 周)
- 阶段三:字符串及其函数(约 1–2 周)
- 阶段四:枚举法与模拟法(约 2–3 周)
- 阶段五:整卷训练与复盘(约 1 周)
阶段一:数据编码、进制转换与位运算
三块内容是一体的:补码决定负数在内存里怎么存,进制决定同一串位怎么读,位运算则是直接对位操作。学的时候把同一个数在十进制、二进制、十六进制与补码形式下并列写出来,三者立刻能对上。
本阶段涉及的知识点
练习任务
- 把若干正负数分别写成原码、反码、补码,并验证取反加一的关系
- 手工完成十进制与二、八、十六进制的互相转换各 10 组
- 用位运算实现「判断奇偶」「交换两数」「取出某一位」,并与常规写法对比
自检标准:给出一个负数,能写出它在 8 位下的补码;给出一个位运算表达式,能算出手算结果。
阶段二:算法描述与一维数组
一维数组是三级最常用的工具,也是数组类失分的主要来源:下标从 0 还是 1、循环上界取不取等号、越界。算法描述部分则要能把一个过程用自然语言、流程图、伪代码三种方式说清楚。
本阶段涉及的知识点
练习任务
- 用数组完成统计频次、求最大最小值及位置、逆序输出三类题各 3 道
- 每写一道数组题,先在注释里标出合法下标的范围,再写循环
- 把一段含数组遍历的伪代码改写成 C++,并说明两者的对应关系
自检标准:写数组题时能先确定下标范围,且不再出现越界或多遍历一格的错误。
阶段三:字符串及其函数
字符串题的核心是把「一串字符」当成「一个可以按下标访问的数组」来处理,再叠加常用函数(求长度、查找、截取、比较)。三级考的多是遍历、统计与简单变换,注意结束符与长度的边界。
本阶段涉及的知识点
练习任务
- 不用现成函数,手写求长度、统计某字符出现次数、大小写转换各一遍
- 用字符串做「回文判断」「单词计数」两类题,先画清楚指针/下标怎么移动
- 整理常用字符串函数的作用与返回值,各写一个最小示例
自检标准:拿到一道字符串题,能说清遍历的起点、终点与边界字符如何处理。
阶段四:枚举法与模拟法
三级的算法题基本落在这两类上。枚举要练「枚举什么、范围多大、怎么判定」三件事,做到不漏不重;模拟要练「严格按题意一步步执行」,不提前跳步,因为跳跃最容易漏边界。
本阶段涉及的知识点
练习任务
- 写 5 道枚举题,每题先写清枚举对象与范围,再写判定条件
- 写 3 道模拟题,把题目步骤逐条翻译成代码,按要求顺序执行
- 整理枚举的常见优化(缩小范围、提前终止、去重)与各自适用的场景
自检标准:枚举题能说清为什么不会漏解、不会重复;模拟题不跳步就能得到正确结果。
阶段五:整卷训练与复盘
三级整卷的编程题通常一道数组类、一道算法类。这一阶段用限时卷把两类题型都过一遍,重点复盘「思路对但被边界判错」的题,这类题改一次能长期受益。
本阶段涉及的知识点
练习任务
- 限时完成一套三级真题,客观题与编程题都做
- 把被判错的编程题按「思路错 / 边界错 / 格式错」三类归因
- 针对边界错,整理一份自己的检查清单(下标、循环上界、空输入、极值)
自检标准:一套卷的编程题失分能明确归因,且边界类错误明显减少。
本级别免费测评
路径里的练习任务最终都要落到真实作答上:免费:1 套诊断卷 + 4 套真题。常规诊断卷、客观题诊断卷与模拟卷需权益码解锁。建议每完成一个阶段就做一套卷检验,进入下一阶段前再限时完成一套完整卷。
时间安排建议
建议总投入 8–10 周,每周 4–5 次、每次 90 分钟。如果可用时间明显少于这个量级,优先保证「写代码」的那几次,压缩概念复习时间。
- 数据表示类内容集中在前两周解决,它是后面数组与位运算的前提
- 编程练习采用「先写思路与边界清单,再写代码,最后造 3 组测试数据」的固定流程
- 每两周一次限时整卷,客观题与编程题分开统计正确率
- 错题本按知识域归档,三级优先看数组与字符串两类
这条路径上最常见的坑
- 数组下标从 0 还是 1 随手写:同一个人在同一套卷里会前后不一致
- 枚举范围拍脑袋:漏掉最大或最小值,测试点零星挂掉
- 模拟题自作聪明跳步:把题意里明确要求的步骤省掉
- 位运算靠背结论:不推导补码,题目变一个符号就错
相关问题
三级是不是必须先把二级全部学透?
不必完全覆盖,但有两块必须补上:多层嵌套结构的写法,以及字符与整数的区别。三级的一维数组遍历依赖循环的熟练度,字符串处理依赖对字符本质的理解,这两块不扎实,后面会反复卡住。
枚举法和模拟法怎么区分,考试中怎么选?
枚举法是「把所有可能逐个试一遍再判定」,关键在于说清枚举范围;模拟法是「按题目描述的过程逐步执行」,关键在于严格照做。如果题目给了明确的操作步骤就按模拟写,如果是「找出满足条件的方案」就按枚举写。
START FROM HERE
先从一套基础诊断卷开始
如果还不确定自己的起点在哪,先做该级免费的基础诊断卷:报告会按知识点给出正确率与薄弱项,再对照这条路径决定从哪个阶段切入。
