算术操作符
算术操作符用于执行基本的算术运算,如加法、减法、乘法和除法。C语言中的常见算术操作符包括:
+
:加法操作符-
:减法操作符*
:乘法操作符/
:除法操作符%
:取模操作符(求余)-
int a = 10; int b = 3; int sum = a + b; // = 13 int difference = a - b; // = 7 int product = a * b; // = 30 int quotient = a / b; // = 3 int remainder = a % b; // = 1
关系操作符
-
关系操作符用于比较两个值之间的关系,返回一个布尔值(true或false)。常见的关系操作符包括:
==
:判断是否相等!=
:不等于>
:大于<
:小于>=
:大于等于<=
:小于等于-
int x = 5; int y = 3; if (x == y) { // 执行操作 } if (x != y) { // 执行操作 } if (x > y) { // 执行操作 } // 以此类推...
逻辑操作符
逻辑操作符用于组合多个条件,并返回一个布尔值。常见的逻辑操作符包括:
&&
逻辑与 (两边的条件都要满足)||
逻辑或 (满足任意一个条件)!
逻辑非 (真的表达式变为假,假的表达式变为真)-
int a = 5; int b = 3; if (a > 0 && b > 0) { // 执行操作 } if (a == 0 || b == 0) { // 执行操作 } if (!(a > b)) { // 执行操作 }
在使用逻辑操作符的时候要注意短路问题
-
对于逻辑与运算符
&&
,如果第一个操作数为假(即为0),那么整个表达式的结果已经确定为假,此时不会再计算第二个操作数,直接返回假。 -
-
&& 逻辑与 因为a是假,所以后面判断就不在执行,因此后面的++没有执行
-
对于逻辑或运算符
||
,如果第一个操作数为真(非0),那么整个表达式的结果已经确定为真,此时不会再计算第二个操作数,直接返回真。 - || 逻辑或 因为a是真,所以后面判断就不在执行,因此后面的++没有执行
-
位操作符
位操作符用于对数据的二进制位进行操作。常见的位操作符包括:
&
:按位与- 对应位都为1才为1
|
:按位或- 对应位只要有1就是1
^
:按位异或- 对应位相同则结果为0,对应位不同则结果为1
~
:按位取反- 0变1,1变0
<<
:左移 (左边去掉一位右边补0)>>
:右移- 右移又分为算术右移和逻辑右移,这取决于环境
- 算术右移:左边用原来的符号位补
- 逻辑右移:左边用0补
- (在vs2022中使用的是算术右移)
其他操作符
除了上述常见的操作符外,C语言还有其他一些特殊的操作符,比如:
- 赋值操作符
=
- 自增
++
和自减--
操作符 - 条件操作符
?: (三目操作符)
- 成员选择操作符
.
- 指针成员选择操作符
->
-
int a = 5; a++; // a = 6 a--; // a = 5 int b = (a > 0) ? 10 : 20; // 如果 a 大于 0,则 b 等于 10,否则等于 20 struct Point { int x; int y; }; struct Point p1; p1.x = 10; p1.y = 20;
-
sizeof是运算符 (数据类型或变量所占用的内存空间)
-
-
逗号表达式 (最后一个代表结果)
-
-
下标引用: [ ]
-
函数调用: ( )
-
总结
操作符是C语言中非常重要的一部分,掌握好操作符的使用可以让我们更加高效地编写代码。在使用操作符时,务必要注意运算符优先级和结合性,以避免出现意外的结果。希望本篇博客能够帮助您更好地理解C语言中常见操作符的使用。