C 运算符
C 提供了丰富的运算符,分为算术、关系、逻辑、位运算、赋值、条件、指针、成员与逗号等。
1. 算术运算符
+ - * / % ++ --
注意:整数除法截断,小心 /% 与负数;++i 与 i++ 的求值顺序。
2. 关系与比较
== != > < >= <=
3. 逻辑运算符
&& || !,短路求值。
4. 位运算
& | ^ ~ << >>
- 常用于标志位、掩码、性能优化
5. 赋值与复合赋值
= += -= *= /= %= <<= >>= &= |= ^=
6. 条件运算符
cond ? a : b
7. 指针与成员运算符
* & -> . []
8. sizeof 与对齐
sizeof(expr) 或 sizeof(type)
9. 运算符优先级与结合性
- 先乘除后加减
- 括号提高可读性,避免依赖复杂优先级
10. 示例
c
#include <stdio.h>
int main(void) {
unsigned x = 0b1010u; // 编译器支持二进制字面量时
unsigned y = 0b1100u;
printf("x|y=%u, x&y=%u, x^y=%u\n", x|y, x&y, x^y);
return 0;
}11. 小结
熟悉运算符的语义与优先级是写出正确表达式的基础,尽量用括号让意图更清晰。