Appearance
附录 B · 高频考点 · 易错点 · 速查总表
本附录聚合各章「考点总结表」,给出五星考点 TOP 榜、逐章考点 · 易错点总表、选择与判断陷阱清单、编程题主线与考前 30 分钟速查卡。 星标含义:⭐⭐⭐⭐⭐ = 几乎每场必考;⭐⭐⭐⭐ = 高频;⭐⭐⭐ = 偶考;⭐⭐ = 了解级。
一、五星考点 TOP 20(必背)
| # | 考点 | 出处 |
|---|---|---|
| 1 | 整数除法截断取整:5 / 2 == 2(不是 2.5,也不是四舍五入) | 第7章 |
| 2 | = 与 == 的区别:一个赋值、两个判等 | 第7章 |
| 3 | scanf 变量前必须加 & | 第8章 |
| 4 | 大括号 { } 必须成对、决定分组(缩进不决定分组) | 第3章 |
| 5 | 输入设备 vs 输出设备区分(键盘鼠标=输入;显示器打印机音箱=输出) | 第2章 |
| 6 | 标识符命名规则:字母/下划线开头,不能数字开头、不能含 -、不能是关键字 | 第4章 |
| 7 | switch 漏 break 会穿透 | 第6章 |
| 8 | int 范围约 ±21 亿,超限要用 long long | 第5章 |
| 9 | 程序框架四件套:#include / using namespace std; / int main() / return 0; | 第3章 |
| 10 | #include 行不加分号(它是预处理指令,不是语句) | 第3章 |
| 11 | 内存断电丢失、硬盘长期保存(别记反) | 第2章 |
| 12 | 变量未初始化的值是"垃圾值" | 第4章 |
| 13 | && / || 两边必须写完整条件:age >= 6 && age <= 12 | 第7章 |
| 14 | % 求余两边必须是整数;奇偶判断用 n % 2 == 0 | 第7章 |
| 15 | 字符用单引号 'A',字符串用双引号 "A" | 第5章 |
| 16 | bool:非 0 即真,true/false 必须小写 | 第5章 |
| 17 | for 循环体可能一次都不执行;do...while 至少执行一次 | 第6章 |
| 18 | break 跳出整个循环,continue 只跳过本轮 | 第6章 |
| 19 | 输出格式要照抄样例,不加任何提示语 | 第9章 |
| 20 | 求和累加器用 long long sum = 0; 并初始化 | 第9章 |
二、逐章考点 · 易错点总表
第2章 · 计算机基础知识与开发环境(17 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
| CPU / 内存 / 硬盘的作用 | ⭐⭐⭐⭐ | 内存断电丢失、硬盘长期保存记反 |
| 输入设备与输出设备区分 | ⭐⭐⭐⭐⭐ | 把显示器、打印机误判为输入设备 |
| 操作系统基本操作、文件后缀名 | ⭐⭐⭐ | .cpp(源代码)与 .exe(可执行)混淆 |
| Dev-C++ 新建 / 保存 / 编译 / 运行 | ⭐⭐⭐⭐ | F9(编译)、F10(运行)、F11(编译运行)三个快捷键混淆 |
| 编译成功 vs 编译报错 | ⭐⭐⭐⭐ | 把"逻辑错误(结果不对)"当成编译错误 |
调试:加 cout 输出中间值 | ⭐⭐⭐⭐ | 不会定位错误行 |
| C++ 是编译型语言 | ⭐⭐⭐ | 与解释型语言混淆 |
| 计算机四代、两位"计算机之父" | ⭐⭐ | 人物与贡献对不上 |
第3章 · 编程规范(11 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
| 程序框架四件套 | ⭐⭐⭐⭐⭐ | #include 行误加分号 |
| 大括号成对、包裹代码块 | ⭐⭐⭐⭐⭐ | 漏 };误以为缩进决定分组 |
| 复合语句(大括号打包多条为一条) | ⭐⭐⭐⭐ | if 后不写大括号只管住第一条语句 |
| 分号是语句结束标志 | ⭐⭐⭐⭐⭐ | 漏分号;在函数头、#include 后误加分号 |
| 哪些行不加分号 | ⭐⭐⭐⭐ | #include、函数头、右大括号 } 后 |
注释 // 与 /* */ | ⭐⭐⭐⭐ | 用 # 当注释;/* */ 嵌套 |
| 缩进与排版四条规矩 | ⭐⭐⭐ | 缩进不整齐不影响运行,只影响阅读 |
第4章 · 基础语法:标识符、关键字与变量(13 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
| 标识符命名规则 | ⭐⭐⭐⭐⭐ | 数字开头 1age、含 -、含空格 |
| 标识符区分大小写 | ⭐⭐⭐⭐ | 误以为 age 和 Age 是同一个 |
| 关键字不可作标识符 | ⭐⭐⭐⭐ | int、return 等被当作变量名 |
const 命名常量 | ⭐⭐⭐ | 误以为 const 变量可以再赋值 |
| 变量声明 / 初始化 / 赋值 | ⭐⭐⭐⭐⭐ | 未初始化 → 垃圾值 |
| 赋值号方向:右边放进左边 | ⭐⭐⭐⭐ | a = 5 写成 5 = a |
| 新值盖旧值 | ⭐⭐⭐ | 变量跟踪时忘更新 |
自增 ++ / 自减 -- | ⭐⭐⭐⭐ | 一级只考单独成行,不考 i++ 与 ++i 在表达式内的区别 |
第5章 · 基本数据类型(17 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
int 约 ±21 亿、4 字节 | ⭐⭐⭐⭐⭐ | 溢出 |
long long 约 ±9.2×10¹⁸、8 字节 | ⭐⭐⭐⭐⭐ | 该用 long long 时仍用 int |
float / double 近似存储 | ⭐⭐⭐⭐ | 用 == 比较小数 |
| 整数盒子装小数会截断 | ⭐⭐⭐⭐ | int a = 3.99; 得 3 |
char 单引号、只装一个字符 | ⭐⭐⭐⭐⭐ | 用双引号 "A" 定义字符 |
'a' - 'A' = 32 | ⭐⭐⭐ | 大小写转换算错 |
bool 只有 true / false | ⭐⭐⭐⭐ | 写成 True(必须小写) |
cout 输出 bool 显示 1 / 0 | ⭐⭐⭐ | 期望输出 true/false |
| 非 0 即真 | ⭐⭐⭐⭐ | -1、5 都算真 |
sizeof 量大小 | ⭐⭐⭐ | 平台差异 |
第6章 · 三大基本结构(17 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
| 顺序结构 | ⭐⭐⭐ | 变量先赋值再使用 |
if 条件写在小括号里 | ⭐⭐⭐⭐⭐ | 漏括号 |
if...else 二选一 | ⭐⭐⭐⭐⭐ | 条件写反 |
if...else if...else 命中即停 | ⭐⭐⭐⭐ | 条件区间重叠 |
switch case 必须是常量 | ⭐⭐⭐⭐ | 用变量作 case |
switch 漏 break 穿透 | ⭐⭐⭐⭐⭐ | 多个 case 连续执行 |
三目 ?:(了解) | ⭐⭐ | 与 if-else 混用 |
for 三要素 | ⭐⭐⭐⭐⭐ | 分号写成逗号 |
while 可能 0 次 | ⭐⭐⭐⭐ | 死循环(忘了改循环变量) |
do...while 至少 1 次 | ⭐⭐⭐⭐ | 与 while 混淆 |
break vs continue | ⭐⭐⭐⭐⭐ | 两者作用搞反 |
第7章 · 运算符(15 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
整数除法截断 5/2=2 | ⭐⭐⭐⭐⭐ | 按数学算成 2.5 |
想要小数:一边写小数 5.0/2 | ⭐⭐⭐⭐⭐ | double a = 5/2; 仍是 2.0 |
% 求余不是百分号 | ⭐⭐⭐⭐ | 对小数用 % |
| 先乘除取余、后加减 | ⭐⭐⭐⭐ | 优先级搞错 |
= vs == | ⭐⭐⭐⭐⭐ | if (a = 5) 恒为真 |
| 关系运算六个 | ⭐⭐⭐⭐ | >= 写成 => |
&& 两个都真才真 | ⭐⭐⭐⭐⭐ | 写成 & |
|| 一个真就真 | ⭐⭐⭐⭐⭐ | 写成 | |
! 取反 | ⭐⭐⭐⭐ | 忘了加括号 !(a>b) |
&&/|| 两边写完整条件 | ⭐⭐⭐⭐⭐ | age >= 6 && <= 12 |
++ / -- | ⭐⭐⭐⭐ | 单独成行时前后缀等价 |
复合赋值 += -= *= /= %= | ⭐⭐⭐ | a += b 等价 a = a + b |
| 三目优先级低于逻辑 | ⭐⭐⭐ | 不加括号 |
数位拆分 / 与 % | ⭐⭐⭐⭐⭐ | 顺序颠倒 |
| 闰年判断 | ⭐⭐⭐⭐ | (y%4==0 && y%100!=0) || y%400==0 |
第8章 · 输入输出与头文件(20 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
<iostream> ↔ cin/cout | ⭐⭐⭐⭐ | 头文件与函数配错 |
<cstdio> ↔ scanf/printf | ⭐⭐⭐⭐ | 混用两套 |
using namespace std; | ⭐⭐⭐ | 漏写导致 cout 未定义 |
cout 连续 << | ⭐⭐⭐⭐ | 漏写 << |
endl 与 "\n" | ⭐⭐⭐ | 拼写 end1(数字 1) |
cin >> a >> b; 连续输入 | ⭐⭐⭐⭐ | 用逗号分隔 |
| 变量必须先声明再输入 | ⭐⭐⭐⭐⭐ | 边声明边读 |
printf 格式符 %d %lld %c %f %lf | ⭐⭐⭐⭐⭐ | double 用 %f、long long 用 %lld |
scanf 必须加 & | ⭐⭐⭐⭐⭐ | 漏 & 是最经典陷阱 |
scanf 格式符与变量类型配对 | ⭐⭐⭐⭐ | %d 配 double |
| 输入 → 处理 → 输出 | ⭐⭐⭐⭐⭐ | 顺序写错 |
第9章 · 编程题实战与综合应用(15 条)
| 考点 | 星标 | 易错点 |
|---|---|---|
| 编程题四步法 | ⭐⭐⭐⭐⭐ | 不审题直接写代码 |
| 程序四段式骨架 | ⭐⭐⭐⭐⭐ | 漏 return 0; |
| 求和 / 计数 / 最值 / 数位拆分模板 | ⭐⭐⭐⭐⭐ | 累加器未初始化 |
long long 防溢出 | ⭐⭐⭐⭐⭐ | 求和用 int |
| 输出格式照抄样例 | ⭐⭐⭐⭐⭐ | 多加提示语 |
| 边界条件(n=0、n=1) | ⭐⭐⭐⭐ | 循环不执行时未特判 |
| 部分分策略 | ⭐⭐⭐⭐ | 空白交卷 |
三、选择题 / 判断题陷阱清单(20 条)
- 「显示器是输入设备」→ ❌ 是输出设备
- 「内存断电后数据不丢失」→ ❌ 内存丢失、硬盘保留
- 「
#include <iostream>后面要加分号」→ ❌ 预处理指令不加分号 - 「C++ 靠缩进来分组」→ ❌ 靠大括号,缩进只是好看
- 「
1age是合法标识符」→ ❌ 不能以数字开头 - 「
int是合法变量名」→ ❌ 是关键字 - 「C++ 区分大小写,
Age和age不同」→ ✅ - 「变量未初始化时值为 0」→ ❌ 是垃圾值
- 「
int能存任意大的整数」→ ❌ 约 ±21 亿 - 「
long long永远不会溢出」→ ❌ 范围有限(约 ±9.2×10¹⁸) - 「
char c = "A";正确」→ ❌ 字符用单引号 - 「
5 / 2等于 2.5」→ ❌ 等于 2 - 「
double a = 5 / 2;得到 2.5」→ ❌ 得到 2.0(先整数除法再赋值) - 「
5 % 2.0合法」→ ❌%两边必须整数 - 「
if (a = 5)是判断 a 是否等于 5」→ ❌ 是赋值,且恒为真 - 「
switch的每个 case 后面必须有 break」→ ❌ 不必须,但漏了会穿透 - 「
do...while的循环体可能一次都不执行」→ ❌ 至少执行一次 - 「
continue会跳出整个循环」→ ❌ 只跳过本轮;break才跳出 - 「
scanf("%d", a);正确」→ ❌ 应为scanf("%d", &a); - 「输出时加"请输入"等提示语更好」→ ❌ 严格照抄样例,否则 0 分
四、编程题主线(50 分)
读题(圈出输入/输出) → 想思路(选套路) → 写代码(四段式骨架) → 测试(样例 + 边界)四段式骨架:
cpp
#include <iostream> // ① 头文件
using namespace std;
int main() { // ② main
// ③ 声明变量 → 输入 → 处理
// ④ 输出
return 0;
}七大套路:求和 / 计数 / 数位拆分 / 找最值 / 闰年范围判断 / 分支计价 / 字符处理(详见附录 A 「五、编程题主线(50 分攻略)」)。
五、考前 30 分钟速查卡
【框架】#include <iostream> + using namespace std; + int main() + return 0;
【分号】语句末尾加;#include、函数头、} 后不加
【除法】两边都整数 → 结果必整数(截断);要小数就让一边是小数
【判等】== 判等,= 赋值;if 里出现单个 = 是危险信号
【输入】cin >> a; / scanf("%d", &a); ← 别漏 &
【类型】int 约±21亿,long long 约±9.2×10¹⁸;求和一律 long long sum = 0;
【字符】'A' 单引号,字符串 "A" 双引号;'a'-'A' = 32
【分支】if 条件放 () 里;switch 记得 break
【循环】for(;;) 用分号;while 可能 0 次;do-while 至少 1 次
break 跳出循环,continue 跳过本轮
【输出】照抄样例格式,不加任何提示语
【必查】变量初始化了吗?long long 用了吗?边界(0/1)试了吗?本附录由各章「考点总结表」聚合而成;如正文考点更新,请同步修订。
