C语言 运算符
运算符只是用来执行操作的符号。可以有许多类型的操作,如算术、逻辑、位运算等。
在C语言中,有以下类型的运算符来执行不同类型的操作。
- 算术运算符
- 关系运算符
- 位移运算符
- 逻辑运算符
- 位运算符
- 三元条件运算符
- 赋值运算符
- 其他运算符
C语言中的运算符优先级
运算符优先级指的是哪个运算符先被评估,哪个运算符之后被评估。结合性指定了运算符被评估的方向,可以是从左到右,也可以是从右到左。
让我们通过以下示例来理解优先级:
int value=10+20*10;
变量value将包含 210 ,因为乘法符号*在加法符号+之前被计算。
以下是C操作符的优先级和结合性:
类别 | 操作符 | 结合性 |
---|---|---|
后缀 | () [] -> . ++ - - |
从左到右 |
一元 | \+ - ! ~ ++ - - (type)* & sizeof |
从右到左 |
乘法 | * / % |
从左到右 |
加法 | + - |
从左到右 |
位移 | << >> |
从左到右 |
关系 | < <= > >= |
从左到右 |
相等 | == != |
从左到右 |
位与 | & |
从左到右 |
位异或 | ^ |
从左到右 |
位或 | | |
从左到右 |
逻辑与 | && |
从左到右 |
逻辑或 | || |
从左到右 |
条件 | ?: |
从右到左 |
赋值 | = += -= *= /= %=>>= <<= &= ^= |= |
从右到左 |
逗号 | , |
从左到右 |