易截截图软件、单文件、免安装、纯绿色、仅160KB

C操作符的优先级和关联规则

C操作符的优先级和关联规则
操作符
关联规则
关联操作符 ()  []  ->  .
从左到右
一元操作符  !  –  ++  --  +  -  (type)  *  &  sizeof
从右到左
乘法和除法  *  /  %
从左到右
加法和减法  +  -
从左到右
移位操作符  <<  >>
从左到右
关系操作符  <  <=  >  >=
从左到右
相等比较  ==  !=
从左到右
位操作符  &
从左到右
位操作符  ^
从左到右
位操作符  |
从左到右
逻辑操作符  &&
从左到右
逻辑操作符  ||
从左到右
条件操作符  ?:
从右到左
赋值操作符  =  +=  -=  *=  /=
从右到左
逗号  ,
从左到右
1.优先级决定操作符与操作数的绑定顺序
2.操作符是按照优先级从高到低顺序与操作数绑定的
3.在确定两个操作符的相对优先级时,首先从这个表格中找到这两个操作符,表中排在上面的比下面的优先级高;当这两个操作符出现在同一行中时,需要根据“关联规则“来决定它们的优先级;如果是”从左到右“,则左边的操作符有更高的优先级;如果是”从右到左“,则右边的操作符有更高的优先级
4.尽量避免优先级不清的表达式写法,用括号明确区分表达式的计算过程
例:
(1) *p++的计算顺序为(*(p++)):因为*和++属于同一行,所以看其关联规则为”从右到左“,因此操作数先与++绑定,再与*绑定
(2) x || !y && z的计算顺序为(x || ((!y) && z)):因为操作符的优先级顺序为! && ||,因此首先!与y绑定,其次&&与(!y)和z绑定,最后||与x和
((!y) && z)绑定
(3) x | y & z的计算顺序为(x | (y & z))


相关文档:

c/c++程序的内存分配 [转]

题记:
所有的完美,都是在崩溃的一刻达到的!
我一直回避程序的内存管理,因为爱之愈深,恨之愈烈。但是,还是由很多的朋友一直在体这方面的问题,所以就索性把它坦白了,也许对你我都是一件好事情。
首先,需要搞清楚:变量的类型和它的存储类别是两个概念。
数据类型和内存管理没有直接的关系。
一个由c/C++编 ......

emacs 快捷键(包括C/C++模式)

符号
      C-  意思是按住 Ctrol 键
M-   意指 Meta 键 (键盘上若无Meta 键,则可以ALT ESC 键来取而代之)
DEL  意指退格键 (不是 删除(Delete) key)
RET  意指回车键
SPC  意指空格键
ESC  意指Escape键
TAB  意指Tab键
像 "C-M-" (or "M-C") ......

c 语言函数传参的三种方式及二级指针的理解

普通变量是直接传值show(int a,int b)
指针变量传递地址show(int *a,int *b)
引用变量是隐式传地址 1:int x;void show(int &x),实际传递的是x的地址p,但是函数内部使用x时会自动变成*p
                     ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号