CSP-J 考点最全总结

CSP-J/S是由CCF主办的计算机非专业级别的软件能力认证。认证包括CSP-J(Junior,入门级)和CSP-S(Senior,提高级)两个级别,认证内容均包括算法设计能力和编程能力。

是含金量非常高的少儿编程竞赛证,也是五大奥赛的前置比赛。

下面是 CSP-J 的学习范围。

⭐ 表示难度


入门知识点

基础知识与编程环境

  • ⭐ 计算机的基本构成(CPU、内存、I/O 设备等)
  • ⭐ Windows、Linux等操作系统的基本概念及其常见操作
  • ⭐ 计算机网络和Internet的基本概念
  • ⭐ 计算机的历史和常见用途
  • ⭐ NOI及相关活动的历史
  • ⭐ NOI及相关活动的规则
  • ⭐ 位、字节与字
  • ⭐ 程序设计语言以及程序编译和运行的基本概念
  • ⭐ 使用图形界面新建、复制、删除、移动文件或目录
  • ⭐ 使用Windows系统下的集成开发环境 (例如Dev C++等)
  • ⭐ 使用Linux系统下的集成开发环境 (例如Code::Blocks等)
  • ⭐ g++、gcc等常见编译器的基本使用


潘博士爱编程提供软件下载,请搜索访问下面标题得到下载链接:

  • 信奥赛指定C/C++集成开发环境-Code::Blocks【含下载】
  • GESP考级指定C++集成开发环境-Dev C++【含下载】



C++程序设计

程序基本概念

  • ⭐ 标识符、关键字、常量、变量、字符串、表达式的概念
  • ⭐ 常量与变量的命名、定义及作用
  • ⭐⭐ 头文件与名字空间的概念
  • ⭐⭐ 编辑、编译、解释、调试的概念

基本数据类型

  • ⭐ 整数型: int、long long
  • ⭐ 实数型: float、double
  • ⭐ 字符型: char
  • ⭐ 布尔型: bool

程序基本语句

  • ⭐⭐ cin语句、scanf语句、cout语句、printf语句、赋值语句、复合语句
  • ⭐⭐ if语句、switch语句、多层条件语句
  • ⭐⭐ for语句、while语句、do while语句
  • ⭐⭐⭐ 多层循环语句

基本运算

  • ⭐ 算术运算:加、减、乘、除、整除、求余
  • ⭐ 关系运算:大于、大于等于、小于、小于等于、等于、不等于
  • ⭐ 逻辑运算:与(&&)、或(||)、非(!)
  • ⭐ 变量自增与自减运算
  • ⭐ 三目运算
  • ⭐⭐ 位运算:与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)

数学库常用函数

  • ⭐⭐⭐ 绝对值函数、四舍五入函数、下取整函数、上取整函数、平方根函数、常用三角函数、对数函数、指数函数

结构化程序设计

  • ⭐ 顺序结构、分支结构和循环结构
  • ⭐⭐ 自顶向下、逐步求精的模块化程序设计
  • ⭐⭐ 流程图的概念及流程图描述

数组

  • ⭐ 数组与数组下标
  • ⭐ 数组的读入与输出
  • ⭐⭐⭐ 二维数组与多维数组

字符串的处理

  • ⭐⭐ 字符数组与相关函数
  • ⭐⭐ string类与相关函数

函数与递归

  • ⭐⭐ 函数定义与调用、形参与实参
  • ⭐⭐⭐ 传值参数与传引用参数
  • ⭐⭐ 常量与变量的作用范围
  • ⭐⭐ 递归函数

结构体与联合体

  • ⭐⭐⭐ 结构体
  • ⭐⭐⭐ 联合体

指针类型

  • ⭐⭐⭐⭐ 指针
  • ⭐⭐⭐⭐ 基于指针的数组访问
  • ⭐⭐⭐⭐ 字符指针
  • ⭐⭐⭐⭐ 指向结构体的指针

文件及基本读写

  • ⭐⭐ 文件的基本概念、文本文件的基本操作
  • ⭐⭐ 文本文件类型与二进制文件类型
  • ⭐⭐ 文件重定向、文件读写等操作

STL 模板

  • ⭐⭐⭐ 算法模板库中的函数 min、max、swap、sort
  • ⭐⭐⭐⭐ 栈 (stack)、队列 (queue)、链表 (list)、向量(vector)等容器

数据结构

线性结构

  • ⭐⭐⭐ 链表: 单链表、双向链表、循环链表
  • ⭐⭐⭐ 栈
  • ⭐⭐⭐ 队列

简单树

  • ⭐⭐⭐ 树的定义与相关概念
  • ⭐⭐⭐⭐ 树的表示与存储
  • ⭐⭐⭐ 二叉树的定义与基本性质
  • ⭐⭐⭐⭐ 二叉树的表示与存储
  • ⭐⭐⭐⭐ 二叉树的遍历: 前序、中序、后序

特殊树

  • ⭐⭐⭐⭐ 完全二叉树的定义与基本性质
  • ⭐⭐⭐⭐ 完全二叉树的数组表示法
  • ⭐⭐⭐⭐ 哈夫曼树的定义和构造、哈夫曼编码
  • ⭐⭐⭐⭐ 二叉搜索树的定义和构造

简单图

  • ⭐⭐⭐ 图的定义与相关概念
  • ⭐⭐⭐⭐ 图的表示与存储: 邻接矩阵
  • ⭐⭐⭐⭐ 图的表示与存储: 邻接表

算法

算法概念与描述

  • ⭐ 算法概念
  • ⭐⭐ 算法描述: 自然语言描述、流程图描述、伪代码描述

入门算法

  • ⭐ 枚举法
  • ⭐ 模拟法

基础算法

  • ⭐⭐⭐ 贪心法
  • ⭐⭐⭐ 递推法
  • ⭐⭐⭐⭐ 递归法
  • ⭐⭐⭐⭐ 二分法
  • ⭐⭐⭐⭐ 倍增法

数值处理算法

  • ⭐⭐⭐⭐ 高精度的加法
  • ⭐⭐⭐⭐ 高精度的减法
  • ⭐⭐⭐⭐ 高精度的乘法
  • ⭐⭐⭐⭐ 高精度整数除以单精度整数的商和余数

排序算法

  • ⭐⭐⭐ 排序的基本概念
  • ⭐⭐⭐ 冒泡排序
  • ⭐⭐⭐ 选择排序
  • ⭐⭐⭐ 插入排序
  • ⭐⭐⭐ 计数排序

搜索算法

  • ⭐⭐⭐⭐⭐ 深度优先搜索
  • ⭐⭐⭐⭐⭐ 广度优先搜索

图论算法

  • ⭐⭐⭐⭐ 深度优先遍历
  • ⭐⭐⭐⭐ 广度优先遍历
  • ⭐⭐⭐⭐⭐ 泛洪算法

动态规划

  • ⭐⭐⭐⭐ 动态规划的基本思路
  • ⭐⭐⭐⭐ 简单一维动态规划
  • ⭐⭐⭐⭐⭐ 简单背包类型动态规划
  • ⭐⭐⭐⭐⭐ 简单区间类型动态规划

数学与其他

数及其运算

  • ⭐ 自然数、整数、有理数、实数及其算术运算(加、减、乘、除)
  • ⭐ 进制与进制转换:二进制、八进制、十进制、十六进制

初等数学

  • ⭐ 代数(初中部分)
  • ⭐ 几何(初中部分)

初等数论

  • ⭐⭐⭐ 整除、因数、倍数、指数、质(素)数、合数
  • ⭐⭐⭐ 取整
  • ⭐⭐⭐ 模运算与同余
  • ⭐⭐⭐ 整数唯一分解定理
  • ⭐⭐⭐ 辗转相除法(欧几里得算法)
  • ⭐⭐⭐⭐ 素数筛法:埃氏筛法与线性筛法

离散与组合数学

  • ⭐⭐ 集合
  • ⭐⭐ 加法原理
  • ⭐⭐ 乘法原理
  • ⭐⭐⭐⭐ 排列
  • ⭐⭐⭐⭐ 组合
  • ⭐⭐⭐⭐ 杨辉三角

其他

  • ⭐⭐ ASCII码
  • ⭐⭐ 格雷码
原文链接:,转发请注明来源!