205 lines
7.2 KiB
Markdown
205 lines
7.2 KiB
Markdown
# 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` |
|
||
| 头文件 | `<cmath>`、`<algorithm>`、`<cctype>` |
|
||
|
||
**考点**:函数名、头文件、参数类型、返回值
|
||
|
||
---
|
||
|
||
### 第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分
|