参考资料
难度系数
- 入门级:1∼5
- 题高级:5∼8
- NOI 级:7∼10
1. 入门级
1.1 基础知识与编程环境
- 【 1 】计算机的基本构成(CPU、内存、I/O 设备等)
- 【 1 】Windows、Linux 等操作系统的基本概念及其常见操作
- 【 1 】计算机网络和 Internet 的基本概念
- 【 1 】计算机的历史和常见用途
- 【 1 】NOI 以及相关活动的历史
- 【 1 】NOI 以及相关活动的规则
- 【 1 】位、字节与字
- 【 1 】程序设计语言以及程序编译和运行的基本概念
- 【 1 】使用图形界面新建、复制、删除、移动文件或目录
- 【 1 】使用 Windows 系统下的集成开发环境(例如 Dev-C++ 等)
- 【 1 】使用 Linux 系统下的集成开发环境 (例如 Code::Blocks 等)
- 【 1 】g++、gcc 等常见编译器的基本使用
1.2 C++ 程序设计
- 程序基本概念
- 【 1 】标识符、关键字、常量、变量、字符串、表达式的概念
- 【 1 】常量与变量的命名、定义及作用
- 【 2 】头文件与名字空间的概念
- 【 2 】编辑、编译、解释、调试的概念
- 基本数据类型
- 【 1 】整数型:
int
、long long
- 【 1 】实数型:
float
、double
- 【 1 】字符型:
char
- 【 1 】布尔型:
bool
- 程序基本语句
- 【 2 】
cin
语句、scanf
语句、cout
语句、printf
语句、赋值语句、复合语句
- 【 2 】
if
语句、switch
语句、多层条件语句
- 【 2 】
for
语句、while
语句、do while
语句
- 【 3 】多层循环语句
- 基本运算
- 【 1 】算术运算:加、减、乘、除、整除、求余
- 【 1 】关系运算:大于、大于等于、小于、小于等于、等于、不等于
- 【 1 】逻辑运算:与(
&&
)、或(||
)、非(!
)
- 【 1 】变量自增与自减运算
- 【 1 】三目运算
- 【 2 】位运算:与(
&
)、或(|
)、非(~
)、异或(^
)、左移(<<
)、右移(>>
)
- 数学库常用函数
- 【 3 】绝对值函数、四舍五入函数、下取整函数、上取整函数、平方根函数、常用三角函数、对数函数、指数函数
- 结构化程序设计
- 【 1 】顺序结构、分支结构和循环结构
- 【 2 】自顶向下、逐步求精的模块化程序设计
- 【 2 】流程图的概念及流程图描述
- 数组
- 【 1 】数组与数组下标
- 【 1 】数组的读入与输出
- 【 3 】二维数组与多维数组
- 字符串的处理
- 【 2 】字符数组与相关函数
- 【 2 】string 类与相关函数
- 函数与递归
- 【 2 】函数定义与调用、形参与实参
- 【 3 】传值参数与传引用参数
- 【 2 】常量与变量的作用范围
- 结构体与联合体
- 指针类型
- 【 4 】指针
- 【 4 】基于指针的 数组访问
- 【 4 】字符指针
- 【 4 】指向结构体的指针
- 文件及基本读写
- 【 2 】文件的基本概念、文本文件的基本操作
- 【 2 】文本文件类型与二进制文件类型
- 【 2 】文件重定向、文件读写等操作
- STL 模板
- 【 3 】算法模板库中的函数:
min
、max
、swap
、sort
- 【 4 】栈(
stack
)、队列(queue
)、链表(list
)、向量(vector
)等容器
1.3 数据结构
- 线性结构
- 【 3 】链表:单链表、双向链表、循环链表
- 【 3 】栈
- 【 3 】队列
- 简单树
- 【 3 】树的定义与相关概念
- 【 4 】树的表示与存储
- 【 3 】二叉树的定义与基本性质
- 【 4 】二叉树的表示与存储
- 【 4 】二叉树的遍历:前序、中序、后序
- 特殊树
- 【 4 】完全二叉树的定义与基本性质
- 【 4 】完全二叉树的数组表示法
- 【 4 】哈夫曼树的定义和构造、哈夫曼编码
- 【 4 】二叉搜索树的定义和构造
- 简单图
- 【 3 】图的定义与相关概念
- 【 4 】图的表示与存储:邻接矩阵
- 【 4 】图的表示与存储:邻接表
1.4 算法
- 算法概念与描述