考纲总览一至八级知识体系与考试结构
| 级别 | 核心知识内容(C++) | 考核目标 | 题型 / 时间 |
|---|---|---|---|
| 一级 | 计算机基础与编程环境、变量的定义与使用、基本数据类型(整型/浮点/字符/布尔)、控制语句结构(顺序/循环/选择)、基本运算、输入输出语句 | 掌握顺序、循环、分支的简单程序结构,会用 IDE 编程与调试,完成单一功能程序设计 | 单选15+判断10+编程2 120 分钟 |
| 二级 | 计算机的存储与网络、程序设计语言特点、流程图、ASCII 编码、数据类型转换、多层分支/循环结构、常用数学函数(abs/sqrt/max/min/rand) | 掌握程序设计,能使用简单数学函数,独立完成含分支、循环嵌套的综合案例 | 单选15+判断10+编程2 120 分钟 |
| 三级 | 数据编码(原码/反码/补码)、进制转换(二/八/十/十六)、位运算(& | ~ ^ << >>)、算法描述、一维数组、字符串及函数、枚举法、模拟法 | 掌握编码、进制、位运算、一维数组、字符串,能独立用模拟法/枚举法解决问题 | 单选15+判断10+编程2 120 分钟 |
| 四级 | 函数的定义与调用、形参实参/作用域、指针、参数传递(值/引用/指针)、结构体、二维与多维数组、递推、排序(冒泡/插入/选择)、复杂度估算、文件重定向与读写、异常处理 | 掌握函数与参数传递、二维数组、常用排序、文件读写与异常处理,解决递推问题 | 单选15+判断10+编程2 120 分钟 |
| 五级 | 初等数论(素数/约数/质因数分解/同余)、数组模拟高精度四则运算、链表、辗转相除法、埃氏筛与线性筛、唯一分解定理、二分查找/二分答案、贪心、分治(归并/快排)、递归 | 掌握数论、链表操作,熟悉二分/分治/贪心/递归思想,能选择合适算法解题 | 单选15+判断10+编程2 180 分钟 |
| 六级 | 树的定义/构造/遍历、哈夫曼树、完全二叉树、二叉排序树、哈夫曼编码、格雷编码、DFS、BFS、二叉树搜索、简单动态规划(一维/背包)、面向对象与类、栈/队列/循环队列 | 掌握树与搜索算法,会一维 DP 与背包,掌握面向对象思想与栈队列应用 | 单选15+判断10+编程2 180 分钟 |
| 七级 | 数学库函数(三角/对数/指数)、复杂动态规划(二维 DP、LIS、LCS、滚动数组)、图的定义及遍历、图论基本算法(DFS/BFS/泛洪)、哈希表 | 掌握复杂 DP 与优化、图的遍历与泛洪、哈希表概念与应用 | 单选15+判断10+编程2 180 分钟 |
| 八级 | 计数原理(加法/乘法)、排列与组合、杨辉三角、倍增法、代数与平面几何(初中)、图论综合(最小生成树 kruskal/prim、最短路 dijkstra/Floyd)、算法时空效率分析、算法优化 | 掌握组合数学基础、倍增法、图论算法,能分析复杂算法复杂度并优化 | 单选15+判断10+编程2 180 分钟 |
一级 · 编程基础入门计算机基础 + 三大结构
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 计算机基础知识 | 计算机的软硬件组成、常见操作、发展历程 |
| 2 | 集成开发环境 | 创建/编辑/保存/编译/调试(如 Dev C++) |
| 3 | 结构化程序设计 | 顺序结构、分支结构、循环结构 |
| 4 | 程序的基本语句 | cin/scanf/cout/printf、赋值、复合语句、if/switch/for/while/do-while |
| 5 | 程序的基本概念 | 标识符、关键字、常量、变量、表达式;命名/定义/作用;注释 |
| 6 | 基本运算 | 算术、逻辑(&& || !)、关系(> < == !=)、自增自减、三目 |
| 7 | 基本数据类型 | 整型 int/long long、实数 float/double、字符 char、布尔 bool |
- 了解计算机基本构成(CPU、内存、I/O 等),Windows/Linux 基本概念与常见操作,计算机历史与常见应用
- 熟悉 IDE 使用:创建、编辑、保存、编译、调试
- 掌握 cin/scanf、cout/printf、赋值语句
- 掌握标识符、关键字、常量、变量、表达式概念
- 掌握常量/变量命名、定义、初始化与赋值,自加自减
- 掌握算术表达式:加、减、乘、除、整除、求余
- 掌握逻辑运算与(&&)、或(||)、非(!)
- 掌握关系运算:大于/小于/等于/不等于等
- 掌握基础数据类型定义与使用(整型/实数型/字符型/布尔型)
- 掌握顺序结构程序编写
- 掌握分支结构:if、if-else、switch,了解三目
- 掌握循环结构:for、while、do-while,continue 与 break
- 理解注释和调试概念
题型分布(一级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:120 分钟。
二级 · 语法拓展与嵌套存储网络 + 多层结构
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 计算机存储与网络 | ROM、RAM、Cache;网络分类(WAN/MAN/LAN);TCP/IP 四层与 OSI 七层;IP 地址及子网划分 |
| 2 | 程序设计语言 | 机器语言、汇编语言、高级语言;常见高级语言(C++/Python) |
| 3 | 流程图 | 流程图概念、基本符号、绘制与描述三种基本结构 |
| 4 | ASCII 编码 | 常见字符 ASCII(空格32/“0”48/“A”65/“a”97),字符与编码互转 |
| 5 | 数据类型转换 | 强制类型转换、隐式类型转换 |
| 6 | 多层分支结构 | if、if-else、switch 及相互嵌套 |
| 7 | 多层循环语句 | while、do-while、for 的嵌套 |
| 8 | 数学函数 | abs()、sqrt()、max()、min()、rand()/srand() |
- 了解存储分类:RAM、ROM、Cache 功能与区别
- 了解计算机网络分类、TCP/IP 四层与 OSI 七层、重要协议、IP 地址与子网划分
- 了解程序设计语言分类及高级语言特点
- 掌握流程图概念与绘制,描述三大基本结构
- 了解 ASCII 原理,识别常用字符编码并相互转换
- 掌握数据类型转换:强制与隐式
- 掌握多层分支:if/if-else/switch 嵌套
- 掌握多层循环:for/while/do-while 嵌套
- 掌握数学函数:abs/sqrt/max/min/rand 并理解算法原理
题型分布(二级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:120 分钟。
三级 · 数组、字符串与算法编码进制 + 枚举模拟
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 数据编码 | 原码、反码、补码 |
| 2 | 进制转换 | 二进制、八进制、十进制、十六进制 |
| 3 | 位运算 | 与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>) |
| 4 | 算法与描述 | 枚举法、模拟法;自然语言、流程图、伪代码描述 |
| 5 | 数据结构 | C++ 一维数组(不含变长数组) |
| 6 | 字符串及其函数 | 大小写转换、字符串搜索、分割、替换等 |
- 了解二进制数据编码:原码、反码、补码
- 掌握进制转换:二/八/十/十六进制
- 掌握位运算:与、或、非、异或、左移、右移的原理与使用
- 了解算法概念,会用自然语言、流程图、伪代码描述算法
- 掌握一维数组基本应用(不包括变长数组)
- 掌握字符串及其函数:大小写转换、搜索、分割、替换
- 理解枚举算法原理与特点,解决实际问题
- 理解模拟算法原理与特点,解决实际问题
题型分布(三级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:120 分钟。
四级 · 函数、结构体与排序函数指针 + 递推排序
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 指针 | 指针类型、指针变量定义/赋值/解引用 |
| 2 | 二维及多维数组 | C++ 二维及多维数组定义与使用 |
| 3 | 结构体 | 结构体定义与使用、结构体数组/指针、嵌套、做函数参数、const 场景 |
| 4 | 函数 | 定义/调用/声明;形参实参;全局与局部作用域;值传递、引用传递 |
| 5 | 递推算法 | 递推基本思想、递推关系式推导 |
| 6 | 排序算法 | 冒泡、插入、选择;时间/空间复杂度;算法稳定性;简单复杂度估算 |
| 7 | 文件操作 | 文件重定向、读/写/读写操作、文本文件分类 |
| 8 | 异常处理 | 异常处理机制和常用方法 |
- 理解指针概念,掌握指针变量定义、赋值、解引用
- 掌握结构体、二维及多维数组的基本概念与使用
- 理解模块化编程思想,掌握函数声明/定义/调用,形参实参
- 掌握变量作用域,理解全局与局部变量区别
- 掌握函数参数传递:值传递、引用传递、指针传递
- 掌握递推算法基本思想、递推关系式推导与求解
- 掌握排序概念,了解内外排序,理解时间复杂度/空间复杂度/稳定性
- 掌握冒泡、插入、选择排序的算法思想与代码实现
- 掌握简单算法复杂度估算(多项式、指数)
- 掌握文件重定向与读写操作,了解文本文件分类
- 了解异常处理机制,掌握常用异常处理方法
题型分布(四级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:120 分钟。
五级 · 数论与基础算法数论 + 二分贪心分治
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 初等数论 | 素数与合数、最大公约数与最小公倍数、同余与模运算、约数与倍数、质因数分解、奇偶性、欧几里得算法、唯一分解定理、埃氏筛与线性筛 |
| 2 | 算法复杂度估算 | 含多项式、对数的复杂度 |
| 3 | C++ 高精度运算 | 数组模拟高精度加、减、乘、除 |
| 4 | 链表 | 单链表、双链表、循环链表的创建/插入/删除/遍历/查找 |
| 5 | 二分算法 | 二分查找、二分答案(二分枚举法) |
| 6 | 递归算法 | 递归概念、时间与空间复杂度、优化策略 |
| 7 | 分治算法 | 归并排序、快速排序 |
| 8 | 贪心算法 | 贪心思想与相关应用 |
- 掌握初等数论概念与应用:素数/合数、gcd/lcm、同余与模运算、约数倍数、质因数分解、奇偶性
- 掌握 C++ 数组模拟高精度加/减/乘/除
- 掌握链表创建、插入、删除、遍历、反转,理解单/双/循环链表区别
- 掌握辗转相除法、埃氏筛、线性筛、唯一分解定理
- 掌握算法复杂度估算(含多项式、对数)
- 掌握二分查找与二分答案,能在有序数组快速定位
- 掌握递归基本原理、递归复杂度分析、递归优化
- 掌握贪心算法原理与最优子结构,解决相关问题
- 掌握分治原理,用归并排序和快速排序实现排序
题型分布(五级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:180 分钟。
六级 · 树与动态规划树 + 搜索 + 简单DP
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 树 | 树的基本概念、哈夫曼树、完全二叉树、二叉排序树 |
| 2 | 基于树的编码 | 格雷编码、哈夫曼编码 |
| 3 | 搜索算法 | 深度优先搜索(DFS)、宽度优先搜索(BFS)、二叉树的搜索算法 |
| 4 | 简单动态规划 | 一维动态规划、简单背包 |
| 5 | 面向对象 | 面向对象思想、类的创建与初始化、继承/封装/多态 |
| 6 | 栈和队列 | 栈、队列、循环队列 |
- 掌握树的基本概念,掌握构造与遍历算法
- 掌握哈夫曼树、完全二叉树、二叉排序树概念与应用
- 理解哈夫曼编码、格雷编码原理并能简单应用
- 掌握 DFS、BFS、二叉树搜索算法,选择合适搜索算法
- 掌握简单动态规划思想,解决一维 DP 与简单背包问题
- 掌握面向对象思想,了解封装/继承/多态,掌握类的创建与使用
- 掌握栈、队列、循环队列的定义、应用场景与常见操作
题型分布(六级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:180 分钟。
七级 · 图与复杂DP图论 + 复杂动态规划
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 数学库函数 | 三角函数 sin/cos、对数 log10/log2、指数 exp |
| 2 | 复杂动态规划 | 二维 DP、区间 DP、最长上升子序列(LIS)、最长公共子序列(LCS)、滚动数组优化 |
| 3 | 图的定义及遍历 | 图的概念、图的广度/深度优先遍历 |
| 4 | 图论算法 | 图的泛洪算法(flood fill) |
| 5 | 哈希表 | 哈希表的概念、知识与简单应用 |
- 掌握数学库常用函数:三角 sin/cos、对数 log10/log2、指数 exp
- 掌握复杂动态规划:二维 DP、区间 DP、LIS、LCS、滚动数组空间优化
- 掌握图的定义与基本图论算法:有向/无向图、节点度、DFS/BFS 遍历、flood fill
- 掌握哈希表的概念与知识及其应用
题型分布(七级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:180 分钟。
八级 · 组合数学与图论综合计数 + 最短路 + 优化
| 编号 | 知识块 | 知识点 |
|---|---|---|
| 1 | 计数原理 | 加法原理、乘法原理 |
| 2 | 排列与组合 | 排列、组合基本概念与编程实现 |
| 3 | 杨辉三角 | 杨辉三角(帕斯卡三角形)定义与实现 |
| 4 | 倍增法 | 倍增概念与时间复杂度 |
| 5 | 代数与平面几何 | 一元一次/二元一次方程、三角形/圆形/长方形面积(初中数学) |
| 6 | 图论算法及综合应用 | 最小生成树(kruskal/prim)、最短路径(dijkstra/Floyd)、综合应用与求解技巧 |
| 7 | 算法时空效率分析 | 各类算法(排序/查找/树图遍历/搜索/分治/DP)的复杂度分析 |
| 8 | 算法优化 | 不同算法求解差异分析、数学知识辅助优化(等差/等比求和公式等) |
- 掌握计数原理:加法原理与乘法原理的区别与使用
- 掌握排列与组合概念,实现常见排列组合编程求解
- 掌握杨辉三角形概念与应用,了解其与组合的关系
- 掌握倍增法概念,了解其时间复杂度
- 掌握代数与平面几何(初中数学):一元一次/二元一次方程、基本图形面积
- 掌握图论算法综合应用:最小生成树 kruskal/prim、最短路 dijkstra/Floyd,理解不同算法比较
- 掌握较复杂算法的时间与空间效率分析
- 掌握一般算法优化技巧,能根据数学知识优化算法
题型分布(八级):单选题 15 道(2 分/道)· 判断题 10 道(2 分/道)· 编程题 2 道(25 分/道),满分 100 分。考试时间:180 分钟。
考试说明C++ 标准与注意事项
对于 C++ 语言考题,如无特殊说明,均以 C++11 标准为准;如考题有特殊说明,以考题说明为准。考题不会涉及该标准下的未定义行为(undefined behavior)。