-
分享
GESP C++一级知识点汇总
-
Hydro
SU
@
2026-8-13 18:14:58
1. 一级新增知识框架
- 计算机硬件与软件基础、计算机历史与常见应用。
- 集成开发环境:新建、编辑、保存、编译、运行、调试。
- 标识符、关键字、常量、变量、表达式。
- 基本数据类型:
int、long long、float、double、char、bool。
- 输入输出:
cin、cout、scanf、printf。
- 运算:算术、关系、逻辑、自增自减、三目运算。
- 三大程序结构:顺序、分支、循环。
break、continue、注释和基础调试。
2. 计算机硬件五大逻辑部件
| 部件 |
作用 |
常见设备/对应物 |
| 运算器 |
完成算术和逻辑运算 |
CPU 的一部分 |
| 控制器 |
控制指令执行与设备协同 |
| 存储器 |
保存程序和数据 |
内存、外存 |
| 输入设备 |
数据进入计算机 |
键盘、鼠标、麦克风、传感器、摄像头 |
| 输出设备 |
数据从计算机输出 |
显示器、打印机、音箱、投影仪 |
必背:CPU 主要由运算器和控制器构成。
内存与外存
| 项目 |
内存 RAM |
外存(SSD/HDD/U盘等) |
| 主要用途 |
程序运行时临时保存数据 |
长期保存文件 |
| 速度 |
快 |
相对慢 |
| 断电 |
通常丢失 |
通常保留 |
3. 软件分类
| 类别 |
核心作用 |
例子 |
| 操作系统 |
管理 CPU、内存、磁盘和外设,为应用提供运行平台 |
Windows、Linux、macOS、HarmonyOS |
| 应用软件 |
完成具体任务,依赖操作系统运行 |
浏览器、办公软件、IDE |
4. C++ 程序基本结构
#include <iostream>
using namespace std;
int main() {
// 程序主体
return 0;
}
必须认识:
#include <iostream>:引入输入输出库。
using namespace std;:使用标准命名空间中的名字。
int main():程序入口。
return 0;:主函数正常结束。
//:单行注释;/* ... */:多行注释。
5. 标识符与变量命名规则
| 规则 |
正确示例 |
错误示例 |
| 由字母、数字、下划线组成 |
score_1 |
score-1 |
| 不能以数字开头 |
_a1 |
1a |
| 区分大小写 |
age 与 Age 不同 |
— |
| 不能使用关键字 |
score |
int、for |
| 不应使用空格 |
totalScore |
total score |
易混:cout、cin、endl、string 不是 C++ 关键字。
6. 基本数据类型
【辅助补充】下表字节数与范围按常见 64 位竞赛环境理解;C++ 标准并不保证所有平台完全相同。
| 类型 |
用途 |
常见大小 |
常见范围/精度 |
示例 |
bool |
真/假 |
1B |
false / true |
bool ok=true; |
char |
单字符/小整数 |
常见有符号范围约 -128~127 |
char c='A'; |
int |
一般整数 |
4B |
约 −2.1×109~2.1×109 |
int n=10; |
long long |
大整数 |
8B |
约 −9.22×1018~9.22×1018 |
long long x; |
float |
单精度小数 |
4B |
约 6~7 位有效数字 |
3.14f |
double |
双精度小数 |
8B |
约 15~17 位有效数字 |
3.14 |
常量写法
| 类型 |
例子 |
| 整数 |
10、-5、100LL |
| 浮点 |
3.14、2.5f |
| 字符 |
'A'、'0' |
| 字符串 |
"hello" |
| 布尔 |
true、false |
7. 赋值、自增与自减
| 表达式 |
含义 |
a = b |
将 b 的值赋给 a |
a += b |
a = a + b |
a -= b |
a = a - b |
a *= b |
a = a * b |
a /= b |
a = a / b |
a %= b |
a = a % b |
a++ / ++a |
自增 1 |
a-- / --a |
自减 1 |
单独成句时 a++ 与 ++a 最终效果相同;参与复杂表达式时求值时机不同,初学阶段应避免写难读的复合表达式。
8. 算术运算
| 运算 |
符号 |
例子 |
注意 |
| 加 |
+ |
a+b |
— |
| 减 |
- |
a-b |
| 乘 |
* |
a*b |
| 除 |
/ |
a/b |
两个整数相除得到整数部分 |
| 取余 |
% |
a%b |
只用于整数 |
整数除法:7 / 2 == 3。若希望得到小数,应至少让一边为浮点数,如 7.0 / 2。
9. 关系与逻辑运算
| 类别 |
运算符 |
含义 |
| 关系 |
> < >= <= |
大小比较 |
== |
等于 |
!= |
不等于 |
| 逻辑 |
&& |
与:两边都真才真 |
|| |
或:至少一边真就真 |
! |
非:真假取反 |
高频错误:= 是赋值,== 才是比较相等。
10. 输入输出
cin / cout
int a, b;
cin >> a >> b;
cout << a + b << '\n';
scanf / printf 高频格式
| 类型 |
scanf |
printf |
int |
%d |
long long |
%lld |
char |
%c |
| C 风格字符串 |
%s |
float |
%f |
%f |
double |
%lf |
常用格式:printf("%.2f", x); 表示保留 2 位小数输出。
11. 三大程序结构
顺序结构
代码自上而下依次执行。
分支结构
if (condition) {
// 条件为真
} else {
// 条件为假
}
switch (x) {
case 1:
break;
case 2:
break;
default:
break;
}
三目运算:condition ? value1 : value2。
循环结构
for (int i = 0; i < n; i++) {
}
while (condition) {
}
do {
} while (condition);
| 语句 |
作用 |
break |
立即退出当前循环或 switch |
continue |
跳过本轮剩余语句,进入下一轮循环 |
12. 一级必背易错点
= 与 == 不混淆。
- 整数
/ 会截掉小数部分。
if (x) 表示判断 x 是否非 0。
for (int i=1; i<=n; i++) 与 i<n 的边界必须看题意。
switch 常用 break 防止继续落入后续 case。
continue 不是退出循环;break 才是。
- 浮点数不要直接依赖“完全相等”判断。
- 大整数注意
int 溢出,需要 long long。
13. 一级背诵清单
- [ ] 五大硬件逻辑部件及输入/输出设备判断。
- [ ] 操作系统与应用软件的区别。
- [ ]
int/long long/float/double/char/bool 用途。
- [ ] 算术、关系、逻辑运算符。
- [ ]
cin/cout 与基本 printf 格式。
- [ ]
if/else、switch、for/while/do-while。
- [ ]
break、continue。