c语言运算符优先级

圆下箭头一顿号

非凡增减富强针地长

三乘除,四加减,五移位

千万别把鱼忘记,它在盛饭的厨子里

小灯大灯灯灯不等

爸喂鱼,舅疑惑,裸鸡也疑惑

十三姨,十四父,十五逗,兜到低

“圆下箭头一顿号”指的是第15级的运算符。其中圆指的是运算符(),下指的是下标运算符[],箭头指的是指向结构体成员运算符->,顿号指的是结构体成员运算符、

“非凡增减富强针地长”指的是第14级的运算符。其中非指的是逻辑运算符!,凡指的是按位取反运算符~,增减指的是自增和自减运算符++和--,富指的是负号运算符-,强指的是类型转换运算符(类型),针指的是指针运算符*,地指的是地址运算符&,长指的是长度运算符Sizeof

“三乘除,四加减,五移位” 指的是第13级到第11级的运算符。其中三四五并无实际意义,只是起区分级别而已。也可以想象三指的是第13级运算符。乘除指的是乘法运算符*和除法运算符/,加减指的是加法运算符+和减法运算符-,移位指的是左移运算符<<和右移运算符>>

“千万别把鱼忘记,它在盛饭的厨子里”指的是求余运算符%,它位于盛饭的厨子里,即指和乘法运算符、除法运算符在一起。

“小灯大灯灯灯不等” 指的是第10级到第9级的运算符。其中小灯大灯指的是关系运算符<、<=、>和>=,灯灯指的是等于运算符==,不等指的是不等于运算符!=

“爸喂鱼,舅疑惑,裸鸡也疑惑”指的是第8级到第4级的运算符。其中,爸喂鱼之指的是第8级的按位与运算符&,舅疑惑指的是第7级的按位异或运算符^和第6级的按位或运算符||,裸鸡也疑惑指的是第5级、第4级的逻辑与运算符&&和逻辑或运算符||

“十三姨,十四父,十五逗,兜到低”指的是第3级到第1级的运算符。其中,十三姨指的是条件运算符?: (三有双重含义,即指?:的优先级别是三,它的运算符类型也是三目,?难道不是姨即疑惑吗?),十四父的十四没有实际意义,父指的是赋值运算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,十五逗指的是第1级的运算符,兜到低指的是15级运算符以,结束。

附录:C语言运算符及优先级

优先级        运算符        含义                  运算符类型       结合方向

15            ()              圆括号                            单目           自左向右

                    []        下标运算符

                    —>        指向结构体成员运算符

                     、        结构体成员运算符

14        !        逻辑非运算符                                        自右向左

              ~        按位取反运算符

               ++        自增运算符

                --        自减运算符

                 -        负号运算符

            (类型)        类型转换运算符

                 *        指针运算符

                 &        地址运算符

              Sizeof        长度运算符

13             *        乘法运算符                            双目          自左向右

                  /        除法运算符

                  %        求余运算符

12              +        加法运算符

                    -        减法运算符

11             <<        左移运算符

                   >>        右移运算符

10            <、<=、>、>=        关系运算符

9                 ==        等于运算符

                  !=        不等于运算符

8                   &        按位与运算符

7                   ^        按位异或运算符

6                   |        按位或运算符

5                  &&        逻辑与运算符

4                     ||        逻辑或运算符

3                  ?:        条件运算符                          三目          自右向左

2              =、+=、-=、*=、

           /=、%=、>>=、

           <<=、&=、^=、|=   赋值运算符         双目

1                  ,        逗号运算符                              双目         自左向右

你可能感兴趣的:(c语言运算符优先级)