📖 学习信息
学习课程:黑马 C++ 零基础入门教程
本日学习:C++ 全套运算符包含:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符、运算符优先级
一、前言
运算符是 C++ 基础核心,用于数据运算、判断条件、逻辑处理。后续分支、循环、算法全部依赖运算符,本篇一次性整理全部基础运算符,方便长期复习查阅。
二、算术运算符
1. 常用符号
+ - * / % ++ --
2. 运算规则
- 加减乘除:和数学规则一致
- 整数相除结果还是整数,直接舍去小数
%取模(取余数):只能用于整型,小数不能取模++自增、--自减:变量自身 +1 /-1
3. 前置 / 后置自增区别
- 后置
a++:先使用值,后自增 - 前置
++a:先自增,后使用值
代码示例
#include <iostream>
using namespace std;
int main()
{
int a = 10;
int b = 3;
cout << a + b << endl;
cout << a - b << endl;
cout << a * b << endl;
cout << a / b << endl; // 整数相除:10 / 3 = 3
cout << a % b << endl; // 取模:10 % 3 = 1
// 自增演示
int x = 5;
cout << x++ << endl; // 先输出5,再加1
cout << ++x << endl; // 先加1,再输出
return 0;
}
三、赋值运算符
1. 常用符号
= += -= *= /= %=
2. 作用
用于给变量赋值或复合运算后赋值,简化代码。
运算规则
int a = 10;
a += 5; // 等价于 a = a + 5
a -= 2; // 等价于 a = a - 2
a *= 3; // 等价于 a = a * 3
a /= 2; // 等价于 a = a / 2
a %= 4; // 等价于 a = a % 4
四、比较运算符(关系运算符)
1. 常用符号
> < >= <= == !=
2. 规则
- 运算结果只有两种:真 (1) / 假 (0)
==判断相等,!=判断不相等- 常用于后续 if 判断、循环条件
示例
int a = 10;
int b = 20;
cout << (a > b) << endl; // 0 假
cout << (a < b) << endl; // 1 真
cout << (a == b) << endl; // 0
cout << (a != b) << endl; // 1
注意:判断相等务必用
==,不要写成赋值=
五、逻辑运算符
1. 常用符号
&& 逻辑与|| 逻辑或! 逻辑非
2. 运算规则
&&与:两边全为真,结果才为真||或:两边一个为真,结果就为真!非:取反,真变假、假变真
短路规则(重点)
A && B:A 为假,直接短路,不执行 BA || B:A 为真,直接短路,不执行 B
示例
int a = 10;
// 满足两个条件才成立
cout << (a > 5 && a < 20) << endl;
六、位运算符(了解)
针对二进制位运算,底层、算法常用
&按位与|按位或^按位异或<<左移>>右移
基础阶段先记住名称,后期算法深入使用。
七、三目运算符(条件运算符)
C++ 唯一的三元运算符,简化简单 if-else 写法
语法
条件 ? 表达式1 : 表达式2;
- 条件为真 → 执行表达式 1
- 条件为假 → 执行表达式 2
示例
int a = 10;
int b = 20;
int maxNum = (a > b) ? a : b;
快速求出两个数最大值,代码极简。
八、运算符优先级(背诵口诀)
- 单目运算(!、++、--) > 算术运算
- 算术运算 > 比较运算
- 比较运算 > 逻辑运算
- 逻辑与 > 逻辑或
- 赋值运算符优先级最低
不确定优先级,直接加
()括号,可读性更高。
九、今日全部总结
- 算术运算符:加减乘除、取模、前后自增,注意整数除法特性;
- 赋值运算符:基础赋值 + 复合赋值,简化代码书写;
- 比较运算符:结果为真假,用于条件判断;
- 逻辑运算符:与或非,存在短路特性,多条件判断必备;
- 三目运算符:极简替代简单分支语句;
- 位运算符:二进制底层运算,后续进阶使用;
- 写代码不确定优先级,优先使用括号提升可读性。
✍️ 下节预告
下一天学习 C++ 程序流程结构:顺序结构、选择结构(if /switch),紧跟黑马课程节奏。