📅  最后修改于: 2023-12-03 14:59:48.589000             🧑  作者: Mango
在 C++ 中,运算符是用于执行各种操作的特殊符号。它们用于执行算术运算、逻辑运算和比较运算等。C++ 提供了多种类型的运算符,每种运算符都有自己的语法和功能。
在 C++ 中,运算符可以分为以下几类:
下面将对每种运算符进行详细介绍。
算术运算符用于执行基本的算术运算,例如加法、减法、乘法和除法。C++ 中的算术运算符如下:
+
(加法): 对两个数进行相加。-
(减法): 从一个数中减去另一个数。*
(乘法): 将两个数相乘。/
(除法): 将一个数除以另一个数。%
(取模): 返回除法的余数。示例代码:
int a = 10;
int b = 5;
int sum = a + b; // 15
int difference = a - b; // 5
int product = a * b; // 50
int quotient = a / b; // 2
int remainder = a % b; // 0
赋值运算符用于将一个值赋给一个变量。C++ 中的赋值运算符如下:
=
(等于): 将等号右侧的值赋给等号左侧的变量。示例代码:
int a = 5;
int b;
b = a; // 将 a 的值赋给 b
关系运算符用于比较两个值的大小或判断两个值是否相等。C++ 中的关系运算符如下:
==
(等于): 判断两个值是否相等。!=
(不等于): 判断两个值是否不相等。<
(小于): 判断左侧值是否小于右侧值。>
(大于): 判断左侧值是否大于右侧值。<=
(小于等于): 判断左侧值是否小于等于右侧值。>=
(大于等于): 判断左侧值是否大于等于右侧值。示例代码:
int a = 5;
int b = 10;
bool isEqual = (a == b); // false
bool isNotEqual = (a != b); // true
bool isLessThan = (a < b); // true
bool isGreaterThan = (a > b); // false
bool isLessThanOrEqual = (a <= b); // true
bool isGreaterThanOrEqual = (a >= b); // false
逻辑运算符用于组合条件表达式的逻辑操作。C++ 中的逻辑运算符如下:
&&
(逻辑与): 当且仅当两个条件都为真时,结果为真。||
(逻辑或): 任一条件为真时,结果为真。!
(逻辑非): 取反运算符,如果条件为真,则结果为假,反之亦然。示例代码:
bool condition1 = true;
bool condition2 = false;
bool result1 = (condition1 && condition2); // false
bool result2 = (condition1 || condition2); // true
bool result3 = !condition1; // false
位运算符用于对二进制位进行操作。C++ 中的位运算符如下:
&
(按位与): 对两个数的每个二进制位执行逻辑与操作。|
(按位或): 对两个数的每个二进制位执行逻辑或操作。^
(按位异或): 对两个数的每个二进制位执行逻辑异或操作。~
(按位取反): 对一个数的每个二进制位执行逻辑取反操作。<<
(左移): 将一个数的二进制位向左移动若干位。>>
(右移): 将一个数的二进制位向右移动若干位。示例代码:
int a = 5; // 二进制表示为 0101
int b = 3; // 二进制表示为 0011
int bitwiseAnd = (a & b); // 0001 = 1
int bitwiseOr = (a | b); // 0111 = 7
int bitwiseXor = (a ^ b); // 0110 = 6
int bitwiseComplement = ~a; // 1010 = -6
int leftShift = (a << 2); // 10100 = 20
int rightShift = (a >> 2); // 0001 = 1
条件运算符(也称为三元运算符)返回两个表达式中的一个值,根据条件的真假。其语法如下:
(condition) ? expression1 : expression2
如果条件为真,则返回 expression1 的值;否则返回 expression2 的值。
示例代码:
int a = 5;
int b = 10;
int max = (a > b) ? a : b; // 10
成员访问运算符用于访问类、结构或共用体的成员。C++ 中的成员访问运算符如下:
.
(点): 用于访问类或结构的成员。->
(箭头): 用于访问类或结构指针的成员。示例代码:
class Person {
public:
string name;
int age;
};
Person person;
person.name = "Alice";
person.age = 25;
Person* personPtr = &person;
personPtr->name = "Bob";
personPtr->age = 30;
逗号运算符用于将多个表达式组合在一起。它将按照从左到右的顺序执行表达式,并返回最后一个表达式的值。
示例代码:
int a = 5, b = 10, c = 15;
int result = (a = b + 1, b = c + 1, c + 1); // result = 16
C++ 中的运算符提供了各种类型的操作符,用于执行算术运算、逻辑运算和比较运算等。熟练掌握这些运算符将有助于编写更有效和功能丰富的程序。 使用适当的运算符可以简化代码,并提高代码的可读性和可维护性。