Opera托尔斯 C++ 举例说明:什么是、类型和程序
是什么 Opera托尔斯?
操作员 是用于对操作数执行运算的符号。运算符对操作数进行运算。运算可以是数学运算,也可以是逻辑运算。运算符有多种类型 C++ 来执行不同的操作。
考虑以下操作:
a = x + y;
在上面的语句中,x 和 y 是操作数,而 + 是加法运算符。当 C++ 编译器遇到上述语句,它会将 x 和 y 相加,并将结果存储在变量 a 中。
种类 Opera托尔斯 C++
主要有 6 种不同类型的运算符 C++
- 算术 Opera职权范围
- 相关的 Opera职权范围
- 合乎逻辑 Opera职权范围
- 按位 Opera职权范围
- 转让 Opera职权范围
- 其他 Opera职权范围
算术 Opera职权范围
它们是用于执行数学/算术运算的运算符类型。它们包括:
| Opera器 | 描述 |
|---|---|
| + 加法运算符 | 添加到操作数。 |
| – 减法运算符 | 减 2nd 操作数从 1st 操作数。 |
| * 乘法运算符 | 将 2 个操作数相乘。 |
| / 除法运算符。 | 用分子除以分母。 |
| % 模数运算符 | 返回除法后的余数。 |
| ++ 增量运算符 | 将整数值增加 1。 |
| — 减量运算符。 | 将整数值减少 1。 |
例如:
#include <iostream>
using namespace std;
int main() {
int a = 11;
int b = 5;
int c;
cout << "a + b is :" << a+b << endl; //11+5
cout << "a - b is :" << a-b << endl; //11-5
cout << "a * b is :" << a*b << endl; //11*5
cout << "a / b is :" << a/b << endl; //11/5
cout << "a % b is :" << a%b << endl; //11%5
cout << "a++ is :" << a++ << endl; //11++
cout << "a-- is :" << a-- << endl; //12--
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
- 声明一个整型变量a,并将其初始化为11。
- 声明一个整型变量b并将其初始化为5。
- 声明一个整型变量 c。
- 在控制台上与其他文本一起打印操作 a+b 的值。
- 在控制台上与其他文本一起打印操作 ab 的值。
- 在控制台上与其他文本一起打印操作 a*b 的值。
- 在控制台上与其他文本一起打印操作 a/b 的值。
- 在控制台上与其他文本一起打印操作 a%b 的值。
- 在控制台上与其他文本一起打印操作 a++ 的值。
- 在控制台上与其他文本一起打印操作 a– 的值。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
相关的 Opera职权范围
这些类型的运算符对操作数进行比较。例如,您可能需要知道哪个操作数大于另一个操作数,或者小于另一个操作数。它们包括:
| Opera器 | 描述 |
|---|---|
| == 等于运算符。 | 检查两个操作数值是否相等。 |
| != 不等于运算符 | 检查两个操作数值是否相等。 |
| > 大于运算符 | 检查左操作数的值是否大于右操作数的值。 |
| < 小于运算符。 | 检查左操作数的值是否小于右操作数的值。 |
| >= 大于或等于运算符 | 检查左操作数的值是否大于或等于右操作数的值。 |
| <= 小于或等于运算符。 | 检查左操作数的值是否小于或等于右操作数的值。 |
例如:
#include <iostream>
using namespace std;
int main() {
int a = 11;
int b = 5;
cout << "a=11, b=5" << endl;
if (a == b) {
cout << "a == b is true" << endl;
}
else {
cout << " a == b is false" << endl;
}
if (a < b) {
cout << "a < b is true" << endl;
}
else {
cout << "a < b is false" << endl;
}
if (a > b) {
cout << "a > b is true" << endl;
}
else {
cout << "a > b is false" << endl;
}
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
- 声明一个整型变量a,并将其初始化为11。
- 声明一个整型变量b并将其初始化为5。
- 在控制台上打印一些文本,说明变量 a 和 b 的值。
- 在 if 决策语句中执行算术运算 a==b 以了解其为真还是假。{ 标记 if 语句主体的开始。
- 如果操作 a==b 为真,则在控制台上打印的文本。endl 是 C++ 结束行的关键字。它推动光标在下一行开始打印。} 标记 if 语句主体的结束。
- 上述 if 语句的 else 部分。它说明如果操作 a==b 为假,该做什么。
- 如果操作 a==b 为假,则在控制台上打印的文本。endl 是 C++ 结束行的关键字。它推动光标在下一行开始打印。} 标记 else 语句主体的结束。
- 执行算术运算时,
- 如果操作是 C++ 结束行的关键字。它推动光标在下一行开始打印。} 标记 if 语句主体的结束。
- 上述 if 语句的 else 部分。它说明了如果操作 a
- 如果操作是 C++ 结束行的关键字。它推动光标在下一行开始打印。} 标记 else 语句主体的结束。
- 在 if 决策语句中执行算术运算 a>b 以判断其为真还是假。{ 标记 if 语句主体的开始。
- 如果操作 a>b 为真,则在控制台上打印的文本。endl 是 C++ 结束行的关键字。它推动光标在下一行开始打印。} 标记 if 语句主体的结束。
- 上述 if 语句的 else 部分。它说明了如果操作 a>b 为假,该做什么。
- 如果操作 a>b 为假,则在控制台上打印的文本。endl 是 C++ 结束行的关键字。它推动光标在下一行开始打印。} 标记 else 语句主体的结束。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
合乎逻辑 Opera职权范围
这个 逻辑运算符 结合两个/多个约束/条件。逻辑运算符还补充了对所考虑的原始条件的评估。它们包括:
| Opera器 | 描述 |
|---|---|
| && 逻辑与运算符。 | 如果两个操作数都不为零,则条件为真。 |
| || 逻辑或运算符。 | 如果其中一个操作数非零,则条件为真。 |
| ! 逻辑非运算符。 | 它反转操作数的逻辑状态。如果操作数为真,则 ! 运算符使其变为假。 |
例如:
#include <iostream>
using namespace std;
int main()
{
int a = 5, b = 2, c = 6, d = 4;
if (a == b && c > d)
cout << "a equals to b AND c is greater than d\n";
else
cout << "AND operation returned false\n";
if (a == b || c > d)
cout << "a equals to b OR c is greater than d\n";
else
cout << "Neither a is equal to b nor c is greater than d\n";
if (!b)
cout << "b is zero\n";
else
cout << "b is not zero";
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用main()函数,在其中添加程序的逻辑。
- { 标记 main() 函数主体的开始。
- 声明 4 个整数变量 a、b、c 和 d 并赋予它们不同的值。
- 在 if 语句中使用 && (AND) 运算符。它连接两个条件,a 的值等于 b 的值,并且 a 的值大于 b 的值。第一个条件为假,第二个条件为真。False&&true 为 False,因此,if 的结果为假。
- 如果上述 if 语句为真,则在控制台上打印文本。此文本不会被执行。
- 如果上述 if 语句为假,则要执行的部分。
- 如果 if 语句为 false,则在控制台上打印的文本。这将被执行。
- 在 if 语句中使用 || (OR) 运算符。它连接两个条件,a 的值等于 b 的值,并且 a 的值大于 b 的值。第一个条件为假,第二个条件为真。False||true 为 True,因此,if 的结果为真。
- 如果上述 if 语句为真,则在控制台上打印的文本。这将被执行。
- 如果上述 if 语句为假,则要执行的部分。
- 如果 if 语句为 false,则在控制台上打印的文本。此文本不会被执行。
- 检查变量的值是否为 0。
- 如果上述 if 语句为真,则在控制台上打印文本。此文本不会被执行。
- 如果上述 if 语句为假,则要执行的部分。
- 如果 if 语句为 false,则在控制台上打印的文本。这将被执行。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
按位 Opera职权范围
按位运算符 对操作数执行位级运算。首先,将运算符转换为位级,然后对操作数执行运算。当在位级执行加法和减法等算术运算时,可以更快地获得结果。它们包括:
| Opera器 | 描述 |
|---|---|
| & (按位与)。 | 它需要 2 个数字(操作数),然后对两个数字的每一位执行 AND 运算。如果两者都为 1,则 AND 返回 1,否则返回 0。 |
| | (按位或) | 取 2 个数字(操作数),然后对两个数字的每一位执行或运算。如果其中一位为 1,则返回 1。 |
| ^ (按位异或) | 取 2 个数字(操作数),然后对 2 个数字的每一位执行异或运算。如果两位不同,则返回 1。 |
| << (左移) | 取两个数字,然后左移第一个操作数的位。第二个操作数决定要移位的总位数。 |
| >> (右移) | 取两个数字,然后右移第一个操作数的位。第二个操作数决定要移位的位数。 |
| ~ (按位非)。 | 取数字然后反转其所有位。 |
#include <iostream>
using namespace std;
int main() {
unsigned int p = 60; // 60 = 0011 1100
unsigned int q = 13; // 13 = 0000 1101
int z = 0;
z = p & q;
cout << "p&q is : " << z << endl; // 12 = 0000 1100
z = p | q;
cout << "p|q is : " << z << endl; // 61 = 0011 1101
z = p ^ q;
cout << "p^q is : " << z << endl; // 49 = 0011 0001
z = ~p;
cout << "~p is : " << z << endl; // -61 = 1100 0011
z = p << 2;
cout << "p<<2 is: " << z << endl; // 240 = 1111 0000
z = p >> 2;
cout << "p>>2 is : " << z << endl; // 15 = 0000 1111
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
- 声明一个无符号整数变量 p,并为其赋值 60,即二进制的 0011 1100。
- 声明一个无符号整数变量 q,并赋予其值 13,即二进制的 0000 1101。
- 声明一个整型变量z并将其初始化为0。
- 对变量 p 和 q 执行按位 &(AND)运算并将结果存储在变量 z 中。
- 将上述操作的结果与其他文本一起打印在控制台上。
- 对变量 p 和 q 执行按位 | (或)运算并将结果存储在变量 z 中。
- 将上述操作的结果与其他文本一起打印在控制台上。
- 对变量 p 和 q 执行按位 ^ (XOR) 运算并将结果存储在变量 z 中。
- 将上述操作的结果与其他文本一起打印在控制台上。
- 对变量 p 和 q 执行按位 ~(非)运算并将结果存储在变量 z 中。
- 将上述操作的结果与其他文本一起打印在控制台上。
- 对变量p执行左移运算,并将结果存储在变量z中。
- 将上述操作的结果与其他文本一起打印在控制台上。
- 对变量p执行右移运算,并将结果存储在变量z中。
- 将上述操作的结果与其他文本一起打印在控制台上。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
转让 Opera职权范围
赋值运算符 为变量赋值。操作数/变量添加到运算符的左侧,而值添加到运算符的右侧。变量和值必须属于同一数据类型,否则, C++ 编译器将引发错误。
例如:
x = 5;
在上面的例子中,x 是变量/操作数,= 是赋值运算符,而 5 是值。以下是常用的赋值运算符 C++:
| Opera器 | 描述 |
|---|---|
| =(简单赋值运算符) | 将右边的值赋给左边的变量。 |
| +=(添加 AND 赋值运算符) | 将右操作数的值添加到左操作数,然后将结果赋给左边的变量。 |
| -=(减法与赋值运算符) | 从左操作数中减去右操作数的值,然后将结果赋给左边的变量。 |
| *=(乘法与赋值运算符) | 将左操作数的值与右操作数的值相乘,然后将结果赋给左边的变量。 |
| /=(除法与赋值运算符) | 将左操作数的值除以右操作数,然后将结果赋给左边的变量。 |
例如:
#include <iostream>
using namespace std;
int main()
{
int x = 5;
cout << "Initial value of x is " << x << "\n";
x += 5;
cout << "x += 5 gives :" << x << "\n";
x -= 5;
cout << "x -= 5 gives : " << x << "\n";
x *= 5;
cout << "x *= 5 gives :" << x << "\n";
x /= 5;
cout << "x /= 5 gives : " << x << "\n";
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用main()函数,在其中添加程序的逻辑。
- { 标记 main() 函数主体的开始。
- 声明一个整数变量 x 并赋予其值 5。
- 在控制台上打印变量 x 的值以及其他文本。 \n 是换行符。打印时它将光标移动到下一行。
- 将变量 x 的值加 5 并将结果赋给变量 x。
- 在控制台上与其他文本一起打印变量 x 的值。
- 从 x 的值中减去 5 并将结果赋给变量 x。
- 在控制台上与其他文本一起打印变量 x 的值。
- 将变量 x 的值与 5 乘以并将结果赋给变量 x。
- 在控制台上与其他文本一起打印变量 x 的值。
- 将变量 x 的值除以 5,并将结果赋给变量 x。
- 在控制台上与其他文本一起打印变量 x 的值。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
其他 Opera职权范围
其他 Opera职权范围 包括sizeof运算符,逗号 Operator,条件 Opera以及 Operators 优先权。
让我们讨论一下支持的其他运算符 C++:
sizeof 运算符
此运算符确定变量的大小。使用 sizeof 运算符来确定数据类型的大小。
例如:
#include <iostream>
using namespace std;
int main() {
cout<<"Size of int : "<< sizeof(int) << "\n";
cout<<"Size of char : " << sizeof(char) << "\n";
cout<<"Size of float : " << sizeof(float) << "\n";
cout<<"Size of double : " << sizeof(double) << "\n";
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
- 使用 sizeof 运算符确定整数数据类型的大小,并将其与其他文本一起打印在控制台上。
- 使用 sizeof 运算符确定字符数据类型的大小并将其与其他文本一起打印在控制台上。
- 使用 sizeof 运算符确定浮点数据类型的大小,并将其与其他文本一起打印在控制台上。
- 使用 sizeof 运算符确定浮点数据类型的大小,并将其与其他文本一起打印在控制台上。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
逗号 Opera器
这个 逗号运算符 (,) 触发一系列操作的执行。它表示第一个操作数并丢弃结果。接下来,它评估第二个操作数并返回值和类型。
#include <iostream>
using namespace std;
int main() {
int x, y;
y = 100;
x = (y++, y + 10, 99 + y);
cout << x;
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
- 声明两个整数变量 x 和 y。
- 为变量 ya 分配值 100。
- 增加 y 的值并将结果赋给变量 x。它从 y 的 100 开始,然后将其增加到 101 (y++)。接下来,将 y 加到 10。最后,将 y 仍为 101 的值加到 99,得到 200。x 现在是 200。
- 在控制台上打印变量 x 的值。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
条件 Opera器
该运算符评估条件并根据评估结果采取行动。
语法:
Condition ? Expression2 : Expression3;
参数:
- 条件是需要评估的条件。
- Expression1 是条件为真时要执行的表达式。
- Expression3 是当条件为假时要执行的表达式。
例如:
#include <iostream>
using namespace std;
int main() {
int a = 1, b;
b = (a < 10) ? 2 : 5;
cout << "value of b: " << b << endl;
return 0;
}
输出:
以下是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包括 std 命名空间,以便使用其类和函数而无需调用它。
- 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
- 声明两个 整型变量 a 和 b。变量 a 已被赋值 1。
- 为变量 b 赋值。如果变量 a 小于 10,则为 b 赋值 2,否则为 b 赋值 5。
- 在控制台上与其他文本一起打印变量 b 的值。
- 如果程序运行正常,main() 函数应该返回一个值。
- main() 函数体结束。
Opera优先权
一个运算可能有多个运算符。在这种情况下,运算符优先级决定首先求值的运算符。
以下列表显示了运算符的优先级 C++,从左到右优先级依次降低:
()、[]、*、/、%、+/-、<<、>>、==、!=、^、|、&&、||、?:、=、+=、-=、*=、/=
结语
- Operators 是执行逻辑和算术运算的符号。
- 算术运算符帮助我们对操作数执行各种算术运算。
- 关系运算符帮助我们对操作数执行各种比较运算。
- 逻辑运算符帮助我们对操作数执行各种逻辑运算。
- 按位运算符 帮助我们对操作数执行按位运算。
- 赋值运算符帮助我们对操作数执行各种算术运算。
- sizeof 运算符返回变量或数据类型的大小。
- 逗号运算符执行一系列操作。
- 条件运算符评估条件并根据结果采取行动。













