设为首页 加入收藏

TOP

C运算符的优先级速记法
2014-11-23 21:27:31 来源: 作者: 【 】 浏览:21
Tags:运算 符的 优先 速记

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

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

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

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


口决如下 :

圆下箭头一顿号

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

三乘除、四加减、五移位

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

小灯大灯灯灯不等

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

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


解析:

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


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

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

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

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

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

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

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

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

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



附运算符表 :


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

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

乘法和除法 * / %

加法和减法 + -

移位运算符 << >>

关系运算符 < <= > >=

“相等”比较 == !=

位运算符 &

位运算符 ^

位运算符 |

逻辑运算符 &&

逻辑运算符 ||

条件运算符 :

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

逗号运算符 ,






】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言初学者代码中的常见错误与瑕.. 下一篇C语言单向循环链表解决约瑟夫问题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: