GESP C++四级考试考点详细解读
1. 指针
- 重点:指针类型定义、变量赋值与解引用。
- 应用场景:动态内存管理、函数参数传递(如修改实参)、链表操作。
- 注意点:空指针、野指针的避免,指针运算的边界控制。
2. 二维及多维数组
- C++:静态数组定义(如
int arr[3][4]
)、动态数组(指针数组或vector
嵌套)。 - Python:列表嵌套(如
matrix = [[1,2], [3,4]]
)。 - 典型问题:矩阵遍历、动态规划中的多维状态存储。
3. 结构体
- 核心操作:定义结构体、结构体数组/指针、嵌套结构体。
- 进阶用法:结构体作为函数参数(值传递 vs 引用传递)、
const
修饰符保护数据。 - 应用场景:学生信息管理、复杂数据聚合。
4. 函数
- 基础:函数声明与定义、形参与实参的区别。
- 关键点:全局变量与局部变量的作用域、值传递与引用传递的区别。
- 实战:递归函数设计、函数重载。
5. 递推算法
- 思想:从已知条件逐步推导结果,避免重复计算。
- 典型问题:斐波那契数列、爬楼梯问题、杨辉三角。
- 难点:递推关系式的数学建模。
6. 排序算法
- 基础算法:冒泡、插入、选择排序的实现。
- 复杂度分析:时间复杂度(如 O ( n 2 ) O(n^2) O(n2))、稳定性(相同元素顺序是否保留)。
- 扩展:简单场景下的算法选择(如小数据量用插入排序)。
7. 文件操作
- C++操作:
freopen
重定向、ifstream
/ofstream
读写文件。 - 常见问题:文件打开失败处理、读写格式控制。
8. 异常处理
- 机制:
try
/catch
/throw
的基本语法。 - 应用:处理输入错误、内存分配失败等异常。
洛谷OJ练习题单(按知识点分类)
1. 指针
- [P1428 小鱼比可爱]- 指针遍历数组。
- [P1141 01迷宫]- 指针与动态内存管理。
2. 二维数组
- [P2615 幻方] - 二维数组填数。
- [P1328 生活大爆炸版石头剪刀布]- 多维规则矩阵。
3. 结构体
- [P1104 生日]- 结构体排序。
- [P1051 谁拿了最多奖学金 - 结构体数据聚合。
4. 函数
- [P1028 数的计算] - 递归函数设计。
- [P1304 哥德巴赫猜想]- 函数封装与调用。
5. 递推算法
- [P1255 数楼梯]- 斐波那契递推(高精度)。
- [P1002 过河卒] - 递推与动态规划。
6. 排序算法
- [P1177 快速排序模板] - 手写基础排序。
- [P1068 分数线划定] - 排序稳定性应用。
7. 文件操作
- [P1001 A+B Problem]- 文件重定向练习。
- [P5707 上学迟到] - 输入输出格式控制。
8. 异常处理
- [P5719 分类平均] - 输入合法性校验。
- [P1055 ISBN号码]- 异常数据处理。
练习建议:
- 按知识点逐个突破,先理解理论再动手编码。
- 对排序、递推等高频考点,需反复练习直到熟练。
- 文件操作和异常处理题目较少,可结合实际项目加深理解。
文末彩蛋:关注并查看老师的个人主页,学习完整信奥赛系列课程:
https://edu.csdn.net/lecturer/7901