亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ 中的运算符示例:什么是、类型和程序

什么是运算符?

操作员 是用于对操作数执行操作的符号。运算符操作操作数。这些操作可以是数学的或逻辑的。 C++中有不同类型的运算符用于执行不同的操作。

考虑以下操作:

a = x + y;

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

在本 C++ 教程中,您将学习:

C++ 中的运算符类型

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

  1. 算术运算符
  2. 关系运算符
  3. 逻辑运算符
  4. 位运算符
  5. 赋值运算符
  6. 其他运营商

算术运算符

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

操作员 说明 + 加法运算符添加到操作数。- 减法运算符减去 2 nd 来自 1 st 的操作数 操作数。* 乘法运算符将 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;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
  2. 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
  3. 调用 main() 函数,在其中添加程序的逻辑。 { 标记 main() 函数主体的开始。
  4. 声明一个整数变量 a 并将其初始化为 11。
  5. 声明一个整数变量 b 并将其初始化为 5。
  6. 声明一个整数变量 c.
  7. 将操作 a+b 的值与控制台上的其他文本一起打印。
  8. 将操作 a-b 的值与控制台上的其他文本一起打印。
  9. 将操作 a*b 的值与控制台上的其他文本一起打印。
  10. 将操作 a/b 的值与控制台上的其他文本一起打印。
  11. 将操作 a%b 的值与控制台上的其他文本一起打印。
  12. 在控制台上打印操作 a++ 的值以及其他文本。
  13. 将操作 a 的值与控制台上的其他文本一起打印。
  14. 如果程序运行良好,main() 函数应该返回一个值。
  15. main() 函数主体的结尾。

关系运算符

这些类型的运算符对操作数执行比较。例如,您可能需要知道哪个操作数大于另一个,或小于另一个。它们包括:

操作员 说明 ==等于运算符。检查两个操作数值的相等性。!=不等于运算符检查两个操作数值的相等性。> 大于运算符检查左操作数的值是否大于右操作数的值。<小于运算符。检查值是否左操作数的值小于右操作数的值。>=大于或等于运算符检查左操作数的值是否大于或等于右操作数的值。<=小于或等于运算符。检查左操作数的值是否小于或等于右操作数的值。

例如:

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

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
  2. 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
  3. 调用 main() 函数,在其中添加程序的逻辑。 { 标记 main() 函数主体的开始。
  4. 声明一个整数变量 a 并将其初始化为 11。
  5. 声明一个整数变量 b 并将其初始化为 5。
  6. 在控制台上打印一些文本,说明变量 a 和 b 的值。
  7. 在 if 决策语句中执行算术运算,a==b 以了解它是真还是假。 { 标记 if 语句主体的开始。
  8. 如果操作 a==b 为真,则在控制台上打印的文本。 endl 是结束行的 C++ 关键字。它推动光标在下一行开始打印。 } 标记 if 语句主体的结尾。
  9. 上述 if 语句的 else 部分。它说明了如果操作 a==b 为假时该怎么办。
  10. 如果操作 a==b 为假,则在控制台上打印的文本。 endl 是结束行的 C++ 关键字。它推动光标在下一行开始打印。 } 标志着 else 语句主体的结束。
  11. 执行算术运算,a
  12. 如果操作 a
  13. 上述 if 语句的 else 部分。它说明了如果操作 a
  14. 如果操作 a
  15. 在 if 决策语句中执行算术运算 a>b 以了解它是真还是假。 { 标记 if 语句主体的开始。
  16. 如果操作 a>b 为真,则在控制台上打印的文本。 endl 是结束行的 C++ 关键字。它推动光标在下一行开始打印。 } 标记 if 语句主体的结尾。
  17. 上述 if 语句的 else 部分。它说明了如果操作 a>b 为假时该怎么做。
  18. 如果操作 a>b 为假,则在控制台上打印的文本。 endl 是结束行的 C++ 关键字。它推动光标在下一行开始打印。 } 标志着 else 语句主体的结束。
  19. 如果程序运行良好,main() 函数应该返回一个值。
  20. main() 函数主体的结尾。

逻辑运算符

逻辑运算符 结合两个/更多约束/条件。逻辑运算符还补充了正在考虑的原始条件的评估。它们包括:

操作员 说明 &&逻辑与运算符。如果两个操作数都不为零,则条件为真。||逻辑或运算符。如果操作数之一不为零,则条件为真。!逻辑非运算符。它反转操作数的逻辑状态。如果操作数为真,则!运算符使其为假。

例如:

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

输出:

下面是代码截图:

代码说明:

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

位运算符

位运算符 对操作数执行位级操作。首先,将运算符转换为位级别,然后对操作数执行操作。当加法和减法等算术运算在位级别完成时,可以更快地获得结果。它们包括:

操作员 说明 &(按位与)。它需要 2 个数字(操作数),然后对两个数字的每一位执行与。如果两者都是 1,则 AND 返回 1,否则返回 0。 (按位或)取 2 个数字(操作数),然后对两个数字的每一位执行 OR。如果其中一位为 1,则返回 1。^(按位 XOR)取 2 个数字(操作数),然后对 2 个数字的每一位执行 XOR。如果两个位不同,则返回 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;
}

输出:

下面是代码截图:

代码说明:

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

赋值运算符

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

x = 5;

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

操作员 说明 =(简单赋值运算符)将右侧的值赋给左侧的变量。+=(加与赋值运算符)首先将左侧操作数的值与右侧操作数的值相加,然后将结果分配给左侧的变量。-=(减与赋值运算符)它首先从左操作数的值中减去右操作数的值,然后将结果赋给左边的变量。*=(乘与赋值运算符)它首先将左操作数的值与右操作数的值相乘,然后将结果赋给左边的变量。/=(除法和赋值运算符)它首先将左操作数的值除以右操作数的值,然后将结果分配给左边的变量。

例如:

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

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
  2. 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
  3. 调用 main() 函数,在其中添加程序的逻辑。
  4. { 标记 main() 函数体的开始。
  5. 声明一个整数变量 x 并将其赋值为 5。
  6. 将变量 x 的值与控制台上的其他文本一起打印。 \n 是换行符。打印时将光标移动到下一行。
  7. 将变量 x 的值加 5 并将结果分配给变量 x。
  8. 在控制台上与其他文本一起打印变量 x 的值。
  9. 从 x 的值中减去 5 并将结果分配给变量 x。
  10. 在控制台上与其他文本一起打印变量 x 的值。
  11. 将变量 x 的值乘以 5 并将结果分配给变量 x。
  12. 在控制台上与其他文本一起打印变量 x 的值。
  13. 将变量 x 的值除以 5 并将结果分配给变量 x。
  14. 在控制台上与其他文本一起打印变量 x 的值。
  15. 如果程序运行良好,main() 函数应该返回一个值。
  16. main() 函数主体的结尾。

其他运算符

其他运算符 包括 sizeof 运算符、逗号运算符、条件运算符和运算符优先级。
让我们讨论 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;
}

输出:

下面是代码截图:

代码说明:

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

逗号运算符

逗号运算符 (,) 触发一系列操作的执行。它表示第一个操作数并丢弃结果。接下来,它计算第二个操作数并返回值和类型。

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

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
  2. 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
  3. 调用 main() 函数,在其中添加程序的逻辑。 { 标记 main() 函数主体的开始。
  4. 声明两个整数变量 x 和 y。
  5. 为变量 y 赋值 100。
  6. 增加y的值并将结果分配给变量x。它从 100 处的 y 开始,然后将其增加到 101 (y++)。接下来,将 y 添加到 10。最后,将仍然为 101 的 y 添加到 99,得到 200。x 现在是 200。
  7. 在控制台上打印变量 x 的值。
  8. 如果程序运行良好,main() 函数应该返回一个值。
  9. main() 函数主体的结尾。

条件运算符

该运算符评估条件并根据评估结果执行操作。

语法:

Condition ? Expression2 : Expression3;

参数:

  • Condition 是要评估的条件。
  • 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;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
  2. 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
  3. 调用 main() 函数,在其中添加程序的逻辑。 { 标记 main() 函数主体的开始。
  4. 声明两个整数变量 a 和 b。变量 a 被赋值为 1。
  5. 为变量 b 赋值。如果变量 a 小于 10,则为 b 赋值 2,否则为 b 赋值 5。
  6. 在控制台上与其他文本一起打印变量 b 的值。
  7. 如果程序运行良好,main() 函数应该返回一个值。
  8. main() 函数主体的结尾。

运算符优先级

单个操作可能有多个运算符。在这种情况下,运算符的优先级决定了首先计算的那个。

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

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

总结:

  • 运算符是用于执行逻辑和算术运算的符号。
  • 算术运算符帮助我们对操作数执行各种算术运算。
  • 关系运算符帮助我们对操作数执行各种比较操作。
  • 逻辑运算符帮助我们对操作数执行各种逻辑运算。
  • 位运算符帮助我们对操作数执行按位运算。
  • 赋值运算符帮助我们对操作数执行各种算术运算。
  • sizeof 运算符返回变量或数据类型的大小。
  • 逗号运算符执行一系列操作。
  • 条件运算符评估条件并根据结果执行操作。

C语言

  1. 什么是生物芯片,以及生物芯片的类型
  2. C# 运算符
  3. C++ 运算符
  4. 带有示例的 C++ Switch Case 语句
  5. C++ 动态分配数组的例子
  6. 带有示例的 C++ 运算符重载
  7. C++ 结构与示例
  8. C++ 中的 std::list 示例
  9. 结构和类的区别:用 C++ 示例解释
  10. C# 抽象类教程与示例:什么是抽象?
  11. C++ 重载(运算符和函数)
  12. 什么是快速原型设计?- 类型和工作