C++ 运算符
预计时间: 10分钟
在本教程中,我们将借助示例了解 C++ 中不同类型的运算符。在编程中,运算符是对值或变量进行操作的符号。
运算符是对变量和值执行操作的符号。
例如,+
是用于加法-
的运算符,而是用于减法的运算符。
C++ 中的运算符可分为 6 种类型:
- 算术运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 其他运算符
1. C++算术运算符
算术运算符用于对变量和数据执行算术运算。例如,
a + b;
这里,+
运算符用于添加两个变量一种和b. 同样,C++ 中还有各种其他算术运算符。
运算符 | 运算 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 模运算(除法后的余数) |
示例 1:算术运算符
#include <iostream>
using namespace std;
int main() {
int a, b;
a = 7;
b = 2;
// 输出a加上b的和
cout << "a + b = " << (a + b) << endl;
// 输出a减去b的差
cout << "a - b = " << (a - b) << endl;
// 输出a乘以b的积
cout << "a * b = " << (a * b) << endl;
// 输出a除以b的商
cout << "a / b = " << (a / b) << endl;
// 输出a模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)
操作。/
运算符是除法运算符。
从上面的例子中我们可以看出,如果一个整数除以另一个整数,我们将得到商。但是,如果除数或被除数是浮点数,我们将得到小数的结果。
在 C++ 中,
7/2 是 3
7.0 / 2 是 3.5
7 / 2.0 是 3.5
7.0 / 2.0 是 3.5
% 模运算符
模运算符%
计算余数。当a = 9
除以b = 4
时,余数为1。
注意:运算
%
符只能与整数一起使用。
递增和递减运算符
C++ 还分别提供了递增和递减运算符:++
和--
。
++
将操作数的值增加1--
将其减少1
例如,
int num = 5;
// increment operator
++num; // 6
这里,代码++num;
将num
的值增加1。
示例 2:递增和递减运算符
// 自增和自减操作符
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 100, result_a, result_b;
// 将a加1并将结果存储在result_a中
result_a = ++a;
cout << "result_a = " << result_a << endl;
// 将a加1并将结果存储在result_a中
result_b = --b;
cout << "result_b = " << result_b << endl;
return 0;
}
输出
结果_a = 11
结果_b = 99
在上面的程序中,我们使用了++
and--
运算符作为前缀(++a 和 --b)。但是,我们也可以将这些运算符用作后缀(a++ 和 b--)。
要了解更多信息,请访问递增和递减运算符。
2. C++ 赋值运算符
在 C++ 中,赋值运算符用于为变量赋值。例如,
// 将5赋值给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; |
示例 3:赋值运算符
#include <iostream>
using namespace std;
int main() {
int a, b;
// 2被赋值给a
a = 2;
// 7被赋值给b
b = 7;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "\nAfter a += b;" << endl;
// 把a和b的和赋给a
a += b; // a = a +b
cout << "a = " << a << endl;
return 0;
}
输出
a = 2
b = 7
After a += b;
a = 9
3. C++ 关系运算符
关系运算符用于检查两个操作数之间的关系。例如,
// 检查a是否大于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。
运算符 | 示例 | 说明 |
---|---|---|
&& | 表达式1 && 表达式2 | 逻辑与。 仅当所有操作数都为真时才为真。 |
|| | 表达式1 || 表达式2 | 逻辑或。 如果至少有一个操作数为真,则为真。 |
! | !表达式 | 逻辑非。 仅当操作数为假时才为真。 |
在 C++ 中,逻辑运算符通常用于决策。为了进一步理解逻辑运算符,让我们看下面的例子,
假设
a = 5
b = 8
那么接下来
(a > 3) && (b > 5) 计算结果为 true
(a > 3) && (b < 5) 计算结果为 false
(a > 3) || (b > 5) 计算结果为 true
(a > 3) || (b < 5) 计算结果为 true
(a < 3) || (b < 5) 计算结果为 false
!(a < 3) 计算结果为 true
!(a > 3) 计算结果为 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(真)。(3 == 5) && (3 < 5)
计算结果为0,因为操作数(3 == 5)
为0(假)。(3 == 5) && (3 > 5)
计算结果为0,因为两个操作数(3 == 5)
和(3 > 5)
都是0(假)。(3 != 5) || (3 < 5)
计算结果为1,因为两个操作数(3 != 5)
和(3 < 5)
都是1(真)。(3 != 5) || (3 > 5)
计算结果为1,因为操作数(3 != 5)
为1(真)。(3 == 5) || (3 > 5)
计算结果为0,因为两个操作数(3 == 5)
和(3 > 5)
都是0(假)。!(5 == 2)
计算结果为1,因为操作数(5 == 2)
为0(假)。!(5 == 5)
计算结果为0,因为操作数(5 == 5)
为1(真)。
5. C++ 位运算符
在c++中,位运算符用于对单个位执行操作。它们只能与char
和int
数据类型一起使用。
运算符 | 说明 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
~ | 按位补码 |
<< | 按位左移 |
>> | 按位右移 |
要了解更多信息,请访问C++ 位运算符。
6. 其他 C++ 运算符
下面是c++中其他一些常用操作符的列表。我们将在后面的教程中学习它们。
运算符 | 说明 | 示例 |
---|---|---|
sizeof | 返回数据类型的大小 | sizeof(int); // 4 |
?: | 根据条件返回值 | string result = (5 > 0) ? "even" : "odd"; // "even" |
& | 表示操作数的内存地址 | # // address of num |
. | 访问结构变量或类对象的成员 | s1.marks = 92; |
-> | 与指针一起使用以访问类或结构变量 | ptr->marks = 92; |
<< | 打印输出值 | cout << 5; |
>> | 获取输入值 | cin >> num; |
更新于2021年05月04日