适用范围:CSP-J 入门级初赛笔试(选择题+阅读程序+完善程序),所有考点全覆盖、无遗漏,细分至最小知识点,适配零基础冲刺、查漏补缺、考前复盘。
初赛题型分值结构:
- 单项选择题(15题 × 2分 = 30分)
- 阅读程序题(3大题 × 4小题 = 40分)
- 完善程序题(2大题 × 5空 = 30分)
- 总分:100分
核心考察模块:计算机基础知识、数制与编码、逻辑运算、数据结构基础、算法基础、C++程序语法、竞赛常识与真题拓展。
📖 本文目录
一、计算机硬件与系统基础(初赛必考选择题)
1.1 计算机发展与分类
- 计算机四代发展(必考)
- 第一代(1946-1957):电子管计算机,体积大、功耗高、速度慢,无操作系统,机器语言编程。代表机型:ENIAC(1946年世界第一台电子数字计算机)。
- 第二代(1958-1964):晶体管计算机,体积缩小、功耗降低,出现汇编语言。
- 第三代(1965-1970):中小规模集成电路,出现高级语言、分时操作系统。
- 第四代(1971-至今):大规模/超大规模集成电路,微型计算机、人工智能、大数据普及。
- 计算机分类:巨型机、大型机、中型机、小型机、微型机(个人电脑)、嵌入式计算机。
- 计算机特点:运算速度快、精度高、存储容量大、逻辑判断能力、自动化运行、通用性强。
- 计算机应用领域:科学计算(最早)、数据处理(最广泛)、过程控制、人工智能、辅助系统(CAD/CAM/CAI)、网络应用。
1.2 计算机硬件系统(冯·诺依曼体系)
冯·诺依曼三大核心思想:二进制存储、程序存储、五大硬件组成。
- 五大核心硬件
- 运算器:负责算术运算(加减乘除)、逻辑运算(与或非、比较)。
- 控制器:指挥协调计算机所有部件工作,取指令、分析指令、执行指令。
- 存储器:存储程序和数据,分内存储器、外存储器。
- 输入设备:向计算机传入数据(键盘、鼠标、扫描仪、麦克风、数位板)。
- 输出设备:向外输出数据(显示器、打印机、音箱、绘图仪)。
- CPU核心知识
- CPU组成:运算器 + 控制器 + 高速缓存(Cache)。
- 主频:CPU时钟频率,单位GHz,决定运算速度核心参数。
- 核心数:单核、双核、多核,多核心可并行处理任务。
- 指令集:计算机执行操作的指令集合。
- 存储器细分(高频考点)
- 内存(主存):RAM(随机读写存储器)、ROM(只读存储器)。
- RAM:断电数据丢失,日常内存条均为RAM。
- ROM:断电数据保留,存储系统底层固件(如BIOS)。
- 外存(辅存):硬盘、U盘、光盘、固态硬盘SSD,断电数据永久保留,速度慢于内存。
- 存储速度排序(必考):Cache高速缓存 > 内存RAM > 外存(SSD > 机械硬盘 > U盘 > 光盘)。
- 存储容量单位换算(核心):1 Byte = 8 bit;1 KB = 1024 B;1 MB = 1024 KB;1 GB = 1024 MB;1 TB = 1024 GB。
- 内存(主存):RAM(随机读写存储器)、ROM(只读存储器)。
1.3 计算机软件系统
- 系统软件:操作系统、编译软件、数据库管理系统。
- 操作系统OS:管理软硬件资源,人机交互接口。常见:Windows、Linux、macOS、Android、iOS。
- 编译/解释软件:GCC、Dev-C++、VS、CodeBlocks(C++竞赛常用)。
- 应用软件:为特定场景开发,Office、浏览器、播放器、编程工具等。
- 程序运行原理:源代码 → 编译/解释 → 机器语言(二进制) → CPU执行。
- 编译与解释区别:
- 编译:整体翻译、生成可执行文件,一次编译多次运行(C++、C、Java)。
- 解释:逐行翻译、边译边跑,无独立可执行文件(Python、JS)。
1.4 计算机网络基础(初赛选择高频)
- 网络分类:局域网LAN、城域网MAN、广域网WAN(互联网属于WAN)。
- IP地址:IPv4(32位、四段十进制)、IPv6(128位,新一代地址)。
- 域名系统DNS:域名与IP地址相互解析,顶级域名:.com商业、.edu教育、.gov政府、.cn中国。
- 网络协议:HTTP(超文本传输)、HTTPS(加密传输)、FTP(文件传输)、TCP(可靠传输)、UDP(快速传输)。
- 网络设备:路由器、交换机、网卡、防火墙。
二、数制与编码(初赛必考,计算题核心)
2.1 四大进制基础
- 二进制B:0、1,逢二进一,计算机底层唯一进制。
- 八进制O:0-7,逢八进一。
- 十进制D:0-9,逢十进一,日常使用。
- 十六进制H:0-9、A-F(A=10、B=11、C=12、D=13、E=14、F=15),逢十六进一。
2.2 进制互相转换(所有题型必考)
- 任意进制转十进制:按权展开求和。
各位数字 × 进制^位次,从右往左从0开始计数。- 示例:二进制
1011转十进制:1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11。
- 示例:二进制
- 十进制转任意进制:整数部分:除基取余,逆序排列;小数部分:乘基取整,顺序排列(初赛只考整数)。
- 二/八/十六进制快速互转(秒杀技巧):
- 二进制转八进制:三位一组,不足补0,一一对应。
- 二进制转十六进制:四位一组,不足补0,一一对应。
- 八/十六转二进制:一位拆三位、一位拆四位。
2.3 二进制运算
- 算术运算:加减乘除,遵循二进制进位规则。
- 位运算(C++底层,阅读程序高频):与
&、或|、非~、异或^、左移<<、右移>>。
2.4 字符与数据编码
- ASCII码(必考):7位二进制编码,共128个字符。
- 数字0:48,大写A:65,小写a:97。
- 规律:数字 < 大写字母 < 小写字母,连续编码。
- 汉字编码:GB2312、UTF-8,一个汉字占2字节(国标)、3字节(UTF-8)。
- 原码、反码、补码(初赛难点):
- 正数:原码 = 反码 = 补码。
- 负数:反码 = 原码符号位不变,其余取反;补码 = 反码 + 1。
- 计算机存储数据一律使用补码。
三、逻辑运算与离散数学基础(选择+阅读程序高频)
3.1 三大基础逻辑运算
- 逻辑与
&&:全真才真,一假则假(对应集合交集)。 - 逻辑或
||:一真则真,全假才假(对应集合并集)。 - 逻辑非
!:真假反转。
3.2 位运算详解(CSP-J核心重难点)
- 按位与
&:对应位全1为1,否则0(常用于清零、取低位)。 - 按位或
|:对应位有1为1,否则0(常用于置1)。 - 按位异或
^:对应位不同为1,相同为0(常用于翻转、交换数值)。 - 左移
<<:整体左移,低位补0,等价于×2^n。 - 右移
>>:整体右移,高位补符号位,等价于÷2^n向下取整。
3.3 命题与逻辑推理
- 充分条件、必要条件、充要条件判断。
- 命题真假判断、逆命题、否命题、逆否命题。
- 逻辑表达式化简、优先级:
非>与>或。
3.4 排列组合与概率(初赛数学必考)
- 排列
A(n,m) = n!/(n-m)!:有序选取。 - 组合
C(n,m) = n!/(m!(n-m)!):无序选取。 - 常见模型:捆绑法、插空法、隔板法。
- 概率计算:符合条件情况数 / 总情况数。
- 容斥原理、抽屉原理(真题高频)。
四、C++程序语法基础(阅读+完善程序核心)
4.1 基础数据类型
- 整型:
int(4字节)、long long(8字节,长整型)、short、unsigned无符号整型。 - 浮点型:
float(单精度)、double(双精度,竞赛默认)。 - 字符型:
char(1字节,存储ASCII码)。 - 布尔型:
bool(true真=1,false假=0)。 - 常量与变量:
const修饰常量,不可修改。
4.2 运算符与优先级
- 算术运算符:
+、-、*、/、%(取模,仅整数)。- 整数除法向下取整,取模符号与被除数一致。
- 关系运算符:
>、<、>=、<=、==、!=。 - 逻辑运算符:
!、&&、||。 - 赋值运算符:
=、+=、-=、*=、/=、%=。 - 自增自减:
++、--(前置后置区别)。 - 优先级排序(从高到低):自增自减 > 算术运算 > 位运算 > 关系运算 > 逻辑运算 > 赋值运算。
4.3 程序结构语句
4.3.1 分支结构
if、if-else、if-else if-else多分支判断。switch-case多条件匹配(break穿透问题,初赛高频坑点)。- 三目运算符:
条件 ? 表达式1 : 表达式2。
4.3.2 循环结构(重中之重)
for循环:固定次数循环,结构最简,竞赛最常用。while循环:先判断后执行,条件不满足不运行。do-while循环:先执行后判断,至少执行一次。- 循环控制语句:
break(跳出整层循环)、continue(跳过本次循环)。 - 嵌套循环执行顺序、循环变量变化规律(阅读程序必考)。
4.4 数组与字符串
- 一维数组:定义、初始化、下标访问(下标从0开始)。
- 二维数组:行列存储、遍历方式、矩阵操作。
- 字符数组与string字符串:
char数组:gets、scanf输入,自带结束符\0。string类:cin/cout输入,size()长度、substr截取、find查找、append拼接。
4.5 函数与递归
- 函数定义、声明、调用、返回值、形参实参。
- 全局变量、局部变量作用域与生命周期。
- 递归核心:递推公式、终止条件、递归层数。
- 递归经典模型:阶乘、斐波那契数列、枚举遍历。
- 递归栈溢出原因、时间复杂度简单判断。
4.6 输入输出与头文件
- 常用头文件:
#include<iostream>、#include<cstdio>、#include<cstring>、#include<algorithm>。 - 输入输出:
cin/cout、scanf/printf(格式化输出,精度控制)。 - 命名空间:
using namespace std;作用。
五、数据结构基础(CSP-J初赛核心难点)
5.1 线性数据结构
5.1.1 栈(Stack)
- 核心特性:后进先出 LIFO。
- 基本操作:入栈
push、出栈pop、取栈顶top、判空empty。 - 经典题型:括号匹配、表达式求值、进制转换、出栈序列判断(初赛高频选择)。
5.1.2 队列(Queue)
- 核心特性:先进先出 FIFO。
- 基本操作:入队
push、出队pop、队首front、队尾back。 - 特殊队列:循环队列(解决假溢出)。
- 应用场景:广度优先搜索BFS、任务排队。
5.1.3 链表
- 单链表、双向链表结构特点。
- 优缺点:链表插入删除快、查询慢;数组查询快、插入删除慢。
5.2 树形结构(必考)
5.2.1 树的基础概念
- 节点、根节点、叶子节点、父节点、子节点、深度、高度、层数。
- 树的性质:n个节点的树,边数 = n-1。
5.2.2 二叉树(核心)
- 定义:每个节点最多两个子节点(左孩子、右孩子)。
- 满二叉树:每一层节点全部填满。
- 完全二叉树:除最后一层,其余层全满,最后一层节点靠左排列。
- 二叉树三大遍历(超级高频):
- 前序遍历:根 → 左 → 右
- 中序遍历:左 → 根 → 右(唯一可确定二叉树结构)
- 后序遍历:左 → 右 → 根
- 二叉树节点数量公式、层数节点最大值公式。
5.3 图结构基础
- 图的组成:顶点、边。
- 分类:无向图、有向图、带权图。
- 度的概念:无向图度数=相连边数;有向图分入度、出度。
- 图的存储:邻接矩阵、邻接表。
- 基础遍历:DFS深度优先、BFS广度优先。
六、算法基础(初赛阅读+完善程序核心)
6.1 算法基础概念
- 算法五大特性:有穷性、确定性、可行性、输入、输出。
- 算法评价标准:时间复杂度、空间复杂度、稳定性。
- 常见时间复杂度(从小到大):O(1)常数 < O(logn)对数 < O(n)线性 < O(nlogn) < O(n²)平方 < O(2ⁿ)指数。
&spm=1001.2101.3001.5002&articleId=163133636&d=1&t=3&u=f1c62ad17db242ebbebb604b08736638)
2万+

被折叠的 条评论
为什么被折叠?



