在本教程中,我们将借助示例学习 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 bcout << "a + b = " << (a + b) << endl;// printing the difference of a and bcout << "a - b = " << (a - b) << endl;// printing the product of a and bcout << "a * b = " << (a * b) << endl;// printing the division of a by bcout << "a / b = " << (a / b) << endl;// printing the modulo of a by bcout << "a % b = " << (a % b) << endl;return 0;}
输出
a + b = 9a - b = 5a * b = 14a / b = 3a % b = 1
在这里,运算符+,-和*分别计算了我们可能期望的加,减和乘。
除法运算符
注意我们程序中的操作(a / b)。/运算符是除法运算符。
从上面的示例可以看出,如果一个整数除以另一个整数,我们将得到商。 但是,如果除数或被除数是浮点数,我们将以小数形式得到结果。
In C++,7/2 is 37.0 / 2 is 3.57 / 2.0 is 3.57.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_aresult_a = ++a;cout << "result_a = " << result_a << endl;// decrementing b by 1 and storing the result in result_bresult_b = --b;cout << "result_b = " << result_b << endl;return 0;}
输出
result_a = 11result_b = 99
在上面的程序中,我们将++和--运算符用作前缀。 我们还可以将这些运算符用作后缀。
这些运算符用作前缀与用作后缀时略有不同。
要了解有关这些运算符的更多信息,请访问递增和递减运算符。
2. C++ 赋值运算符
在 C++ 中,赋值运算符用于将值赋给变量。 例如,
// assign 5 to aa = 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 aa = 2;// 7 is assigned to bb = 7;// value of a is assigned to temptemp = a; // temp will be 2cout << "temp = " << temp << endl;// assigning the sum of a and b to aa += b; // a = a +bcout << "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,?,.,&等,不能整齐地分为一种或另一种类型。 我们将在后面的教程中了解有关这些运算符的更多信息。
