基础篇:1.9 C++ 运算符详解

在C++编程中,运算符是执行特定操作或任务的符号或关键字。它们用于操作变量和值,以产生新的结果或改变现有数据的状态。C++提供了丰富的运算符集合,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符(三元运算符)、逗号运算符、指针运算符、成员选择运算符以及特殊类型的运算符如sizeof和new/delete等。

一、算术运算符

算术运算符用于执行基本的数学运算,如加、减、乘、除和取模等。

int a = 10, b = 5;
int sum = a + b;      // 加法: +
int diff = a - b;     // 减法: -
int prod = a * b;     // 乘法: *
int quot = a / b;     // 除法: /
int rem = a % b;      // 取模(余数): %

// 注意:除法在涉及整数时,结果会向下取整。

二、关系运算符

关系运算符用于比较两个值的大小关系,返回布尔值(true或false)。

bool isEqual = (a == b);      // 等于: ==
bool isNotEqual = (a != b);   // 不等于: !=
bool isGreater = (a > b);     // 大于: >
bool isLess = (a < b);        // 小于: <
bool isGreaterOrEqual = (a >= b); // 大于等于: >=
bool isLessOrEqual = (a <= b);    // 小于等于: <=

三、逻辑运算符

逻辑运算符用于组合或修改布尔表达式。

bool isPositiveA = (a > 0);
bool isPositiveB = (b > 0);

bool bothPositive = isPositiveA && isPositiveB; // 逻辑与: &&
bool eitherPositive = isPositiveA || isPositiveB; // 逻辑或: ||
bool notPositiveA = !isPositiveA; // 逻辑非: !

四、位运算符

位运算符直接对整数类型的位进行操作。这些运算符在低级编程、设备驱动程序、嵌入式系统以及性能关键的应用中非常有用。

unsigned int x = 60;    // 60 = 0011 1100
unsigned int y = 13;    // 13 = 0000 1101
unsigned int result;

result = x & y;         // 位与: &     =>  0000 1100
result = x | y;         // 位或: |     =>  0011 1101
result = x ^ y;         // 位异或: ^   =>  0011 0001
result = ~x;            // 位非: ~     =>  1100 0011
result = x << 2;        // 左移: <<    =>  1111 0000
result = x >> 2;        // 右移: >>    =>  0000 1111 

五、赋值运算符

赋值运算符用于给变量赋值。除了基本的赋值运算符=外,C++还提供了复合赋值运算符,它们结合了赋值和其他运算。

int c;
c = a + b;       // 基本赋值: =
c += a;          // 加后赋值: +=, 等同于 c = c + a;
c -= b;          // 减后赋值: -=, 等同于 c = c - b;
c *= a;          // 乘后赋值: *=, 等同于 c = c * a;
c /= b;          // 除后赋值: /=, 注意避免除以0的情况
c %= b;          // 取模后赋值: %=, 等同于 c = c % b;

六、其他运算符

C++中还有其他类型的运算符,如条件运算符(?:)、逗号运算符(,)、指针运算符(*和&)、成员选择运算符(.和->)等。这些运算符在特定的上下文中有其特定的用途。

条件运算符(三元运算符)示例:

int max = (a > b) ? a : b; // 如果a大于b,则max的值为a,否则为b。

逗号运算符示例:

int i = 0, j = 10;
int k = (i++, ++j); // 逗号运算符评估其左侧的表达式并丢弃结果,然后评估右侧的表达式并返回结果。这里k的值将是j自增后的值,即11。但是i也被自增了。

请注意,在实际编程中,应谨慎使用逗号运算符,因为它可能导致代码难以阅读和维护。

以上只是对C++运算符的一个简要概述。每种运算符都有其特定的用途和注意事项,深入理解它们对于掌握C++编程至关重要。

正文完
 0
鲨鱼编程
版权声明:本站原创文章,由 鲨鱼编程 于2024-03-19发表,共计1603字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)