C++ 系统学习日记・第 04 天|全面详解 C++ 所有运算符

3 阅读3分钟

📖 学习信息

学习课程:黑马 C++ 零基础入门教程

本日学习:C++ 全套运算符包含:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符、运算符优先级


一、前言

运算符是 C++ 基础核心,用于数据运算、判断条件、逻辑处理。后续分支、循环、算法全部依赖运算符,本篇一次性整理全部基础运算符,方便长期复习查阅。


二、算术运算符

1. 常用符号

+ - * / % ++ --

2. 运算规则

  1. 加减乘除:和数学规则一致
  2. 整数相除结果还是整数,直接舍去小数
  3. % 取模(取余数):只能用于整型,小数不能取模
  4. ++ 自增、-- 自减:变量自身 +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. 运算结果只有两种:真 (1) / 假 (0)
  2. == 判断相等,!= 判断不相等
  3. 常用于后续 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. 运算规则

  • && 与:两边全为真,结果才为真
  • || 或:两边一个为真,结果就为真
  • ! 非:取反,真变假、假变真

短路规则(重点)

  1. A && B:A 为假,直接短路,不执行 B
  2. A || 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;

快速求出两个数最大值,代码极简。


八、运算符优先级(背诵口诀)

  1. 单目运算(!、++、--) > 算术运算
  2. 算术运算 > 比较运算
  3. 比较运算 > 逻辑运算
  4. 逻辑与 > 逻辑或
  5. 赋值运算符优先级最低

不确定优先级,直接加 () 括号,可读性更高。


九、今日全部总结

  1. 算术运算符:加减乘除、取模、前后自增,注意整数除法特性;
  2. 赋值运算符:基础赋值 + 复合赋值,简化代码书写;
  3. 比较运算符:结果为真假,用于条件判断;
  4. 逻辑运算符:与或非,存在短路特性,多条件判断必备;
  5. 三目运算符:极简替代简单分支语句;
  6. 位运算符:二进制底层运算,后续进阶使用;
  7. 写代码不确定优先级,优先使用括号提升可读性。

✍️ 下节预告

下一天学习 C++ 程序流程结构:顺序结构、选择结构(if /switch),紧跟黑马课程节奏。