XML | HTML | TXT
您当前位置:软件开发 >> 新闻动态 >> 软件开发行业资讯 >> 浏览文章

C运算符的优先级速记法

  相信最初学C语言的朋友大都背过它的运算符优先级,我当时是背的没有忘的快;

  后来就不太在意了,因为写代码时不确定的就通过括号来保证,这也是一些编程规范里提倡的,

  但有时当读别人代码时你就又可能存在某些不确定的地方了,直到最近我发现了一个口决,真的很好,

  可以很快就把所有优先级顺序都轻松记住。

  口决如下 :

  圆下箭头一顿号

  非凡增减富强星地长(chang)

  三乘除、四加减、五移位

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

  小灯大灯灯灯不等

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

  十三姨、十四父、十五逗、兜到底

  解析:

  “圆下箭头一顿号”,圆指运算符(),下指下标运算符[],箭头指的是指向结构体成员运算符->,顿号也是结构体成员运算符.

  “非凡增减富强星地长”,非指逻辑运算符!,凡指按位取反运算符~,增减指的是自增自减运算符,++,--,富指的是负号运算符-,

  强指的是强制类型转换运算符(type),星指的是指针运算符*,地指的是地址运算符&,长指的是求长度运算符sizeof

  “三乘除、四加减、五移位”,三四五指的是运算符的优先级,并无实际意义,只是区分级别用。乘除、加减、移位分别代表算术运算符*/ + - << >>

  “千万别把鱼忘记,它在盛饭的厨子里”,指求余运算符,它在乘除运算符那一级别

  “小灯大灯灯灯不等” 指关系运算符 < <= > >=; == !=

  “爸喂鱼、舅疑惑、裸鸡也疑惑”分别指按位与 &,按位异或 ^,另外还有再低一级的运算符按位或| ,裸鸡也疑惑指逻辑运算符 逻辑与 && 逻辑或||

  “十三姨、十四父、十五逗、兜到底”,姨指条件运算符 ?: (三有双重含义,它的优先级是十三,并且它是三目运算符,难道不姨即疑惑吗),

  十四父指的是赋值运算符 = += -= *=/= %= &= ^= |= <<= >>=

  十五逗指逗号运算符,兜到底,OK结束。

  附运算符表 :

  关联运算符 () []-> .

  一元运算符 ! ~ ++ -- + - * & (type) sizeof 自右向左

  乘法和除法 * / %

  加法和减法 + -

  移位运算符 << >>

  关系运算符 < <= > >=

  “相等”比较 == !=

  位运算符 &

  位运算符 ^

  位运算符 |

  逻辑运算符 &&

  逻辑运算符 ||

  条件运算符 ? :

  赋值运算符 = += -= *= /= %= &= ^= |= <<=>>=

  逗号运算符 ,


手机:18678812288 E-Mail:1069706080@qq.com
地址:山东省济南市舜耕路泉城公园东门园内向北50米 鲁ICP备07011972号 版权所有2008-2013 山东赢德信息科技有限公司