C++ 中的运算符示例:什么是、类型和程序
什么是运算符?
操作员 是用于对操作数执行操作的符号。运算符操作操作数。这些操作可以是数学的或逻辑的。 C++中有不同类型的运算符用于执行不同的操作。
考虑以下操作:
a = x + y;
在上述语句中,x 和 y 是操作数,而 + 是加法运算符。当C++编译器遇到上述语句时,会将x和y相加,并将结果存入变量a中。
在本 C++ 教程中,您将学习:
- 什么是运算符?
- C++ 中的运算符类型
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运营商
- sizeof 运算符
- 逗号运算符
- 条件运算符
- 运算符优先级
C++ 中的运算符类型
C++中主要有6种不同类型的运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运营商
算术运算符
它们是用于执行数学/算术运算的运算符类型。它们包括:
例如:
#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 的值与控制台上的其他文本一起打印。
- 将操作 a-b 的值与控制台上的其他文本一起打印。
- 将操作 a*b 的值与控制台上的其他文本一起打印。
- 将操作 a/b 的值与控制台上的其他文本一起打印。
- 将操作 a%b 的值与控制台上的其他文本一起打印。
- 在控制台上打印操作 a++ 的值以及其他文本。
- 将操作 a 的值与控制台上的其他文本一起打印。
- 如果程序运行良好,main() 函数应该返回一个值。
- 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; }
输出:
下面是代码截图:
代码说明:
- 在我们的代码中包含 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 语句主体的结束。
- 执行算术运算,a
- 如果操作 a
- 上述 if 语句的 else 部分。它说明了如果操作 a
- 如果操作 a
- 在 if 决策语句中执行算术运算 a>b 以了解它是真还是假。 { 标记 if 语句主体的开始。
- 如果操作 a>b 为真,则在控制台上打印的文本。 endl 是结束行的 C++ 关键字。它推动光标在下一行开始打印。 } 标记 if 语句主体的结尾。
- 上述 if 语句的 else 部分。它说明了如果操作 a>b 为假时该怎么做。
- 如果操作 a>b 为假,则在控制台上打印的文本。 endl 是结束行的 C++ 关键字。它推动光标在下一行开始打印。 } 标志着 else 语句主体的结束。
- 如果程序运行良好,main() 函数应该返回一个值。
- main() 函数主体的结尾。
- 如果操作 a
逻辑运算符
逻辑运算符 结合两个/更多约束/条件。逻辑运算符还补充了正在考虑的原始条件的评估。它们包括:
例如:
#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 的结果为 false。
- 如果上述 if 语句为真,则在控制台上打印文本。这不会被执行。
- 如果上述if语句为假,则执行的部分。
- 如果 if 语句为 false,则在控制台上打印的文本。这将被执行。
- 使用 || if 语句中的 (OR) 运算符。它结合了两个条件,a 的值等于 b 的值,a 的值大于 b 的值。第一个条件为假,第二个条件为真。 False||true 为 True,因此 if 的结果为 true。
- 如果上述 if 语句为真,则在控制台上打印文本。这将被执行。
- 如果上述if语句为假,则执行的部分。
- 如果 if 语句为 false,则在控制台上打印的文本。这不会被执行。
- 检查变量的值是否为0。
- 如果上述 if 语句为真,则在控制台上打印文本。这不会被执行。
- 如果上述if语句为假,则执行的部分。
- 如果 if 语句为 false,则在控制台上打印的文本。这将被执行。
- 如果程序运行良好,main() 函数应该返回一个值。
- main() 函数主体的结尾。
位运算符
位运算符 对操作数执行位级操作。首先,将运算符转换为位级别,然后对操作数执行操作。当加法和减法等算术运算在位级别完成时,可以更快地获得结果。它们包括:
#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 中。
- 在控制台上打印上述操作的结果以及其他文本。
- 执行按位 | (OR) 对变量 p 和 q 的运算并将结果存储在变量 z 中。
- 在控制台上打印上述操作的结果以及其他文本。
- 对变量 p 和 q 执行按位 ^ (XOR) 运算并将结果存储在变量 z 中。
- 在控制台上打印上述操作的结果以及其他文本。
- 对变量 p 和 q 执行按位 ~ (NOT) 运算并将结果存储在变量 z 中。
- 在控制台上打印上述操作的结果以及其他文本。
- 对变量p进行左移运算,并将结果存入变量z。
- 在控制台上打印上述操作的结果以及其他文本。
- 对变量p进行右移运算,并将结果存入变量z。
- 在控制台上打印上述操作的结果以及其他文本。
- 如果程序运行良好,main() 函数应该返回一个值。
- 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; }
输出:
下面是代码截图:
代码说明:
- 在我们的代码中包含 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() 函数主体的结尾。
其他运算符
其他运算符 包括 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; }
输出:
下面是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
- 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
- 调用 main() 函数,在其中添加程序的逻辑。 { 标记 main() 函数主体的开始。
- 使用 sizeof 运算符确定整数数据类型的大小,并将其与控制台上的其他文本一起打印。
- 使用 sizeof 运算符确定字符数据类型的大小,并将其与控制台上的其他文本一起打印。
- 使用 sizeof 运算符确定浮点数据类型的大小,并将其与控制台上的其他文本一起打印。
- 使用 sizeof 运算符确定浮点数据类型的大小,并将其与控制台上的其他文本一起打印。
- 如果程序运行良好,main() 函数应该返回一个值。
- main() 函数主体的结尾。
逗号运算符
逗号运算符 (,) 触发一系列操作的执行。它表示第一个操作数并丢弃结果。接下来,它计算第二个操作数并返回值和类型。
#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。
- 为变量 y 赋值 100。
- 增加y的值并将结果分配给变量x。它从 100 处的 y 开始,然后将其增加到 101 (y++)。接下来,将 y 添加到 10。最后,将仍然为 101 的 y 添加到 99,得到 200。x 现在是 200。
- 在控制台上打印变量 x 的值。
- 如果程序运行良好,main() 函数应该返回一个值。
- 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; }
输出:
下面是代码截图:
代码说明:
- 在我们的代码中包含 iostream 头文件。它将允许我们读取和写入控制台。
- 包含 std 命名空间,以便在不调用它的情况下使用它的类和函数。
- 调用 main() 函数,在其中添加程序的逻辑。 { 标记 main() 函数主体的开始。
- 声明两个整数变量 a 和 b。变量 a 被赋值为 1。
- 为变量 b 赋值。如果变量 a 小于 10,则为 b 赋值 2,否则为 b 赋值 5。
- 在控制台上与其他文本一起打印变量 b 的值。
- 如果程序运行良好,main() 函数应该返回一个值。
- main() 函数主体的结尾。
运算符优先级
单个操作可能有多个运算符。在这种情况下,运算符的优先级决定了首先计算的那个。
以下列表显示了 C++ 中运算符的优先级,从左到右依次递减:
()、[]、*、/、%、+/-、<<、>>、==、!=、^、|、&&、||、?:、=、+=、-=, *=, /=
总结:
- 运算符是用于执行逻辑和算术运算的符号。
- 算术运算符帮助我们对操作数执行各种算术运算。
- 关系运算符帮助我们对操作数执行各种比较操作。
- 逻辑运算符帮助我们对操作数执行各种逻辑运算。
- 位运算符帮助我们对操作数执行按位运算。
- 赋值运算符帮助我们对操作数执行各种算术运算。
- sizeof 运算符返回变量或数据类型的大小。
- 逗号运算符执行一系列操作。
- 条件运算符评估条件并根据结果执行操作。
C语言