• 分享
  • 附录:跨等级 C++ 必背速查表

  • @ 2026-8-14 0:43:20

本附录是为了“记忆背诵”统一整理。部分条目属于 【辅助补充】,用于防止学生只记零散考点而缺少 C++ 整体知识框架。

A. GESP 高频 C++ 关键字表

A1. 必须高频识别

类别 关键字 用途
基本类型 bool char int long float double void 类型声明
类型修饰 signed unsigned short const 类型/只读修饰
分支 if else switch case default 条件控制
循环 for while do 循环控制
跳转 break continue return goto 改变控制流
结构/类 struct class public private protected 复合类型/OOP
异常 try catch throw 异常处理
其他 sizeof using namespace true false 常见语法

A2. 【辅助补充】常见但 GESP 不一定逐个考查的关键字

autostaticexternvolatileenumtypedefnewdeletethisvirtualfriendoperatortemplatetypenamenullptr

A3. 高频“不是关键字”的名字

cincoutendlstringvectorqueuestackmapunordered_mapsortmaxminsqrt不是 C++ 关键字,它们是对象、类型、容器或函数名。

B. 常用转义字符

写法 含义
\n 换行
\t 制表符
\\ 反斜杠
\' 单引号
\" 双引号
\0 空字符,数值为 0

C. 运算符优先级速查(由高到低,保留 GESP 高频部分)

级别 运算符 说明
1 () [] 括号、下标
2 ! ~ ++ -- 一元 + - * & 一元运算
3 * / % 乘除模
4 + - 加减
5 << >> 位移
6 < <= > >= 关系
7 == != 相等性
8 & 按位与
9 ^ 按位异或
10 | 按位或
11 && 逻辑与
12 || 逻辑或
13 ?: 三目
14 = += -= *= /= %= ... 赋值

最稳规则:不确定优先级时主动加括号。

D. 常用头文件

头文件 常用内容
<iostream> cincout
<cstdio> scanfprintffreopen
<cmath> sqrt、三角/对数/指数函数
<algorithm> maxminsortreverse
<string> string
<vector> vector
<queue> queuepriority_queue
<stack> stack
<unordered_map> unordered_map
<unordered_set> unordered_set
<fstream> 文件流
<cctype> touppertolowerisdigit
<cstdlib> randsrand、部分 abs

【辅助补充】竞赛环境常见 #include <bits/stdc++.h> 可以一次包含大量标准库头文件,但它不是 ISO C++ 标准头文件;正式理解仍应知道常用头文件来源。

E. 常用字符判断函数【辅助补充】

函数 判断/转换
isdigit(c) 是否数字字符
isalpha(c) 是否英文字母
islower(c) 是否小写
isupper(c) 是否大写
tolower(c) 转小写
toupper(c) 转大写

F. 常用 STL 容器速查【辅助补充】

容器 特点 高频操作
vector 动态数组 push_backpop_backsize
string 字符串 sizesubstrfind
stack 后进先出 pushpoptop
queue 先进先出 pushpopfront
priority_queue 每次取优先级最高元素 pushpoptop
unordered_set 哈希集合 insertfinderase
unordered_map 哈希键值表 []finderase

G. 常见算法“看到什么想到什么”

题目特征 第一反应
有序数组查值/边界 二分
答案越大越容易/越难满足 二分答案
所有可能方案且规模小 枚举/DFS
无权最短步数 BFS
网格连通块 DFS/BFS/Flood Fill
重复子问题 + 最优子结构 DP
每一步局部选择可证明最优 贪心
单源非负边最短路 Dijkstra
多源全点对最短路且点数较小 Floyd
无向连通图最小总连接成本 MST(Kruskal/Prim)
多次向上跳祖先 倍增
快速存在性/计数 哈希表

H. 常见数学公式总表

内容 公式
等差第 n an=a1+(n1)da_n=a_1+(n-1)d
等差前 n 项和 Sn=n(a1+an)2S_n=\frac{n(a_1+a_n)}2
排列 Anm=n!(nm)!A_n^m=\frac{n!}{(n-m)!}
组合 Cnm=n!m!(nm)!C_n^m=\frac{n!}{m!(n-m)!}
组合递推 Cnm=Cn1m1+Cn1mC_n^m=C_{n-1}^{m-1}+C_{n-1}^{m}
GCD 递推 gcd(a,b)=gcd(b,amodb)\gcd(a,b)=\gcd(b,a\bmod b)
三角形面积 S=12ahS=\frac12 ah
圆面积 S=πr2S=\pi r^2
弧度换算 rad=deg×π180rad=deg\times\frac{\pi}{180}
二叉树第 i 层最大节点数 2i12^{i-1}
深度 k 二叉树最大节点数 2k12^k-1
叶子与度 2 节点 n0=n2+1n_0=n_2+1
Floyd 转移 d[i][j]=min(d[i][j],d[i][k]+d[k][j])d[i][j]=\min(d[i][j],d[i][k]+d[k][j])
LCM
lcm(a,b)=abgcd(a,b)\operatorname{lcm}(a,b)=\frac{|ab|}{\gcd(a,b)}

|

I. 复杂度判断经验表【辅助补充】

这是竞赛常用估算经验,不是 GESP 官方固定阈值;实际还受常数、语言、时限影响。

n 大致规模 常见可考虑复杂度
n20n\le 20 O(2n)O(2^n) / 部分 O(n!)O(n!)
n200n\le 200 O(n3)O(n^3) 可能可行
n2000n\le 2000 O(n2)O(n^2) 常见
n105n\le 10^5 O(nlogn)O(n\log n) 常见
n106n\le 10^6 更偏 O(n)O(n) / O(nlogn)O(n\log n) 低常数

J. 读代码题统一检查顺序

  1. 先写出变量初值。
  2. 判断数据类型:是否整数除法、溢出、字符 ASCII。
  3. 明确循环范围:起点、终点、是否包含边界。
  4. 遇到 break/continue/return 立即标记控制流变化。
  5. 遇到 ++i/i++ 观察它是否参与表达式。
  6. 遇到位运算先写二进制。
  7. 遇到递归先找终止条件,再画 2~3 层调用。
  8. 遇到 DP 先写状态含义,再代入转移。
  9. 遇到图算法先确认有向/无向、权值正负、点边规模。

K. 全阶段最终背诵目标

学生完成八级后,至少应能不看资料说明以下内容:

  • C++ 基本类型、关键字与输入输出。
  • 运算符类别和常见优先级。
  • ASCII 关键编码与字符转换。
  • 原反补码、进制、位运算。
  • 数组、字符串、函数、指针/引用、结构体。
  • 排序、二分、递归、分治、贪心。
  • GCD、筛法、唯一分解、高精度。
  • 栈、队列、树、DFS/BFS、简单与复杂 DP。
  • 图的存储、Flood Fill、哈希表。
  • 计数、排列组合、杨辉三角、倍增。
  • MST、Dijkstra、Floyd。
  • 主要算法复杂度、空间复杂度与常用优化方向。

L. ASCII 可打印字符完整表(十进制 32~126)

重点仍然是背 32、48、65、97 四个锚点,其余通过连续性推导。

Dec Char Dec Char Dec Char Dec Char
32 SPACE 33 ! 34 " 35 #
36 $ 37 % 38 & 39 '
40 ( 41 ) 42 * 43 +
44 , 45 - 46 . 47 /
48 0 49 1 50 2 51 3
52 4 53 5 54 6 55 7
56 8 57 9 58 : 59 ;
60 < 61 = 62 > 63 ?
64 @ 65 A 66 B 67 C
68 D 69 E 70 F 71 G
72 H 73 I 74 J 75 K
76 L 77 M 78 N 79 O
80 P 81 Q 82 R 83 S
84 T 85 U 86 V 87 W
88 X 89 Y 90 Z 91 [
92 \\ 93 ] 94 ^ 95 _
96 ` 97 a 98 b 99 c
100 d 101 e 102 f 103 g
104 h 105 i 106 j 107 k
108 l 109 m 110 n 111 o
112 p 113 q 114 r 115 s
116 t 117 u 118 v 119 w
120 x 121 y 122 z 123 {
124 | 125 } 126 ~

ASCII 连续区间

  • 数字:'0'..'9' 对应 48..57。
  • 大写字母:'A'..'Z' 对应 65..90。
  • 小写字母:'a'..'z' 对应 97..122。
  • 同一字母大小写 ASCII 差值为 32(ASCII 环境)。

0 条评论

目前还没有评论...