2950 字
15 分钟
CCF GESP C++ 编程能力等级认证标准(大纲)
📚 各级别标准
一级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 了解计算机的基本构成 (CPU, 内存, I/O设备等) |
| 2 | 了解 Windows、Linux等操作系统基本概念和常见操作 |
| 3 | 熟悉集成开发环境使用 (例如 Dev C++):创建文件、编辑文件、保存文件、编译、解释、调试 |
| 4 | 掌握基础的 cin语句、scanf语句、cout语句、printf语句, 赋值语句等 |
| 5 | 掌握标识符、关键字、常量、变量、表达式的概念 |
| 6 | 掌握常量与变量的命名、定义、作用、初始化与赋值以及变量的自加与自减运算 |
| 7 | 掌握基础算术表达式:加、减、乘、除、整除、求余 |
| 8 | 掌握逻辑运算 与 (&&)、或 (||)、非 (!) |
| 9 | 掌握关系运算:大于、大于等于、小于、小于等于、等于、不等于 |
| 10 | 掌握基础的数据类型的定义和使用 (整型、实数型、字符型、布尔型) |
| 11 | 掌握顺序结构程序的编写 |
| 12 | 掌握分支结构程序的编写,掌握 if语句、if-else语句、switch语句, 了解三目运算 |
| 13 | 掌握循环结构程序的编写,掌握 for、while、do-while循环语句 以及 continue 和 break 语句在循环中的应用 |
| 14 | 理解程序的注释和调试的概念 |
考核目标
学生通过计算机基础知识的学习,了解计算机的构成与操作。通过编程基础知识以及语句的掌握,可以独立完成简单功能的顺序结构、分支结构、循环结构的程序。
考试信息
- 考试时间:120分钟
二级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 了解计算机存储的基本概念及分类 (RAM、ROM、Cache) |
| 2 | 了解计算机网络的概念、分类及TCP/IP四层模型与OSI七层模型 |
| 3 | 了解程序设计语言的几大分类及特点,了解常见的高级语言 (C++、Python等) |
| 4 | 了解流程图的概念及基本表示符号,掌握绘制流程图的方法 |
| 5 | 了解 ASCII编码 原理,能识别常用字符的ASCII码,掌握ASCII码和字符之间相互转换的方法 |
| 6 | 掌握数据类型的转换:强制类型转换 和 隐式类型转换 |
| 7 | 掌握多层分支结构,掌握 if语句、if…else语句、switch语句 及相互嵌套的方法 |
| 8 | 掌握多层循环结构,掌握 for语句、while语句、do…while语句 及相互嵌套的方法 |
| 9 | 掌握常用的数学函数:绝对值函数、平方根函数、最大值函数、最小值函数、随机数函数 |
考核目标
通过C++知识的学习,掌握数据类型的转换方法及数学库函数的使用,可以独立完成多分支结构与循环结构的程序。
考试信息
- 考试时间:120分钟
三级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 了解二进制数据编码:原码、反码、补码 |
| 2 | 掌握数据的进制转换:二进制、八进制、十进制、十六进制 |
| 3 | 掌握位运算:与 (&)、或 (|)、非 (~)、异或 (^)、左移 (<<)、右移 (>>) |
| 4 | 了解算法的概念与描述,熟练运用自然语言、流程图、伪代码方式来描述算法 |
| 5 | C++一维数组基本应用 (不包括变长数组) |
| 6 | 掌握字符串及其函数的使用 (大小写转换、字符串搜索、分割、替换) |
| 7 | 理解枚举算法、模拟算法的原理及特点 |
考核目标
掌握计算机中常用进位制、位运算及数据编码的知识,掌握一维数组、字符串类型及其函数的使用,掌握枚举法、模拟法的原理和运用技巧。
考试信息
- 考试时间:120分钟
四级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 理解 C++指针类型 的概念,掌握指针类型变量的定义、赋值、解引用 |
| 2 | 掌握 C++结构体、二维及多维数组 (不包括变长数组) 的基本概念及使用 |
| 3 | 理解模块化编程思想,掌握函数的声明、定义及调用,掌握形参与实参的概念及区别 |
| 4 | 掌握变量作用域的概念,理解全局变量与局部变量的区别 |
| 5 | 掌握函数参数的传递方式:C++值传递、引用传递、指针传递 |
| 6 | 掌握递推算法基本思想、递推关系式的推导以及递推问题求解 |
| 7 | 掌握排序算法的概念,理解排序算法的时间复杂度、空间复杂度、使用场景以及稳定性 |
| 8 | 掌握排序算法中的冒泡排序、插入排序、选择排序的算法思想、排序步骤及代码实现 |
| 9 | 简单算法复杂度的估算,含多项式、指数复杂度 |
| 10 | 掌握文件操作中的重定向,实现文件读写操作 |
| 11 | 了解异常处理机制,掌握异常处理的常用方法 |
考核目标
掌握C++指针类型、二维及多维数组的基本使用;通过函数相关知识的学习,掌握模块化设计思想,具备编写自定义函数程序的能力。掌握文件读写操作,并通过对排序算法、递推法的学习,可以根据不同的使用场景,合理选择最优的算法。
考试信息
- 考试时间:120分钟
五级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 掌握初等数论相关知识的概念和应用 (素数与合数、最大公约数与最小公倍数、同余与模运算、约数与倍数、质因数分解、奇偶性等) |
| 2 | 掌握 C++数组模拟高精度加法、减法、乘法和除法 的相关知识 |
| 3 | 掌握链表的创建、插入、删除、遍历和反转操作,理解单链表、双链表、循环链表的区别 |
| 4 | 掌握辗转相除法 (欧几里得算法)、素数表的埃氏筛法和线性筛法、唯一分解定理的原理和应用 |
| 5 | 掌握算法复杂度估算方法 (含多项式、对数) |
| 6 | 掌握二分查找和二分答案算法 (二分枚举法) 的基本原理 |
| 7 | 掌握递归算法的基本原理,能够分析递归算法的时间复杂度和空间复杂度,了解递归的优化策略 |
| 8 | 掌握贪心算法的基本原理,理解最优子结构 |
| 9 | 掌握分治算法的基本原理,能够使用归并排序和快速排序对数组进行排序 |
考核目标
掌握初等数论知识点,能够使用辗转相除法、素数表的埃氏筛法和线性筛法、唯一分解定理等相关知识解决相应的问题。掌握单链表、双链表、循环链表的基本操作方法。熟悉二分法、分治法、贪心算法和递归算法的算法思想。C++掌握使用数组模拟高精度加法、减法、乘法和除法的知识。
考试信息
- 考试时间:180分钟
六级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 掌握树的基本概念,掌握其构造与遍历的相关算法 |
| 2 | 掌握哈夫曼树、完全二叉树、二叉排序树的相关概念和应用 |
| 3 | 理解哈夫曼编码、格雷编码相关原理并能进行简单应用 |
| 4 | 掌握深度优先搜索算法 (DFS)、宽度优先搜索算法 (BFS)、二叉树的搜索算法的概念及应用 |
| 5 | 掌握简单动态规划的算法思想,能够使用代码解决相应的一维动态规划问题和简单背包问题 |
| 6 | 掌握面向对象的思想,了解封装、继承、多态的基本概念,并掌握类的创建和基本的使用方法 |
| 7 | 掌握栈、队列、循环队列的基本定义,应用场景和常见操作 |
考核目标
掌握树的基础知识,并能够分辨和使用哈夫曼树、完全二叉树、二叉排序树。掌握搜索算法。掌握动态规划的思路和步骤,能够解决一维动态规划问题和简单背包问题。掌握面向对象的概念和特性,掌握类的创建及其基本使用方法。掌握栈、队列、循环队列的基本定义和常见操作。
考试信息
- 考试时间:180分钟
七级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 掌握数学库常用函数 (三角、对数、指数):sin(x), cos(x), log10(x), log2(x), exp(x) 等 |
| 2 | 掌握复杂动态规划 (二维动态规划、动态规划最值优化):区间动态规划、最长上升子序列 (LIS)、最长公共子序列 (LCS) 等,理解基于滚动数组等降低动态规划空间复杂度的方法 |
| 3 | 图的定义及基本图论算法:有向图、无向图,图节点的度的概念,图的DFS和BFS搜索与遍历方法,图的泛洪 (flood fill) 算法 |
| 4 | 掌握哈希表的概念与知识及其应用 |
考核目标
掌握常用数学库函数。掌握复杂动态规划,包括二维动态规划、求LIS、LCS等内容,并掌握利用滚动数组等的优化方法。了解图的定义与广搜和深搜的算法,泛洪算法。了解哈希表的概念和知识。
考试信息
- 考试时间:180分钟
八级标准
知识点详述
| 编号 | 知识点 |
|---|---|
| 1 | 掌握计数原理:加法原理和乘法原理 |
| 2 | 掌握排列与组合基础知识 |
| 3 | 掌握杨辉三角形 (帕斯卡三角形) 的概念 |
| 4 | 掌握倍增法概念,了解倍增法的时间复杂度 |
| 5 | 掌握代数与平面几何基础知识 (初中数学部分) |
| 6 | 掌握图论算法及综合应用技巧:最小生成树 (kruskal算法、prim算法)、最短路径 (dijkstra算法、Floyd算法) |
| 7 | 算法的时间和空间效率分析:能够掌握较为复杂算法的时间和空间复杂度分析方法 |
| 8 | 算法优化:理解不同方法求解一个问题在时间复杂度和空间复杂度上的差异,掌握一般的算法优化技巧 |
考核目标
掌握基本计数原理、排列组合概念。掌握杨辉三角形的概念和应用。掌握代数与平面几何的基本知识。掌握较为复杂算法的时间复杂度和空间复杂度分析方法,及其一般的算法优化技巧,能根据数学知识优化算法。
考试信息
- 考试时间:180分钟
📊 C++ 各级别核心能力总结
| 级别 | 核心能力 |
|---|---|
| 一级 | 基础语法、输入输出、三大结构 |
| 二级 | 数据类型转换、多层嵌套、数学函数 |
| 三级 | 进制转换、位运算、一维数组、字符串 |
| 四级 | 指针、结构体、多维数组、函数、排序算法 |
| 五级 | 数论、高精度运算、链表、递归、分治、贪心、二分 |
| 六级 | 树、搜索算法、动态规划、面向对象、栈队列 |
| 七级 | 复杂动态规划、图论基础、哈希表、数学库函数 |
| 八级 | 组合数学、图论算法、算法复杂度分析、算法优化 |
📝 考试时间汇总
| 级别 | 考试时间 |
|---|---|
| 一级 ~ 四级 | 120分钟 |
| 五级 ~ 八级 | 180分钟 |
CCF GESP C++ 编程能力等级认证标准(大纲)
https://yezi.press/posts/gesp/gesp-dagang/
陕公网安备61010302001363号