目录
1. 算术运算符 (Arithmetic Operators)
2. 关系运算符 (Relational Operators)
大于等于 (>=): 检查左操作数是否大于或等于右操作数。
小于等于 (<=): 检查左操作数是否小于或等于右操作数。
逻辑与 (&&): 当且仅当两个操作数都为 true 时,结果为 true。
逻辑或 (||): 如果任一操作数为 true,则结果为 true。
逻辑非 (!): 把 true 变为 false,false 变为 true。
按位取反 (~): 把二进制数中的 0 变为 1,1 变为 0。
左移 (<<): 把操作数的二进制表示向左移动若干位,高位丢弃,低位补 0。
右移 (>>): 把操作数的二进制表示向右移动若干位,低位丢弃,高位取决于符号位(正数补 0,负数补 1)。
5. 赋值运算符 (Assignment Operators)
加后赋值 (+=): 把右操作数加到左操作数上,然后赋值给左操作数。
减后赋值 (-=): 从左操作数中减去右操作数,然后赋值给左操作数。
乘后赋值 (*=): 把左操作数与右操作数相乘,然后赋值给左操作数。
除后赋值 (/=): 把左操作数除以右操作数,然后赋值给左操作数。
取模后赋值 (%=): 把左操作数对右操作数取模,然后赋值给左操作数。
C++ 是一种功能强大且灵活的编程语言,支持多种运算符,这些运算符可以用于执行各种类型的操作,如算术运算、比较、逻辑运算等。以下是 C++ 中常用运算符的介绍及用法:
1. 算术运算符 (Arithmetic Operators)
-
加法 (
+
): 两个操作数相加。int a = 5; int b = 3; int result = a + b; // result 是 8
-
减法 (
-
): 从第一个操作数中减去第二个操作数。int a = 5; int b = 3; int result = a - b; // result 是 2
-
乘法 (
*
): 两个操作数相乘。int a = 5; int b = 3; int result = a * b; // result 是 15
-
除法 (
/
): 第一个操作数除以第二个操作数。int a = 6; int b = 3; int result = a / b; // result 是 2
-
取模 (
%
): 两个操作数相除后的余数。int a = 5; int b = 3; int result = a % b; // result 是 2
-
自增 (
++
): 操作数的值增加 1。int a = 5; a++; // a 是 6
-
自减 (
--
): 操作数的值减少 1。int a = 5; a--; // a 是 4
2. 关系运算符 (Relational Operators)
-
等于 (
==
): 检查两个操作数是否相等。int a = 5; int b = 5; bool result = (a == b); // result 是 true
-
不等于 (
!=
): 检查两个操作数是否不相等。int a = 5; int b = 3; bool result = (a != b); // result 是 true
-
大于 (
>
): 检查左操作数是否大于右操作数。int a = 5; int b = 3; bool result = (a > b); // result 是 true
-
小于 (
<
): 检查左操作数是否小于右操作数。int a = 3; int b = 5; bool result = (a < b); // result 是 true
-
大于等于 (
>=
): 检查左操作数是否大于或等于右操作数。int a = 5; int b = 3; bool result = (a >= b); // result 是 true
-
小于等于 (
<=
): 检查左操作数是否小于或等于右操作数。int a = 3; int b = 5; bool result = (a <= b); // result 是 true
3. 逻辑运算符 (Logical Operators)
-
逻辑与 (
&&
): 当且仅当两个操作数都为 true 时,结果为 true。bool a = true; bool b = false; bool result = (a && b); // result 是 false
-
逻辑或 (
||
): 如果任一操作数为 true,则结果为 true。bool a = true; bool b = false; bool result = (a || b); // result 是 true
-
逻辑非 (
!
): 把 true 变为 false,false 变为 true。bool a = true; bool result = !a; // result 是 false
4. 位运算符 (Bitwise Operators)
-
按位与 (
&
): 对应位都为 1 时,结果为 1。int a = 5; // 二进制: 0101 int b = 3; // 二进制: 0011 int result = a & b; // result 是 1 (0001)
-
按位或 (
|
): 对应位只要有一个为 1,结果为 1。int a = 5; // 二进制: 0101 int b = 3; // 二进制: 0011 int result = a | b; // result 是 7 (0111)
-
按位异或 (^): 对应位不同则为 1。
int a = 5; // 二进制: 0101 int b = 3; // 二进制: 0011 int result = a^b; // result 是 6 (0110)
-
按位取反 (
~
): 把二进制数中的 0 变为 1,1 变为 0。int a = 5; // 二进制: 0101 int result = ~a; // result 是 -6 (计算方式为取反加1,即: 1010 + 1 = 1011,在补码表示中为 -6)
-
左移 (
<<
): 把操作数的二进制表示向左移动若干位,高位丢弃,低位补 0。int a = 5; // 二进制: 0101 int result = a << 1; // result 是 10 (1010)
-
右移 (
>>
): 把操作数的二进制表示向右移动若干位,低位丢弃,高位取决于符号位(正数补 0,负数补 1)。int a = 5; // 二进制: 0101 int result = a >> 1; // result 是 2 (0010)
5. 赋值运算符 (Assignment Operators)
-
简单赋值 (
=
): 把右操作数的值赋给左操作数。int a = 5; int b = a; // b 是 5
-
加后赋值 (
+=
): 把右操作数加到左操作数上,然后赋值给左操作数。int a = 5; a += 3; // a 是 8
-
减后赋值 (
-=
): 从左操作数中减去右操作数,然后赋值给左操作数。int a = 5; a -= 3; // a 是 2
-
乘后赋值 (
*=
): 把左操作数与右操作数相乘,然后赋值给左操作数。int a = 5; a *= 3; // a 是 15
-
除后赋值 (
/=
): 把左操作数除以右操作数,然后赋值给左操作数。int a = 6; a /= 3; // a 是 2
-
取模后赋值 (
%=
): 把左操作数对右操作数取模,然后赋值给左操作数。int a = 5; a %= 3; //a 是 2