CCF GESP C++ 编程等级考纲

来源:中国计算机学会 | 官方:gesp.ccf.org.cn | 更新:2026年

级别核心知识点考核目标
一级计算机基础、变量、数据类型、控制语句、基本运算、输入输出掌握顺序/循环/分支结构,能编写简单程序
二级存储与网络、ASCII、类型转换、多层分支循环、数学函数了解存储网络,掌握类型转换与数学库函数
三级原反补码、进制转换、位运算、一维数组、字符串、枚举/模拟掌握编码进制位运算,能用数组字符串解决问题
四级指针、结构体、二维数组、函数、排序算法、文件操作掌握函数与二维数组、常用排序、文件读写
五级数论、高精度、链表、二分、贪心/分治、递归、复杂度掌握数论线性表、二分分治贪心、高精度运算
六级树、DFS/BFS、简单DP、面向对象、栈/队列掌握树与搜索、简单DP、面向对象思想
七级数学函数、复杂DP、图论、哈希表掌握复杂DP、图论算法、哈希表应用
八级组合数学、倍增法、图论综合、算法优化掌握组合数学、高级图论、算法时空优化

一级标准

知识点

  • 计算机基础知识:计算机的软硬件组成(CPU、内存、I/O设备)、常见操作、发展历程
  • 集成开发环境:Dev C++等环境的创建文件、编辑文件、保存文件、编译、解释、调试
  • 程序的基本语句:cin语句、scanf语句、cout语句、printf语句、赋值语句、复合语句
  • 程序的基本概念:标识符、关键字、常量、变量、表达式的概念;常量与变量的命名、定义、作用、初始化与赋值;变量的自加与自减运算;程序的注释
  • 基本运算:算术运算(加、减、乘、除、整除、求余)、逻辑运算(&&、||、!)、关系运算(>、>=、<、<=、==、!=)、变量自增与自减运算、三目运算
  • 基本数据类型:整数型(int、long long)、实数型(float、double)、字符型(char)、布尔型(bool)
  • 结构化程序设计:顺序结构、分支结构(if语句、if-else语句、switch语句)、循环结构(for语句、while语句、do-while语句)、continue语句和break语句
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:120分钟

二级标准

知识点

  • 计算机存储与网络:RAM、ROM、Cache的功能及区别;计算机网络分类(WAN、MAN、LAN);TCP/IP四层模型与OSI七层模型;IP地址及子网划分
  • 程序设计语言:程序设计语言分类(机器语言、汇编语言、高级语言);常见的高级语言(C++、Python等)
  • 流程图:流程图的概念、基本表示符号、绘制流程图、描述流程图
  • ASCII编码:常见字符的ASCII编码(空格:32、"0":48、"A":65、"a":97)、字符编码之间的相互转换
  • 数据类型转换:强制类型转换、隐式类型转换
  • 多层分支结构:if语句、if...else语句、switch语句的嵌套
  • 多层循环语句:while循环、do...while循环、for循环的嵌套
  • 数学函数:绝对值函数abs()、平方根函数sqrt()、最大值函数max()、最小值函数min()、随机数函数rand()/srand()及相关
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:120分钟

三级标准

知识点

  • 数据编码:原码、反码、补码
  • 进制转换:二进制、八进制、十进制、十六进制之间的相互转换
  • 位运算:与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)的基本使用及原理
  • 算法与描述:枚举法、模拟法;自然语言描述、流程图描述、伪代码描述
  • 数据结构:C++一维数组基本应用(不包括变长数组)
  • 字符串及其函数:大小写转换、字符串搜索、分割、替换等
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:120分钟

四级标准

知识点

  • 指针:指针类型概念、指针类型定义变量、指针类型变量的赋值与解引用
  • 二维及多维数组:C++二维及多维数组的定义与使用(不包括变长数组)
  • 结构体:结构体定义和使用、结构体数组、结构体指针、结构体嵌套结构体、结构体做函数参数、结构体中const使用场景
  • 函数:函数的定义、调用、声明(不包含匿名函数、类的括号运算符重载);形参与实参;全局作用域、局部作用域;值传递、引用传递、指针传递
  • 递推算法:递推算法基本思想、递推关系式推导
  • 排序算法:冒泡排序、插入排序、选择排序;时间复杂度、空间复杂度、算法稳定性;简单算法复杂度的估算(含多项式、指数复杂度)
  • 文件操作:文件重定向、读操作、写操作、读写操作
  • 异常处理:异常处理机制和常用方法
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:120分钟

五级标准

知识点

  • 初等数论:素数与合数、最大公约数与最小公倍数、同余与模运算、约数与倍数、质因数分解、奇偶性;欧几里得算法(辗转相除法);唯一分解定理;素数表的埃氏筛法和线性筛法
  • 算法复杂度估算方法:含多项式的算法复杂度、含对数的算法复杂度
  • C++高精度运算:C++数组模拟高精度加法、减法、乘法、除法
  • 链表:单链表、双链表、循环链表的创建、插入、删除、遍历、查找的基本操作
  • 二分算法:二分查找算法、二分答案算法(也称二分枚举法)
  • 递归算法:递归算法的相关概念、递归算法的时间复杂度和空间复杂度、递归的优化策略
  • 分治算法:归并排序算法、快速排序算法
  • 贪心算法:贪心算法的相关概念、最优子结构
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:180分钟

六级标准

知识点

  • 树:树的基本概念、哈夫曼树、完全二叉树、二叉排序树
  • 基于树的编码:格雷编码、哈夫曼编码
  • 搜索算法:深度优先搜索算法(DFS)、宽度优先搜索算法(BFS)、二叉树的搜索算法
  • 简单动态规划:一维动态规划、简单背包问题
  • 面向对象:面向对象思想、类的创建和初始化、类的特性(继承、封装、多态)
  • 栈和队列:栈、队列、循环队列的基本定义、应用场景和常见操作
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:180分钟

七级标准

知识点

  • 数学库函数:三角函数(sin(x)、cos(x)等)、对数函数(log10(x)、log2(x))、指数函数(exp(x))
  • 复杂动态规划:二维动态规划、动态规划最值优化、区间动态规划、求最长上升子序列(LIS)、求最长公共子序列(LCS)、基于滚动数组的动态规划空间复杂度优化
  • 图的定义及遍历:图的概念、图的种类(有向图、无向图)、图节点度的概念、图的广度优先遍历、图的深度优先遍历
  • 图论算法:图的泛洪算法(flood fill)
  • 哈希表:哈希表的概念与知识及其应用
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:180分钟

八级标准

知识点

  • 计数原理:加法原理、乘法原理
  • 排列与组合:排列、组合的基本概念及编程求解方法
  • 杨辉三角:杨辉三角的定义、杨辉三角形的实现
  • 倍增法:倍增的概念、倍增法的时间复杂度
  • 代数与平面几何:一元一次方程、二元一次方程、三角形/圆形/长方形面积
  • 图论算法及综合应用:最小生成树的概念、Kruskal算法、Prim算法;最短路径的概念、Dijkstra算法、Floyd算法;图论算法的综合应用与问题求解技巧
  • 算法的时间和空间效率分析:算法时间和空间复杂度的一般分析方法;各类算法(排序、查找、树和图的遍历、搜索、分治及动态规划等)的时间和空间复杂度
  • 算法优化:不同算法求解问题的差异分析、算法优化的一般方法、根据数学知识优化算法的一般方法(如等差/等比数列求和公式等)
题型:单选15道(2分/道) + 判断10道(2分/道) + 编程2道(25分/道)  |  时长:180分钟