# GESP暑假集训班大纲 ## 课程信息 - **课程目标**:巩固GESP一级内容,备战9月等级考试,融入二级核心知识 - **适合学生**:学过一年C++,基础较好 - **课时安排**:12节课 × 2小时 - **考试目标**:9月GESP一级全员通过,部分学生冲刺二级 --- ## 课程大纲总览 | 节次 | 课程名称 | 等级 | 核心知识点 | |:---:|----------|:---:|------------| | 1 | C++自带函数 | 一级 | 标准库函数调用、头文件、字符判断函数 | | 2 | 循环结构 + 数位拆解 | 一级 | for/while循环、数位拆解技巧、回文数判断 | | 3 | 自定义函数 | 四级拓展 | 函数定义与调用、参数传递、返回值 | | 4 | 数据类型与分支结构 | 一级 | 五种数据类型、ASCII码、if-else分支、打擂台 | | 5 | 嵌套循环与图形打印 | 二级 | 嵌套循环执行流程、图形规律分析 | | 6 | 字符数组与string | 二级 | string基本操作、字符串处理 | | 7 | 数组计数法 | 二级 | 计数思想、频次统计、去重输出 | | 8 | 枚举与模拟 | 三级工具 | 枚举思想、模拟算法 | | 9 | GESP一级真题训练 | 冲刺 | 一级综合练习 | | 10 | GESP二级真题训练一 | 冲刺 | 二级综合练习 | | 11 | GESP二级真题训练二 | 冲刺 | 二级综合练习 | | 12 | 模拟考试 | 冲刺 | 模拟考试环境、查漏补缺 | --- ## 各课详细知识点 ### 第1课:C++自带函数 **等级**:一级 | **核心**:正确选择并使用标准库函数 | 知识模块 | 具体内容 | |----------|----------| | 数学函数 | `sqrt`(开平方)、`abs`(绝对值)、`pow`(幂运算) | | 最值与交换 | `max`、`min`、`swap` | | 字符判断 | `isalpha`、`isdigit`、`islower`、`isupper` | | 字符转换 | `tolower`、`toupper` | | 头文件 | ``、``、`` | **考点**:函数名、头文件、参数类型、返回值 --- ### 第2课:循环结构 + 数位拆解 **等级**:一级 | **核心**:循环边界与数位拆解 | 知识模块 | 具体内容 | |----------|----------| | 三种循环 | `for`(次数明确)、`while`(条件控制)、`do-while`(至少执行一次) | | 数位拆解 | 取个位 `n%10`、去个位 `n/10`、求各位和、反转数字 | | 回文数判断 | 反转后与原数比较 | | 水仙花数 | 三位数各位立方和等于自身 | **核心口诀**:取个位、拼新数、去个位 --- ### 第3课:自定义函数(拓展) **等级**:四级拓展 | **核心**:函数的参数、返回值与调用过程 | 知识模块 | 具体内容 | |----------|----------| | 函数定义 | 返回类型、函数名、参数列表、函数体 | | 参数传递 | 形参vs实参、值传递 | | 返回值 | `return`语句、`void`函数 | | 函数重载 | 同名不同参数 | | 变量作用域 | 局部变量vs全局变量 | **典型题目**:判断素数函数 --- ### 第4课:数据类型与分支结构 **等级**:一级 | **核心**:数据类型、类型转换与数据范围 | 知识模块 | 具体内容 | |----------|----------| | 五种数据类型 | `int`、`char`、`double`、`bool`、`string` | | ASCII码 | 字符本质是整数,`'0'`=48、`'A'`=65、`'a'`=97 | | 类型转换 | 隐式转换、强制转换、`1.0*sum/n`触发浮点运算 | | 分支结构 | `if`、`else if`、`else`、`switch`、三目运算 | | 打擂台 | 普通打擂台、带并列规则的二次打擂台 | **核心口诀**:int存整数、char单字符、double小数、bool对错、string字符串 --- ### 第5课:嵌套循环与图形打印 **等级**:二级 | **核心**:嵌套循环中的行列关系 | 知识模块 | 具体内容 | |----------|----------| | 嵌套循环 | 外层管行、内层管列 | | 直角三角形 | 左下、右下、左上、右上 | | 等腰三角形 | 第i行:空格`n-i`个,星号`2i-1`个 | | 菱形 | 正等腰 + 倒等腰 | **核心公式**: - 等腰三角形星号数:`2i - 1` - 前导空格数:`n - i` --- ### 第6课:字符数组与string **等级**:二级 | **核心**:字符串输入和逐字符处理 | 知识模块 | 具体内容 | |----------|----------| | 输入方式 | `cin >> s`(遇空格停)、`getline(cin, s)`(读整行) | | 基本操作 | `s.length()`取长度、`s[i]`访问字符 | | 查找替换 | `s.find()`、`s.replace()`、`s.substr()` | | 字符统计 | 配合`isupper`、`islower`、`isdigit`分类统计 | | 回文判断 | 首尾字符两两比较 | --- ### 第7课:数组计数法 **等级**:二级 | **核心**:数值映射为下标的计数思想 | 知识模块 | 具体内容 | |----------|----------| | 核心写法 | `cnt[x]++` | | 频次统计 | 统计每个数字出现次数 | | 最高频查找 | 打擂台找众数 | | 去重升序输出 | 遍历计数数组,天然有序 | **适用条件**:数值范围有限,可作为数组下标 --- ### 第8课:枚举与模拟 **等级**:三级工具降维 | **核心**:枚举范围与模拟执行顺序 | 知识模块 | 具体内容 | |----------|----------| | 枚举思想 | 列举所有可能,逐一验证 | | 枚举优化 | 缩小范围、提前终止 | | 模拟思想 | 按题目描述一步步翻译成代码 | | 典型题目 | 鸡兔同笼、找完数、斐波那契数列 | **枚举vs模拟**:枚举在"答案空间"中找,模拟在"时间步骤"中走 --- ### 第9-11课:真题训练 **目标**:综合运用所学知识,提高解题速度 | 训练内容 | 涵盖知识点 | |----------|------------| | 一级真题 | 输入输出、数据类型、分支、循环、数位处理 | | 二级真题 | 数组、字符串、嵌套循环、计数法 | --- ### 第12课:模拟考试 **目标**:模拟考试环境,查漏补缺 | 内容 | 说明 | |------|------| | 考试环境 | 120分钟,100分,60分合格 | | 时间管理 | 先易后难,留10分钟检查 | | 检查清单 | 头文件、变量初始化、数组越界、输出格式 | --- ## 核心考点速查表 | 考点类型 | 对应课程 | 关键技巧 | |----------|----------|----------| | 输入输出 | 1、4 | `cin/cout`、`getline` | | 数据类型 | 4 | int/char/double的选择、ASCII码转换 | | 分支结构 | 4 | if-else链、switch、打擂台 | | 循环结构 | 2、5 | for/while选择、嵌套循环、图形规律 | | 数组操作 | 7、9 | 遍历、计数、排序、去重 | | 字符串处理 | 6 | string操作、字符判断、回文 | | 函数 | 3 | 定义调用、参数返回值 | | 算法思想 | 8 | 枚举、模拟 | --- ## 打油诗口诀汇总 1. **自带函数**:自带函数真方便,头文件里全找见 2. **自定义函数**:函数写好存身旁,起名调用响当当 3. **数据类型**:int存整数范围广,char单字符本质藏 4. **打擂台**:擂台之上比高矮,先请一位站上台 5. **数位拆解**:循环取位倒着排,个位拼到新数来 6. **回文数**:反转数字比原数,相等就是回文数 7. **图形打印**:外层循环管行数,内层循环管列数 8. **数组计数**:数值下标来对号,每次出现次数高 9. **枚举模拟**:枚举就是全试过,模拟照着步骤走 --- ## 参考资源 - **GESP官方网站**:https://gesp.ccf.org.cn - **刷题平台**:https://www.luogu.com.cn(洛谷) - **考试时长**:120分钟 - **满分**:100分 - **合格线**:60分