Opera托尔斯 C++类型示例

⚡ 智能摘要

Opera托尔斯 C++ 运算符是用于对操作数执行运算的符号,运算范围涵盖算术、比较、逻辑、位运算和赋值等。本资源通过可运行的示例程序、输出结果以及决定运算顺序的优先级规则,详细解释了每种运算符类别。

  • 算术 Opera目的: 执行加法、减法等数学运算trac对数值操作数进行加、乘、除、取模、加、减运算。
  • 相关的 Opera目的: 使用相等性和顺序检查比较两个操作数,返回真或假结果。
  • 🔗 合乎逻辑 Opera目的: 使用 AND、OR 和 NOT 组合或反转条件,以控制程序决策。
  • 🔢 按位 Opera目的: Opera直接对单个位使用 AND、OR、XOR、NOT 和移位操作,以加快底层工作速度。
  • 📝 任务和其他 Opera目的: 赋值,以及 sizeof、逗号和条件运算符,每个运算符都通过示例输出进行演示。
  • 📊 OperaTor 优先权: 优先级规则决定复杂表达式中哪个运算符先被计算。

Opera托尔斯 C++

是什么 Opera托尔斯?

操作员 运算符是用于对操作数执行运算的符号。运算符对操作数进行运算,运算可以是数学运算,也可以是逻辑运算。运算符有多种类型。 C++ 来执行不同的操作。

考虑以下操作:

a = x + y;

在上面的语句中,x 和 y 是操作数,而 + 是加法运算符。当 C++ 编译器遇到上述语句,它会将 x 和 y 相加,并将结果存储在变量 a 中。

种类 Opera托尔斯 C++

主要有 6 种不同类型的运算符 C++:

  1. 算术 Opera职权范围
  2. 相关的 Opera职权范围
  3. 合乎逻辑 Opera职权范围
  4. 按位 Opera职权范围
  5. 转让 Opera职权范围
  6. 其他 Opera职权范围

让我们从最常用的算术运算符开始。

算术 Opera职权范围

它们是用于执行数学/算术运算的运算符类型。它们包括:

Opera器 描述
+ 加法运算符 将两个操作数相加。
– 子trac操作符 小组tracts 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;
}

输出:

算术 Opera职权范围

以下是代码截图:

算术 Opera职权范围

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用 main() 函数,程序逻辑应该添加到该函数中。{ 标记 main() 函数体的开始。
  4. 声明一个整型变量a,并将其初始化为11。
  5. 声明一个整型变量b并将其初始化为5。
  6. 声明一个整型变量 c。
  7. 在控制台上打印运算 a+b 的结果以及其他文本。
  8. 在控制台上打印运算 ab 的值以及其他文本。
  9. 在控制台上打印运算 a*b 的结果以及其他文本。
  10. 在控制台上打印运算 a/b 的值以及其他文本。
  11. 在控制台上打印运算 a%b 的值以及其他文本。
  12. 在控制台上打印运算 a++ 的值以及其他文本。
  13. 在控制台上打印运算 a 的值以及其他文本。
  14. 如果程序运行正常,main() 函数应该返回一个值。
  15. 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;
}

输出:

相关的 Opera职权范围

以下是代码截图:

相关的 Opera职权范围

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. 声明一个整型变量a,并将其初始化为11。
  5. 声明一个整型变量b并将其初始化为5。
  6. 在控制台上打印一些文本,说明变量 a 和 b 的值。
  7. 使用 if 判断语句检查 a 是否等于 b。
  8. 如果运算 a==b 为真,则在控制台上打印文本。
  9. 上述 if 语句的 else 部分,说明当 a==b 为假时该做什么。
  10. 如果运算 a==b 为假,则在控制台上打印文本。
  11. 使用 if 语句检查 a 是否小于 b。
  12. 如果操作成功,则要在控制台上打印的文本
  13. else 部分用于处理以下情况:
  14. 如果操作成功,则要在控制台上打印的文本
  15. 使用 if 语句检查 a 是否大于 b。
  16. 如果运算 a>b 为真,则在控制台上打印文本。
  17. else 部分用于处理 a>b 为假的情况。
  18. 如果操作 a>b 为假,则在控制台上打印文本。
  19. 如果程序运行正常,main() 函数应该返回一个值。
  20. 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;
}

输出:

合乎逻辑 Opera职权范围

以下是代码截图:

合乎逻辑 Opera职权范围

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. { 标记了 main() 函数主体的开始。
  5. 声明 4 个整型变量 a、b、c 和 d,并给它们赋予不同的值。
  6. 在 if 语句中使用 &&(与)运算符。它连接两个条件。第一个条件为假,第二个条件为真,因此 false&&true 的结果为假;if 语句的执行结果为假。
  7. 如果上述 if 语句为真,则在控制台上打印此文本。此语句不会执行。
  8. 如果上述 if 语句为假,则要执行的部分。
  9. 如果 if 语句为 false,则在控制台上打印的文本。这将被执行。
  10. 在 if 语句中使用 ||(或)运算符。第一个条件为假,第二个条件为真,因此 false||true 的结果为真;if 语句的执行结果为真。
  11. 如果上述 if 语句为真,则在控制台上打印以下文本。此代码将被执行。
  12. 如果上述 if 语句为假,则要执行的部分。
  13. 如果 if 语句为 false,则在控制台上打印的文本。此文本不会被执行。
  14. 检查变量 b 的值是否为 0。
  15. 如果上述 if 语句为真,则在控制台上打印此文本。此语句不会执行。
  16. 如果上述 if 语句为假,则要执行的部分。
  17. 如果 if 语句为 false,则在控制台上打印的文本。这将被执行。
  18. 如果程序运行正常,main() 函数应该返回一个值。
  19. main() 函数体结束。

按位 Opera职权范围

按位运算符 对操作数执行位级运算。首先,将操作数转换为位级,然后执行运算。例如,加法和减法等算术运算。trac由于运算是在位级别进行的,因此可以更快地获得结果。它们包括:

Opera器 描述
按位与 (&) 接受两个数字(操作数),然后对这两个数字的每一位进行与运算。如果两位均为 1,则与运算结果为 1,否则为 0。
| (按位或) 接受两个数字(操作数),然后对这两个数字的每一位进行或运算。如果其中一位为 1,则返回 1。
^(按位异或) 接受两个数字(操作数),然后对这两个数字的每一位进行异或运算。如果两个位都不同,则返回 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;
}

输出:

按位 Opera职权范围

以下是代码截图:

按位 Opera职权范围

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. 声明一个无符号整型变量 p,并为其赋值为 60,即二进制的 0011 1100。
  5. 声明一个无符号整型变量 q,并为其赋值为 13,即二进制的 0000 1101。
  6. 声明一个整型变量z并将其初始化为0。
  7. 对变量 p 和 q 执行按位 &(AND)运算并将结果存储在变量 z 中。
  8. 将上述操作的结果与其他文本一起打印在控制台上。
  9. 对变量 p 和 q 执行按位 | (或)运算并将结果存储在变量 z 中。
  10. 将上述操作的结果与其他文本一起打印在控制台上。
  11. 对变量 p 和 q 执行按位 ^ (XOR) 运算并将结果存储在变量 z 中。
  12. 将上述操作的结果与其他文本一起打印在控制台上。
  13. 对变量 p 执行按位 ~(非)运算,并将结果存储在变量 z 中。
  14. 将上述操作的结果与其他文本一起打印在控制台上。
  15. 对变量p执行左移运算,并将结果存储在变量z中。
  16. 将上述操作的结果与其他文本一起打印在控制台上。
  17. 对变量p执行右移运算,并将结果存储在变量z中。
  18. 将上述操作的结果与其他文本一起打印在控制台上。
  19. 如果程序运行正常,main() 函数应该返回一个值。
  20. main() 函数体结束。

转让 Opera职权范围

赋值运算符 给变量赋值。操作数/变量添加到运算符的左侧,值添加到运算符的右侧。变量和值必须属于同一数据类型,否则会出错。 C++ 编译器会引发错误。

例如:

x = 5;

在上面的例子中,x 是变量/操作数,= 是赋值运算符,而 5 是值。以下是常用的赋值运算符。 C++:

Opera器 描述
=(简单赋值运算符) 将右边的值赋给左边的变量。
+=(添加 AND 赋值运算符) 将右操作数的值添加到左操作数,然后将结果赋给左边的变量。
-= (Subtract AND 赋值运算符) 小组tracts 将左操作数的值赋给右操作数,然后将结果赋给左侧的变量。
*=(乘法与赋值运算符) 将左操作数的值与右操作数的值相乘,然后将结果赋给左边的变量。
/=(除法与赋值运算符) 将左操作数的值除以右操作数,然后将结果赋给左边的变量。

例如:

#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;
}

输出:

转让 Opera职权范围

以下是代码截图:

转让 Opera职权范围

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. { 标记了 main() 函数主体的开始。
  5. 声明一个整数变量 x 并赋予其值 5。
  6. 在控制台上打印变量 x 的值以及其他文本。\n 是换行符。
  7. 将变量 x 的值加上 5,并将结果赋值给变量 x。
  8. 在控制台上打印变量 x 的值以及其他文本。
  9. 小组trac从 x 的值中减去 5,并将结果赋值给变量 x。
  10. 在控制台上打印变量 x 的值以及其他文本。
  11. 将变量 x 的值乘以 5,并将结果赋值给变量 x。
  12. 在控制台上打印变量 x 的值以及其他文本。
  13. 将变量 x 的值除以 5,并将结果赋值给变量 x。
  14. 在控制台上打印变量 x 的值以及其他文本。
  15. 如果程序运行正常,main() 函数应该返回一个值。
  16. 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;
}

输出:

sizeof 运算符

以下是代码截图:

sizeof 运算符

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. 使用 sizeof 运算符确定整数数据类型的大小,并将其与其他文本一起打印在控制台上。
  5. 使用 sizeof 运算符确定字符数据类型的大小,并将其与其他文本一起打印在控制台上。
  6. 使用 sizeof 运算符确定浮点数据类型的大小,并将其与其他文本一起打印在控制台上。
  7. 使用 sizeof 运算符确定 double 数据类型的大小,并将其与其他文本一起打印在控制台上。
  8. 如果程序运行正常,main() 函数应该返回一个值。
  9. main() 函数体结束。

逗号 Opera器

逗号运算符 (,) 会触发一系列操作的执行。它首先计算第一个操作数并丢弃结果。然后,它计算第二个操作数并返回其值和类型。

#include <iostream>
using namespace std;
int main() {
	int x, y;
	y = 100;
	x = (y++, y + 10, 99 + y);
	cout << x;
	return 0;
}

输出:

逗号 Opera器

以下是代码截图:

逗号 Opera器

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. 声明两个整数变量 x 和 y。
  5. 为变量 ya 分配值 100。
  6. 使用逗号运算符。初始 y 值为 100,然后递增到 101 (y++)。接下来,y 加 10。最后,y(仍然是 101)加 99,得到 200。此时 x 的值为 200。
  7. 在控制台上打印变量 x 的值。
  8. 如果程序运行正常,main() 函数应该返回一个值。
  9. main() 函数体结束。

条件 Opera器

该运算符评估条件并根据评估结果采取行动。

语法:

Condition ? Expression2 : Expression3;

参数:

  • 条件是需要评估的条件。
  • Expression2 是条件为真时要执行的表达式。
  • 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;
}

输出:

条件 Opera器

以下是代码截图:

条件 Opera器

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. 声明两个 整型变量 a 和 b。变量 a 已被赋值 1。
  5. 给变量 b 赋值。如果变量 a 小于 10,则 b 赋值为 2,否则 b 赋值为 5。
  6. 在控制台上打印变量 b 的值以及其他文本。
  7. 如果程序运行正常,main() 函数应该返回一个值。
  8. main() 函数体结束。

Opera优先权

一个运算可能有多个运算符。在这种情况下,运算符优先级决定首先求值的运算符。

以下列表显示了运算符的优先级 C++,从左到右优先级依次降低:

()、[]、*、/、%、+/-、<<、>>、==、!=、^、|、&&、||、?:、=、+=、-=、*=、/=

常见问题

AI 代码助手可以建议正确的运算符,解释运算符优先级,并标记诸如混淆 = 和 == 之类的错误。它们可以加快学习速度,但要编写可靠的代码,理解运算符的行为仍然至关重要。

不。AI 工具可以格式化和审查表达式,但优先级直接影响程序输出。了解优先级有助于您阅读代码、调试逻辑错误,并编写出完全符合预期行为的表达式。

Opera运算符重载允许您重新定义运算符对用户自定义类型(例如类)的工作方式。例如,您可以重载 + 运算符来将两个对象相加,从而为自定义类型提供直观且类似内置运算符的行为。

前缀运算符 (++i) 先递增值,然后返回当前值。后缀运算符 (i++) 先返回当前值,然后递增值。当递增操作在更大的表达式中使用时,这种区别至关重要。

`=` 运算符用于给变量赋值,而 `==` 运算符用于比较两个值是否相等,并返回 true 或 false。在条件语句中错误地使用 `=` 是一个常见的错误。

总结一下这篇文章: