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