在本教程中,我们将借助示例学习 C++ 中不同类型的运算符。 在编程中,运算符是对值或变量进行运算的符号。
运算符是对变量和值执行运算的符号。 例如,+
是用于加法的运算符,而-
是用于减法的运算符。
C++ 中的运算符可分为 6 种类型:
- 算术运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 按位运算符
- 其他运算符
1. C++ 算术运算符
算术运算符用于对变量和数据执行算术运算。 例如,
a + b;
此处,+
运算符用于相加两个变量a
和b
。 同样,C++ 中还有其他各种算术运算符。
运算符 | 工作方式 |
---|---|
+ |
加法 |
- |
减法 |
* |
乘法 |
/ |
除法 |
% |
模运算(除法后的余数) |
示例 1:算术运算符
#include <iostream>
using namespace std;
int main() {
int a, b;
a = 7;
b = 2;
// printing the sum of a and b
cout << "a + b = " << (a + b) << endl;
// printing the difference of a and b
cout << "a - b = " << (a - b) << endl;
// printing the product of a and b
cout << "a * b = " << (a * b) << endl;
// printing the division of a by b
cout << "a / b = " << (a / b) << endl;
// printing the modulo of a by b
cout << "a % b = " << (a % b) << endl;
return 0;
}
输出
a + b = 9
a - b = 5
a * b = 14
a / b = 3
a % b = 1
在这里,运算符+
,-
和*
分别计算了我们可能期望的加,减和乘。
除法运算符
注意我们程序中的操作(a / b)
。/
运算符是除法运算符。
从上面的示例可以看出,如果一个整数除以另一个整数,我们将得到商。 但是,如果除数或被除数是浮点数,我们将以小数形式得到结果。
In C++,
7/2 is 3
7.0 / 2 is 3.5
7 / 2.0 is 3.5
7.0 / 2.0 is 3.5
模运算符
模运算符%
计算余数。 当a = 9
除以b = 4
时,余数为 1。
注意:%
运算符只能与整数一起使用。
增减运算符
C++ 还提供了递增和递减运算符:分别为++
和--
。++
将操作数的值增加 1,而--
将其减少值 1。
例如,
int num = 5;
// increasing num by 1
++num;
在此,num
的值从其初始值 5 增加到 6。
示例 2:递增和递减运算符
// Working of increment and decrement operators
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 100, result_a, result_b;
// incrementing a by 1 and storing the result in result_a
result_a = ++a;
cout << "result_a = " << result_a << endl;
// decrementing b by 1 and storing the result in result_b
result_b = --b;
cout << "result_b = " << result_b << endl;
return 0;
}
输出
result_a = 11
result_b = 99
在上面的程序中,我们将++
和--
运算符用作前缀。 我们还可以将这些运算符用作后缀。
这些运算符用作前缀与用作后缀时略有不同。
要了解有关这些运算符的更多信息,请访问递增和递减运算符。
2. C++ 赋值运算符
在 C++ 中,赋值运算符用于将值赋给变量。 例如,
// assign 5 to a
a = 5;
在这里,我们为变量a
分配了5
的值。
运算符 | 示例 | 相当于 |
---|---|---|
= |
a = b; |
a = b; |
+= |
a += b; |
a = a + b; |
-= |
a -= b; |
a = a - b; |
*= |
a *= b; |
a = a * b; |
/= |
a /= b; |
a = a / b; |
%= |
a %= b; |
a = a % b; |
示例 2:赋值运算符
#include <iostream>
using namespace std;
int main() {
int a, b, temp;
// 2 is assigned to a
a = 2;
// 7 is assigned to b
b = 7;
// value of a is assigned to temp
temp = a; // temp will be 2
cout << "temp = " << temp << endl;
// assigning the sum of a and b to a
a += b; // a = a +b
cout << "a = " << a << endl;
return 0;
}
输出
temp = 2
a = 9
3. C++ 关系运算符
关系运算符用于检查两个操作数之间的关系。 例如,
// checks if a is greater than b
a > b;
在此,>
是关系运算符。 它检查a
是否大于b
。
如果关系为为真,则返回 1,而如果关系为为假,则返回 0。
运算符 | 含义 | 示例 |
---|---|---|
== |
等于 | 3 == 5 求值为false |
!= |
不等于 | 3 != 5 求值为true |
> |
大于 | 3 > 5 求值为false |
< |
小于 | 3 < 5 求值为true |
>= |
大于或等于 | 3 >= 5 求值为false |
<= |
小于或等于 | 3 <= 5 求值为true |
示例 4:关系运算符
#include <iostream>
using namespace std;
int main() {
int a, b;
a = 3;
b = 5;
bool result;
result = (a == b); // false
cout << "3 == 5 is " << result << endl;
result = (a != b); // true
cout << "3 != 5 is " << result << endl;
result = a > b; // false
cout << "3 > 5 is " << result << endl;
result = a < b; // true
cout << "3 < 5 is " << result << endl;
result = a >= b; // false
cout << "3 >= 5 is " << result << endl;
result = a <= b; // true
cout << "3 <= 5 is " << result << endl;
return 0;
}
输出
3 == 5 is 0
3 != 5 is 1
3 > 5 is 0
3 < 5 is 1
3 >= 5 is 0
3 <= 5 is 1
注意:关系运算符用于决策和循环。
4. C++ 逻辑运算符
逻辑运算符用于检查表达式是true
还是false
。 如果表达式为true
,则返回 1,而如果表达式为false
,则返回 0。
运算符 | 示例 | 含义 | ||||
---|---|---|---|---|---|---|
&& |
expression1 && expression2 |
逻辑与。仅当所有操作数均为true 时为true 。 |
||||
` | ` | `expression1 | expression2` | 逻辑或。如果至少一个操作数为true ,则为true 。 |
||
! |
!expr |
逻辑非。仅当操作数为false 时为true 。 |
在 C++ 中,逻辑运算符通常用于决策制定。 为了进一步了解逻辑运算符,让我们来看以下示例,
Suppose,
a = 5
b = 8
Then,
(a > 3) && (b > 5) evaluates to true
(a > 3) && (b < 5) evaluates to false
(a > 3) || (b > 5) evaluates to true
(a > 3) || (b < 5) evaluates to true
(a < 3) || (b < 5) evaluates to false
!(a == 3) evaluates to true
!(a > 3) evaluates to false
示例 5:逻辑运算符
#include <iostream>
using namespace std;
int main() {
bool result;
result = (3 != 5) && (3 < 5); // true
cout << "(3 != 5) && (3 < 5) is " << result << endl;
result = (3 == 5) && (3 < 5); // false
cout << "(3 == 5) && (3 < 5) is " << result << endl;
result = (3 == 5) && (3 > 5); // false
cout << "(3 == 5) && (3 > 5) is " << result << endl;
result = (3 != 5) || (3 < 5); // true
cout << "(3 != 5) || (3 < 5) is " << result << endl;
result = (3 != 5) || (3 > 5); // true
cout << "(3 != 5) || (3 > 5) is " << result << endl;
result = (3 == 5) || (3 > 5); // false
cout << "(3 == 5) || (3 > 5) is " << result << endl;
result = !(5 == 2); // true
cout << "!(5 == 2) is " << result << endl;
result = !(5 == 5); // false
cout << "!(5 == 5) is " << result << endl;
return 0;
}
输出
(3 != 5) && (3 < 5) is 1
(3 == 5) && (3 < 5) is 0
(3 == 5) && (3 > 5) is 0
(3 != 5) || (3 < 5) is 1
(3 != 5) || (3 > 5) is 1
(3 == 5) || (3 < 5) is 0
!(5 == 2) is 1
!(5 == 5) is 0
逻辑运算符的说明
(3 != 5) && (3 < 5)
的值为 1,因为两个操作数(3 != 5)
和(3 < 5)
均为 1(true
)。(3 == 5) && (3 < 5)
的值为 0,因为操作数(3 == 5)
为 0 (false
)。(3 == 5) && (3 > 5)
的值为 0,因为两个操作数(3 == 5)
和(3 > 5)
均为 0(false
)。(3 != 5) || (3 < 5)
的值为 1,因为两个操作数(3 != 5)
和(3 < 5)
均为 1(true
)。(3 != 5) || (3 > 5)
的值为 1,因为操作数(3 != 5)
为 1(true
)。(3 == 5) || (3 > 5)
的值为 0,因为两个操作数(3 == 5)
和(3 > 5)
均为 0(false
)。!(5 == 2)
的值为 1,因为操作数(5 == 2)
为 0(false
)。!(5 == 5)
的值为 0,因为操作数(5 == 5)
为 1(true
)。
5. C++ 按位运算符
在 C++ 中,按位运算符用于对单个位执行操作。 它们只能与char
和int
数据类型一起使用。
运算符 | 描述 |
---|---|
& |
二进制与 |
| |
二进制或 |
^ |
二进制异或 |
~ |
二进制补码 |
<< |
二进制左移 |
>> |
二进制右移 |
要了解更多信息,请访问 C++ 按位运算符。
除了上面讨论的运算符外,还有一些其他运算符,例如sizeof
,?
,.
,&
等,不能整齐地分为一种或另一种类型。 我们将在后面的教程中了解有关这些运算符的更多信息。