CCF 编程能力等级认证概述
CCF 编程能力等级认证(GESP)为青少年计算机和编程学习者提供学业能力验证的规则和平台。GESP 覆盖中小学阶段,符合年龄条件的青少年均可参加认证。C++ & Python 编程测试划分为一至八级,通过设定不同等级的考试目标,让学生具备计算机使用的基础能力和通过编程思维解决生活问题的能力,激发青少年编程相关知识与技术的兴趣,提高青少年编程科学技术素养,培养青少年编程综合实践能力,为广大学员在进修等方面提供编程能力水平的证明。
题型分布
单选题 15 道(2 分/道)
判断题 10 道(2 分/道)
编程题 2 道(25 分/道)
考试时间:90 分钟
一级
- 计算机基础知识:计算机的软硬件组成、常见操作、发展历程。
- 集成开发环境 创建文件、编辑文件、保存文件、编译、解释、调试。
- 结构化程序设计 顺序结构、分支结构、循环结构。
- 程序的基本语句
cin 语句、scanf 语句、cout 语句、printf 语句、赋值语句、
复合语句、if 语句、switch 语句、for 语句、while 语句、do
while 语句。 - 程序的基本概念
标识符、关键字、常量、变量、表达式的概念。
常量与变量的命名、定义、作用。
程序的注释。 - 基本运算
算术运算、逻辑运算、关系运算、变量自增与自减运算、三目
运算、位运算。 - 基本数据类型
整数型: int,long long
实数型: float,double
字符型: char
布尔型: bool
二级
编号 知识块 知识点
- 计算机存储与网络
ROM、RAM、CACHE
计算机网络分类
TCP/IP 四层模型与 OSI 七层模型
IP 地址及子网划分 - 程序设计语言
程序设计语言分类
常见的高级语言 - 流程图 流程图的概念、绘制流程图、描述流程图
- ASCII 编码 常见字符的 ASCII 编码、字符编码之间的相互转换
- 数据类型转换
强制类型转换
隐式类型转换 - 多层分支结构 if 语句、if...else 语句、switch 语句的嵌套
- 多层循环语句 while 循环、do...while 循环、for 循环的嵌套
- 数学函数
绝对值函数:abs()
平方根函数:sqrt()
最大值函数:max()
最小值函数:min()
随机数函数:rand()/srand()及相关
三级
编号 知识块 知识点
- 数据编码 原码、反码、补码
- 进制转换 二进制、八进制、十进制、十六进制
- 位运算 与(&)、或(|)、非(!)、异或(^)、左移(<<)、右移(>>)
- 算法与描述
枚举法、模拟法
自然语言描述、流程图描述、伪代码描述 - 数据结构 C++一维数组;Python 列表、字典、元组、集合、列表解析
- 字符串及其函数 大小写转换、字符串搜索、分割、替换等
四级
编号 知识块 知识点
- 指针 指针类型,指针类型定义变量,指针类型变量的赋值、解引用
- 二维及多维数组
C++二维及多维数组的定义、使用 - 函数
函数的定义、调用、声明
形参、实参
全局作用域、局部作用域
值传递、引用传递 - 递推算法 递推算法基本思想、递推关系式推导
- 排序算法
冒泡排序、插入排序、选择排序
时间复杂度、空间复杂度、算法稳定性 - 文件操作 文件重定向,读操作、写操作、读写操作
- 异常处理 异常处理机制和常用方法
五级 初等数论
(C++)数组模拟高精度加法、减法、乘法、除法
单链表、双链表、循环链表
欧几里得算法
素数表的埃氏筛法和线性筛法
唯一分解定理
二分查找/二分答案
贪心算法、分治算法(归并排序和快速排序)、递归
六级 简单树与特殊树的定义,构造与遍历
哈夫曼树
完全二叉树
二叉排序树
哈夫曼编码
格雷编码
深度优先搜索算法
宽度优先搜索算法
二叉树的搜索算法
简单动态规划(一维动态规划、简单背包问题)
面向对象的思想类的创建
栈、链栈、队列、循环队列
七级 数学库常用函数(三角、对数、指数)
复杂动态规划(二维动态规划、动态规划最值优化)
图的定义及遍历
图论算法
哈希表
八级 计数原理
排列与组合
杨辉三角
倍增法
代数与平面几何
算法的时间和空间效率分析
算法优化