C++运算符分为算术、关系、逻辑、赋值四类:算术运算符含+、-、*、/、%及++/--,注意/的类型敏感性和%仅限整数;关系运算符有==、!=、>、=、

在 C++ 中,运算符是构建表达式和控制程序逻辑的基础工具。它们按功能分为几大类,每类有明确的用途和使用限制。掌握这些分类和典型用法,能避免常见错误,比如把 = 写成 ==,或对浮点数误用取模运算。
算术运算符:做数值计算的基本操作
包括 +、-、*、/、%、++、--。其中前五个是双目运算符(需要两个操作数),后两个是单目运算符(只作用于一个变量)。
- / 有类型敏感性:两个整数相除结果仍是整数(如 7 / 2 → 3),只要有一个是浮点数,就执行浮点除法(7.0 / 2 → 3.5)
- % 只能用于整数,不能用于 float 或 double;余数符号与被除数一致(-10 % 3 → -1)
- ++ 和 -- 分前缀与后缀:++a 先加再用,a++ 先用再加(int x=5; cout )
关系运算符:判断大小和相等性
用于比较两个值,返回 true 或 false,共 6 个:==、!=、>、、>=、。
- 优先级不同:>、、>=、 比 == 和 != 级别高,比如 a == b 等价于 a == (b
- = 是赋值,== 是比较,写错会导致逻辑 bug(如 if (a = 5) 总是为真)
- 操作数类型需可比,比如两个 int、两个指针可以比较,但两个结构体需自定义重载或使用 memcmp
逻辑运算符:组合布尔条件
用于连接多个关系表达式,结果仍为 bool:&&(与)、||(或)、!(非)。
立即学习“C++免费学习笔记(深入)”;
- && 和 || 支持短路求值:如果左边已能确定整个表达式结果,右边就不会执行(如 ptr != nullptr && ptr->val > 0,前面为假时不会访问空指针)
- ! 作用于单个操作数,把 true 变 false、false 变 true;注意 !0 → true,!5 → false
- 别混淆 && 和位运算 &,后者是对二进制位操作,不带短路特性
赋值与复合赋值运算符:简化变量更新
基础赋值是 =,而复合赋值如 +=、-=、*=、/=、%= 能让代码更简洁且高效。
- a += b 等价于 a = a + b,但只计算一次左值地址,语义更清晰
- 支持链式赋值:a = b = c = 5;(从右向左结合)
- 注意复合赋值隐含类型转换:若 a 是 short,a += 100000; 可能溢出,编译器通常不报错
基本上就这些。其他如位运算符、作用域运算符 ::、解引用 *、取地址 & 等,在特定场景才常用。初学阶段先吃透这四类,写代码会少踩很多坑。








