c语言运算符号的优先级共有十五级,在编辑代码的过程中分清优先级可以帮我们避免错误的出现。所以熟悉得掌握它们是很有必要的。
1,优先级1级
结合方向 左结合(自左至右) :()圆括号 , []下标运算符 , ->指向结构成员运算符 , .结构体成员运算符 。
2,优先级2级
结合方向 右结合(自右向左) : !逻辑非运算符 , ~按位取反运算符 , ++自增运算符 , --自减运算符 ,-负号运算符 ,类型转换运算符 , *指针运算符 , &地址与运算符 , sizeof长度运算符。
3,优先级3级
结合方向 左结合 双目运算符 : *乘法运算符 ,/除法运算符 , %取余运算符 。
4,优先级4级
结合方向 左结合 双目运算符 :+加法运算符 , -减法运算符。
5,优先级5级
结合方向 左结合 双目运算符:<<左移运算符 ,>>右移运算符 。
6,优先级6级
结合方向 左结合 双目运算符:< , <=,> , >=关系运算符。
7,优先级7级
结合方向 左结合 双目运算符:==等于运算符(判断) , !=不等于运算符(判断)。
8,优先级8级
结合方向 左结合 双目运算符:&按位与运算符。
9,优先级9级
结合方向 左结合 双面运算符:^按位异或运算符。
10,优先级10级
结合方向 左结合 双目运算符:|按位或运算符。
11,优先级11级
结合方向 左结合 双目运算符:&&逻辑与运算符。
12,优先级12级
结合方向 左结合 双目运算符:||逻辑或运算符。
13,优先级13级
结合方向 右结合 三目运算符:?:条件运算符。
14,优先级14级
结合方向 右结合 双目运算符:=赋值运算符 , +=加后复值运算符 ,-=减后赋值运算符 ,
*=乘后赋值运算符 , /=除后赋值运算符 ,%=取模后赋值运算符 , <<=左移后赋值运算符 ,
>>=右移后赋值运算符 ,&=按位与后赋值运算符 , ^=按位异或后赋值运算符 ,
|=按位或后赋值运算符。
15,优先级15级
结合方向 左结合 :,逗号运算符。