CCF考级
- C++ 一级考纲知识内容
- 计算机基础知识
- 集成开发环境
- 结构化程序设计
- 程序的基本语句
- 程序的基本概念
- 基本运算
- 基本数据类型
- C++ 二级考纲知识内容
- 计算机存储与网络
- 程序设计语言
- 流程图
- ASCII 编码
- 数据类型转换
- 多层分支/循环结构
- 数学函数
- C++ 三级考纲知识内容
- 数据编码
- 进制转换
- 位运算
- 算法与描述
- 数据结构
- 字符串及其函数
- C++ 四级考纲知识内容
- 指针
- 二维及多维数组
- 结构体
- 函数
- 递推算法
- 排序算法
- 文件操作
- 异常处理
- C++ 五级考纲知识内容
- 初等数论
- 算法复杂度估算方法
- C++高精度运算
- 链表
- 二分算法
- 递归算法
- 分治算法
- 贪心算法
- C++ 六级考纲知识内容
- 树
- 基于树的编码
- 搜索算法
- 简单动态规划
- 面向对象
- 栈和队列
- C++ 七级考纲知识内容
- 数学库函数
- 复杂动态规划
- 图的定义及遍历
- 图论算法
- 哈希表
- C++ 八级考纲知识内容
- 计数原理
- 排列与组合
- 杨辉三角
- 倍增法
- 代数与平面几何
- 图论算法及综合应用
- 算法的时间和空间效率分析
- 算法优化
C++ 一级考纲知识内容
计算机基础知识
- 计算机的软硬件组成、常见操作、发展历程。
集成开发环境
- 创建文件、编辑文件、保存文件、编译、解释、调试。
结构化程序设计
- 顺序结构、分支结构、循环结构。
程序的基本语句
cin
语句、scanf
语句、cout
语句、printf
语句、赋值语句、复合语句、if
语句、switch
语句、for
语句、while
语句、do-while
语句。
程序的基本概念
- 标识符、关键字、常量、变量、表达式的概念。
- 常量与变量的命名、定义、作用。
- 程序的注释。
基本运算
- 算术运算、逻辑运算、关系运算、变量自增与自减运算、三目运算、位运算。
基本数据类型
- 整数型:
int
,long long
- 实数型:
float
,double
- 字符型:
char
- 布尔型:
bool
C++ 二级考纲知识内容
计算机存储与网络
- ROM、RAM、CACHE
- 计算机网络分类
- TCP/IP 四层模型与 OSI 七层模型
- IP 地址及子网划分
程序设计语言
- 程序设计语言分类
- 常见的高级语言
流程图
- 流程图的概念、绘制流程图、描述流程图
ASCII 编码
- 常见字符的 ASCII 编码、字符编码之间的相互转换
数据类型转换
- 强制类型转换
- 隐式类型转换
多层分支/循环结构
if
语句、if...else
语句、switch
语句的嵌套while
循环、do...while
循环、for
循环的嵌套
数学函数
- 绝对值函数:
abs()
- 平方根函数:
sqrt()
- 最大值函数:
max()
- 最小值函数:
min()
- 随机数函数:
rand()/srand()
及相关
C++ 三级考纲知识内容
数据编码
- 原码、反码、补码
进制转换
- 二进制、八进制、十进制、十六进制
位运算
- 与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)
算法与描述
- 枚举法、模拟法
- 自然语言描述、流程图描述、伪代码描述
数据结构
- C++一维数组;Python 列表、字典、元组、集合、列表解析
字符串及其函数
- 大小写转换、字符串搜索、分割、替换等
C++ 四级考纲知识内容
指针
- 指针类型,指针类型定义变量,指针类型变量的赋值、解引用
二维及多维数组
- C++二维及多维数组的定义、使用
- Python 复合类型的嵌套使用
结构体
- 结构体定义和使用,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,结构体中
const
使用场景
函数
- 函数的定义、调用、声明
- 形参、实参
- 全局作用域、局部作用域
- 值传递、引用传递
递推算法
- 递推算法基本思想、递推关系式推导
排序算法
- 冒泡排序、插入排序、选择排序
- 时间复杂度、空间复杂度、算法稳定性
- 简单算法复杂度的估算,含多项式、指数复杂度
文件操作
- 文件重定向,读操作、写操作、读写操作
异常处理
- 异常处理机制和常用方法
C++ 五级考纲知识内容
初等数论
- 素数与合数、最大公约数与最小公倍数、同余与模运算、约数与倍数、质因数分解、奇偶性
- 欧几里得算法
- 唯一分解定理
- 素数表的埃氏筛法和线性筛法
算法复杂度估算方法
- 含多项式的算法复杂度
- 含对数的算法复杂度
C++高精度运算
- C++数组模拟高精度加法、减法、乘法、除法
链表
- 单链表、双链表、循环链表的创建、插入、删除、遍历、查找的基本操作
二分算法
- 二分查找算法
- 二分答案算法(也称二分枚举法)
递归算法
- 递归算法的相关概念
- 递归算法的时间复杂度和空间复杂度
- 递归的优化策略
分治算法
- 归并排序算法
- 快速排序算法
贪心算法
- 贪心算法的相关概念
- 最优子结构
C++ 六级考纲知识内容
树
- 树的基本概念
- 哈夫曼树
- 完全二叉树
- 二叉排序树
基于树的编码
- 格雷编码
- 哈夫曼编码
搜索算法
- 深度优先搜索算法(DFS)
- 宽度优先搜索算法(也称广度优先搜索算法,BFS)
- 二叉树的搜索算法
简单动态规划
- 一维动态规划
- 简单背包问题
面向对象
- 面向对象思想
- 类的创建和初始化
- 类的特性:继承、封装、多态
栈和队列
- 栈
- 队列
- 循环队列
C++ 七级考纲知识内容
数学库函数
- 三角函数
- 对数函数
- 指数函数
复杂动态规划
- 二维动态规划、动态规划最值优化
- 区间动态规划
- 求最长上升子序列(LIS)
- 求最长公共子序列(LCS)
- 基于滚动数组的动态规划空间复杂度优化
图的定义及遍历
- 图的概念
- 图的广度优先遍历
- 图的深度优先遍历
图论算法
- 图的泛洪算法(flood fill)
哈希表
- 哈希表的概念与知识及其应用
C++ 八级考纲知识内容
计数原理
- 加法原理
- 乘法原理
排列与组合
- 排列
- 组合
杨辉三角
- 杨辉三角的定义
- 杨辉三角形的实现
倍增法
- 倍增的概念
代数与平面几何
- 一元一次方程
- 二元一次方程
- 三角形、圆形、长方形面积
图论算法及综合应用
- 最小生成树的概念、kruskal 算法、prim 算法
- 最短路径的概念、单源最短路径的 dijkstra 算法、Floyd 算法
- 图论算法的综合应用与问题求解技巧
算法的时间和空间效率分析
- 算法时间和空间复杂度的一般分析方法
- 各类算法(包括排序算法、查找算法、树和图的遍历算法、搜索算法、分治及动态规划算法等)的时间和空间复杂度
算法优化
- 不同算法求解问题的差异分析
- 算法优化的一般方法
- 根据数学知识优化算法的一般方法(包括但不局限于等差、等比数列的求和公式等)