C++大复习笔记
一、顺序结构
1. 输入输出
输入
输出
* cout方式(需包含iostream头文件):
* printf方式(使用占位符):
2. 数据类型
类型 关键字 数据范围 占用字节 整型 int -2,147,483,648 ~ 2,147,483,647 (-2×10⁹ ~ 2×10⁹) 4字节 长整型 long long -9.22×10¹⁸ ~ 9.22×10¹⁸ 8字节 字符型 char -128 ~ 127 或 0 ~ 255(ASCII码) 1字节 单精度浮点 float ±3.4×10⁻³⁸ ~ ±3.4×10³⁸,有效位6-7位 4字节 双精度浮点 double ±1.7×10⁻³⁰⁸ ~ ±1.7×10³⁰⁸,有效位15-16位 8字节 布尔型 bool true(1) 或 false(0) 1字节
注意事项:
* float精度较低,涉及小数运算建议使用double
* 判断浮点数相等时,应使用精度范围:fabs(a - b) < 1e-6
布尔类型
字符类型
3. 运算符
算术运算符:+ - * / %
* /:整数相除得整数,如5/2=2
* %:取模(取余数),仅用于整数
赋值运算符:= += -= *= /= %=
关系运算符:> < >= <= == !=
* 结果为布尔值(true/false)
逻辑运算符:&& || !
* &&:与(且),两边都真才真
* ||:或,一边为真即为真
* !:非(取反)
自增自减:++ --
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、分支结构
1. 单分支 IF
2. 双分支 IF...ELSE
3. 多分支 IF...ELSE IF...ELSE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、循环结构
1. WHILE循环
适用场景:知道循环结束条件,但不确定循环次数
2. FOR循环
适用场景:明确循环次数,需要计数变量
循环三要素:循环初值;循环条件;循环改变量
3. DO...WHILE循环
特点:先执行一次循环体,再判断条件,至少执行一次
4. 循环控制语句
* break:跳出当前循环(整个循环结束)
* continue:跳过本次循环剩余部分,进入下一次循环
5. 无限循环
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、数组
1. 一维数组
定义数组
初始化数组
访问数组
遍历数组
常见数组操作
2. 二维数组
定义二维数组
初始化二维数组
访问二维数组
遍历二维数组
3. 循环嵌套
示例1:输出n行m列的*号
示例2:输出直角三角形
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
五、常见问题与技巧
1. 数组越界
* 定义数组时预留足够空间(+5或+10)
* 访问时确保下标在有效范围内
2. 变量初始化
* 局部变量不会自动初始化,使用前务必赋值
* 全局变量会自动初始化为0
3. 数据类型选择
* 数据范围超过2×10⁹时用long long
* 需要精确小数用double
* 存储字符用char
* 存储逻辑状态用bool