CCF面向社会非专业人士推出CSP非专业级别软件能力认证。非专业级别能力认证CSP-J/S分两个级别,分别为CSP-J(入门级,Junior)和CSP-S(提高级,Senior),均涉及算法和编程。2025年9月1日(不含)前满12周岁者可报名参加。
报名时间
截止至2025年9月6日15:00(正在进行中)
认证时间
CSP-J/S第一轮
时间 | 入门级 | 提高级 |
2025年9月20日(周六 | 9:30-11:30 | 14:30-16:30 |
CSP-J/S第二轮
时间 | 入门级 | 提高级 |
2025年11月1日(周六 | 8:30-12:00 | 14:30-18:30 |
CSP-J/S 第一轮为集中笔试(满分100分);第二轮为现场集中上机认证(满分400分)。
考试大纲
一、基础知识与编程环境
- 计算机的基本构成(CPU、内存、I/O设备等)
- Windows、Linux等操作系统的基本概念及其常见操作
- 计算机网络和Internet的基本概念
- 计算机的历史和常见用途
- NOI以及相关活动的历史
- NOI以及相关活动的规则
- 位、字节与字
- 程序设计语言以及程序编译和运行的基本概念
- 使用图形界面新建、复制、删除、移动文件或目录
- 使用Windows系统下的集成开发环境(例如Dev-C++等)
- 使用Linux系统下的集成开发环境(例如Code::Blocks等)
- 常用编译命令g++的基本使用
二、 C++程序设计
2.1 程序基本概念
- 标识符、关键字、常量、变量、字符串、表达式的概念
- 常量与变量的命名、定义及作用
- 头文件与名字空间的概念
- 编辑、编译、解释、调试的概念
2.2 基本数据类型
- 整数型:int、long long
- 实数型:float、double
- 字符型:char
- 布尔型:bool
2.3 程序基本语句
- cin语句、scanf语句、cout语句、printf语句、赋值语句、复合语句
- if语句、switch语句、多层条件语句
- for语句、while语句、do while语句
- 多层循环语句
2.4 基本运算
- 算术运算:加、减、乘、除、整除、求余
- 关系运算:大于、大于等于、小于、小于等于、等于、不等于
- 逻辑运算:与(&&)、或(||)、非(!)
- 变量自增与自减运算
- 三目运算
- 位运算:与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)
2.5 数学库常用函数
绝对值函数、四舍五入函数、下取整函数、上取整函数、平方根函数、常用三角函数、对数函数、指数函数
2.6 结构化程序设计
- 顺序结构、分支结构和循环结构
- 自顶向下、逐步求精的模块化程序设计
- 流程图的概念及流程图描述
2.7 数组
- 数组与数组下标
- 数组的读入与输出
- 二维数组与多维数组
2.8 字符串的处理
- 字符数组与相关函数
- string类与相关函数
2.9 函数与递归
- 函数定义与调用、形参与实参
- 传值参数与传引用参数
- 常量与变量的作用范围
- 递归函数
2.10 结构体与联合体
- 结构体
- 联合体
2.11 指针与引用
- 指针
- 基于指针的数组访问
- 字符指针
- 指向结构体的指针
- 引用
2.12 文件及基本读写
- 文件的基本概念、文本文件的基本操作
- 文本文件类型与二进制文件类型
- 文件重定向、文件读写等操作
2.13 STL模板
- 常用函数与算法模板:min、max、swap、sort
- 栈(stack)、队列(queue)、链表(list)、向量(vector)等容器
三、 数据结构
3.1 线性结构
- 链表:单链表、双向链表、循环链表
- 栈
- 队列
3.2 简单树
- 树的定义与相关概念
- 树的表示与存储
- 二叉树的定义与基本性质
- 二叉树的表示与存储
- 二叉树的遍历:前序、中序、后序
3.3 特殊树
- 完全二叉树的定义与基本性质
- 完全二叉树的数组表示法
- 哈夫曼树的定义和构造、哈夫曼编码
- 二叉搜索树的定义和构造
3.4 简单图
- 图的定义与相关概念
- 图的表示与存储:邻接矩阵
- 图的表示与存储:邻接表
四、 算法
4.1 算法概念与描述
- 算法概念
- 算法描述:自然语言描述、流程图描述、伪代码描述
4.2 入门算法
- 枚举法
- 模拟法
4.3 基础算法
- 贪心法
- 递推法
- 递归法
- 二分法
- 倍增法
4.4 算法策略
- 前缀和
- 差分
4.5 数值处理算法
- 高精度的加法
- 高精度的减法
- 高精度的乘法
- 高精度整数除以单精度整数的商和余数
4.6 排序算法
- 排序的基本概念
- 冒泡排序
- 选择排序
- 插入排序
- 计数排序
4.7 搜索算法
- 深度优先搜索
- 广度优先搜索
4.8 图论算法
- 深度优先遍历
- 广度优先遍历
- 泛洪算法(Flood Fill)
4.9 动态规划
- 动态规划的基本思路
- 简单一维动态规划
- 简单背包类型动态规划
- 简单区间类型动态规划
五、 数学与其他
5.1 数及其运算
- 自然数、整数、有理数、实数及其算术运算(加、减、乘、除)
- 进制与进制转换:二进制、八进制、十进制、十六进制
5.2 初等数学
- 代数(初中部分)
- 几何(初中部分)
5.3 初等数论
- 整除、因数、倍数、指数、质(素)数、合数
- 取整
- 模运算与取余
- 整数唯一分解定理
- 辗转相除法(欧几里得算法)
- 素数筛法:埃氏筛法与线性筛法
5.4 离散与组合数学
- 集合
- 加法原理
- 乘法原理
- 排列
- 组合
- 杨辉三角
5.5 其他
ASCII码
你家娃很有实力呀。