运算符
作用:用于执行运算
这里主要讨论:
- 算数运算符:用于处理四则运算
- 赋值运算符:用于表达式赋值
- 比较运算符:用于表达式的比较,返回真值(1)或假值(0)
- 逻辑运算符:用于根据表达式的值返回真值(1)或假值(0)
1. 算数运算符
作用:用于处理算数运算
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | +3 |
- | 负号 | -3 | -3 |
+ | 加号 | 3 + 4 | 7 |
- | 减号 | 7 - 3 | 4 |
* | 乘 | 10 * 5 | 50 |
/ | 除 | 10 / 2 | 2 |
% | 取余 | 10 % 3 | 1 |
++ | 前置递增 | a = 2; b = ++a | a = 3, b = 3; |
++ | 后置递增 | a = 2; b = a++ | a = 3, b = 2; |
-- | 前置递减 | a = 2; b = --a | a = 1; b = 1; |
-- | 后置递减 | a = 2; b = a-- | a = 1; b = 2; |
// 1. 整数的除法运算是截断小数的
cout << 5 / 2 << endl; // 结果为2,小数被截断
// 2. 除法中分母不能为0
// 3. 前置增(减)和后置增(减)的相同点:是执行后都完成变量的自增和自减
// 而两者的区别在于:两者返回的数值不同,前置返回运算后的值,后置返回运算前的值
2. 赋值运算符
作用:用于将表达式的值赋给变量
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
= | 赋值 | a = 2; b = 3; | a = 2, b = 3 |
+= | 加等于 | a = 0; a += 2; | a = 2 |
-= | 减等于 | a = 3; a -= 2; | a = 1 |
*= | 乘等于 | a = 2; a *= 2; | a = 4 |
/= | 除等于 | a = 4; a /= 2; | a = 2 |
%= | 取余等于 | a = 3; a %= 2; | a = 1 |
示例:
// 下面两个表达式效果相同
a += 2;
a = a + 2;
3. 比较运算符
作用:用于表达式的比较,并返回一个真值或假值
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
== | 相等于 | 4 == 3 | 0 |
!= | 不等于 | 4 != 3 | 1 |
< | 小于 | 4 < 3 | 0 |
> | 大于 | 4 > 3 | 1 |
<= | 小于等于 | 4 <= 3 | 0 |
>= | 大于等于 | 4 >= 3 | 0 |
示例:
#include <iostream>
using namespace std;
int main (){
int a = 10;
int b = 20;
cout << (a == b) << endl; // 0
cout << (a != b) << endl; // 1
cout << (a < b) << endl; // 1
cout << (a > b) << endl; // 0
cout << (a <= b) << endl; // 1
cout << (a >= b) << endl; // 0
return 0;
}
4. 逻辑运算符
作用:用于根据表达式的值返回真值或假值
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
! | 非 | !a | 如a为假,则为真;若a为真,则为假 |
&& | 与 | a && b | 若a、b均为真时,为真;否则为假 |
||或 | a || b | 若a、b均为假时,为假;否则为真 |
注意:与和非有短路特性。
&&:a&&b,如果a为假值,则不会再判断b,因为无论b的真假,该运算的结果必为假;
| |:a||b,如果a为真值,则不会再判断b,因为无论b的真假,该运算的结果必为真。