GESP 1-5级编程题核心考点与备考攻略及真题分类
根据过往真题(截至2025年9月)的整理与分析,我们总结了GESP 1级到5级编程题的核心考点、常见题型及备考建议。同时,我们将历年真题进行了详细分类,帮助各位考生更有针对性地进行复习。
GESP 一级:语法基础与简单逻辑
一级考试主要考察考生对C++基本语法的掌握程度,题目通常逻辑简单,直来直去。
核心考点与典型题型
- 基础输入输出:熟练使用
cin/cout或scanf/printf。 - 基本数据类型与运算:整型(
int)、浮点型(double/float)、字符型(char)的定义与四则运算,特别是取模运算%的应用。- 典型题型:公式计算类(如长方形面积、温度转换)。
- 基础流程控制:
- 分支结构:
if-else的使用,简单的逻辑判断(如奇偶判断、大小比较)。 - 典型题型:简单逻辑判断(如奇数和偶数、小明的幸运数)。
- 循环结构:基础的
for或while循环,通常用于简单的累加、计数。 - 典型题型:简单循环(如累计相加、找因数)。
- 分支结构:
备考建议
- 严抓语法:确保分号、括号匹配、变量声明等基础语法不出错。
- 数据范围:注意题目中变量的范围,养成使用
long long的意识。
精选真题分类练习
1. 运算与公式计算
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 长方形面积 | 基础乘法、变量定义 | 点击练习 |
| 温度转换 | 浮点数运算、公式转换 | 点击练习 |
| 立方数 | 简单的幂运算 | 点击练习 |
| 休息时间 | 时间单位换算(时分秒) | 点击练习 |
| 商店折扣 | 简单的百分比/折扣计算 | 点击练习 |
| 四舍五入 | 浮点转整型的技巧 | 点击练习 |
2. 分支逻辑(条件判断)
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 奇数和偶数 | 奇偶性判断 (%2) | 点击练习 |
| 每月天数 | 多分支判断(闰年判断) | 点击练习 |
| 小明的幸运数 | 整除判断 (%n == 0) | 点击练习 |
| 小杨的考试 | 阈值判断、逻辑与或 | 点击练习 |
| 小杨购物 | 条件分支 | 点击练习 |
| 图书馆里的老鼠 | 简单的坐标或逻辑判断 | 点击练习 |
3. 基础循环(迭代)
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 累计相加 | 1到N求和 | 点击练习 |
| 找因数 | 遍历 1到N 判断整除 | 点击练习 |
| 小杨报数 | 跳过特定条件的数 (continue) | 点击练习 |
| 小杨买书 | 简单的循环或逻辑 | 点击练习 |
| 美丽数字 | 循环判断数位特征 | 点击练习 |
| 值日 | 寻找公倍数(简单循环实现) | 点击练习 |
| 金字塔 | 平方和累加循环 | 点击练习 |
| 假期阅读 | 循环模拟阅读进度 | 点击练习 |
GESP 二级:多重循环与数位处理
二级难度有显著提升,重点考察逻辑思维能力,特别是处理嵌套结构和数字特性的能力。
核心考点与典型题型
- 多重循环(嵌套循环):这是二级最大的门槛。
- 典型题型:图形打印类(如画三角形、X字矩阵),需要找准行号(i)与列号(j)之间的数学关系。
- 数位处理:利用
% 10和/ 10提取数字的每一位。- 典型题型:数位拆分类(如水仙花数、数位之和、数字黑洞)。
- 简单数学函数与枚举:平方、开方、暴力循环。
- 典型题型:简单数论(找素数)、应用题(百鸡问题)。
备考建议
- 画图找规律:对于矩阵和图形打印题,在纸上画出坐标系,寻找
i和j的关系。 - 熟练拆数:闭着眼睛也要能写出
while(n){ d = n%10; n/=10; }的模板。
精选真题分类练习
1. 数位处理(拆数)
2. 图形打印(矩阵逻辑)
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 画三角形 | 字符构成的三角形 | 点击练习 |
| 小杨的 X 字矩阵 | 对角线判断 (i==j 或 i+j==n-1) | 点击练习 |
| 小杨的 H 字矩阵 | 特定行列的字符填充 | 点击练习 |
| 小杨的日字矩阵 | 边界判断 | 点击练习 |
| 小杨的 N 字矩阵 | 复杂对角线逻辑 | 点击练习 |
| 等差矩阵 | 矩阵填充规律 | 点击练习 |
| 菱形 | 复杂的空白与字符控制 | 点击练习 |
3. 枚举与简单数学
GESP 三级:数组、字符串与进制转换
三级开始引入数据结构的概念,不再只是处理单个变量,而是处理“一批”数据。
核心考点与典型题型
- 一维数组:数组的定义、遍历、查找(最值)、统计。
- 典型题型:数组统计(如春游、小杨的储蓄)。
- 字符串处理:
string类的使用,长度、访问、拼接。- 典型题型:字符串操作(如密码合规、回文拼接)。
进制转换与位运算:各进制转换、位运算(&, , ^)。 - 典型题型:进制判断、奇偶校验、2025。
- 简单模拟:按步骤实现逻辑。
- 典型题型:小猫分鱼、分糖果。
备考建议
- 掌握
string:熟练掌握string成员函数,理解 ASCII 码转换。 - 模拟耐心:模拟题通常题目较长,需耐心将文字逻辑转化为代码。
精选真题分类练习
1. 数组应用
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 春游 | 数组最值查找/匹配 | 点击练习 |
| 小杨的储蓄 | 数组累加/模拟 | 点击练习 |
| 寻找倍数 | 数组遍历+条件判断 | 点击练习 |
| 平衡序列 | 数组区间性质 | 点击练习 |
| 移位 | 数组元素移动/旋转 | 点击练习 |
| 数字替换 | 数组元素的查找与修改 | 点击练习 |
| 数组清零 | 数组操作 | 点击练习 |
| 日历制作 | 数组存储日期/星期 | 点击练习 |
2. 字符串处理
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 密码合规 | 字符类型判断 (digit/upper/lower) | 点击练习 |
| 回文拼接 | 回文串判断 (reverse) | 点击练习 |
| 单位转换 | 字符串解析与数值计算 | 点击练习 |
| 字母求和 | 字符转数字累加 | 点击练习 |
| 词频统计 | 字符串匹配与计数 | 点击练习 |
| 完全平方数 | 可能是字符串与数字结合 | 点击练习 |
3. 进制与逻辑模拟
GESP 四级:函数、结构体与基础算法
四级标志着向正规算法竞赛的过渡,强调模块化编程和对数据组织形式的理解。
核心考点与典型题型
- 函数与结构体:自定义函数,结构体打包数据。
- 典型题型:函数封装(如幸运数)、复杂数据排序(如成绩排序、区间排序)。
- 二维数组:矩阵操作。
- 典型题型:矩阵/图像压缩、黑白方块。
- 排序算法:
std::sort与自定义cmp。- 典型题型:田忌赛马、字符排序。
- 算法优化:前缀和、滑动窗口。
- 典型题型:宝箱。
备考建议
- 学会写
cmp:熟练掌握结构体排序的bool cmp(const Type& a, const Type& b)写法。 - 模块化思维:尝试将独立逻辑封装成函数。
- 关注复杂度:考虑是否能优化 $O(N^2)$ 的暴力解法。
精选真题分类练习
1. 函数与模块化
2. 排序与结构体
3. 多维数组与矩阵
GESP 五级:数论入门与进阶算法
五级是小学/初中阶段的一个分水岭,重点考察数学功底和常见算法模型。
核心考点与典型题型
- 数论基础:质因数分解、GCD/LCM、素数筛。
- 典型题型:因数分解、B-smooth数、最大公因数。
- 贪心算法:局部最优策略。
- 典型题型:巧夺大奖、烹饪问题、武器强化。
- 二分算法:二分查找、二分答案。
- 典型题型:奖品兑换(最大值最小)。
备考建议
- 数学补课:复习初等数论,熟记 GCD 模板。
- 算法模板:熟练掌握二分查找、素数筛的模板。
- 逻辑推理:学会先推导数学性质再编程。
精选真题分类练习
1. 数论基础
| 题目名称 | 考察点 | 链接 |
|---|---|---|
| 因数分解 | 质因数分解技巧 | 点击练习 |
| 小杨的幸运数 | 因子/倍数性质 | 点击练习 |
| B-smooth 数 | 最大质因子判断 | 点击练习 |
| 小杨的幸运数字 | 可能是数论规律 | 点击练习 |
| 原根判断 | 模运算与阶 | 点击练习 |
| 最大公因数 | 欧几里得算法 | 点击练习 |
2. 贪心算法
3. 其他进阶算法
总结
- 1-2级:重在“写代码”,把想法翻译成正确的C++语句。
- 3-4级:重在“数据组织”,学会用数组、结构体、函数来管理数据和逻辑。
- 5级:重在“算法与数学”,开始考察如何算得快、算得巧。
最后,我现在找的练习题也是仅仅围绕这些考点进行的。希望大家在学习之路多多交流。
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP 学习专题站:GESP WIKI
“luogu-”系列题目可在洛谷题库进行在线评测。
“bcqm-”系列题目可在编程启蒙题库进行在线评测。
欢迎加入:Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答
欢迎加入:C++ GESP/CSP认证学习QQ频道,考试资源总结汇总
欢迎加入:C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助
本文由作者按照 CC BY-NC-SA 4.0 进行授权
