收藏 分享(赏)

c运算符优先级.doc

上传人:kpmy5893 文档编号:7655832 上传时间:2019-05-23 格式:DOC 页数:3 大小:28KB
下载 相关 举报
c运算符优先级.doc_第1页
第1页 / 共3页
c运算符优先级.doc_第2页
第2页 / 共3页
c运算符优先级.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、c 运算符优先级.txt28 生活是一位睿智的长者,生活是一位博学的老师,它常常春风化雨,润物无声地为我们指点迷津,给我们人生的启迪。不要吝惜自己的爱,敞开自己的胸怀,多多给予,你会发现,你也已经沐浴在了爱河里。161 运算符的优先级总能起作用吗?有关运算符优先级的规则稍微有点复杂。在大多数情况下,这些规则确实是你所需要的,然而,有人也指出其中的一些规则本来是可以设计得更好的。让我们快速地回顾一些有关内容:“运算符优先级”是这样一些规则的集合这些规则规定了“运算符”(例如+,-,等等)的优先性,即哪一种运算符先参加运算。在数学中,表达式“23+45”和“(23)+(45)”是等价的,因为乘法运

2、算在加法运算之前进行,也就是说乘法的优先级比加法高。在 c 中,有 16 级以上的运算符优先级。尽管这么多的规则有时使 c 程序不易阅读,但也使 C 程序写起来容易多了。虽然这不是唯一的一种折衷方法,但这就是 C 所采用的方法。表 161 总结了运算符的优先级。表 161 运算符优先级总结(从高到低)-优先级 运算符-1 xy(下标)x(y)(函数调用)xy(访问成员)x-y(访问成员指针)x+(后缀自增)x-(后缀自减)-2 +x(自增)-x(自减)这段代码的含义可以这样来描述:“如果你有机票,并且你预定好了航班或者有钱,并且可以买到备用票,那么你就可以出发去机场了。 ”再下一级是条件表达式

3、,例如 x?y:z。这是一个 if-then-else 结构的表达式,而不是一条语句。条件表达式有时可以使程序简洁,有时也会造成语意的模糊。条件表达式具有右结合性,也就是说a?b:c?d:e等价于a?b:(c?d:e)这一点与 elseif 结构很相似。再下一级是赋值运算。所有的赋值运算符都具有相同的优先级。与 C 的其它双目运算符不同,赋值运算具有“右结合性” ,即它是从右向左进行的,而不是从左向右进行的。x+y+z等价于(x+y)+z,x*y+z 等价于(x*y)+z,而 x=y=z 等价于 x=(y=z)。注意:关于运算符优先级,次重要(即在知道*p+的含义之后)的是要知道 x=y=z 的含义。因为赋值运算具有右结合性,所以这个表达式等价于 x=(y=z),其含义是“将 z 的值赋给y,然后再将该值赋给 x”。象 a=b=c=d=O;这样的代码是很常见的,按从右向左的顺序,它把。赋给 d,再赋给 c,再赋给 b,最后赋给 a。c 中优先级最低的是逗号运算符。它连接两个表达式,先计算第一个表达式的值,扔掉后,再计算第二个表达式的值。只有当第一个表达式具有副作用时,例如赋值或函数调用,使用逗号运算符才有意义。逗号和赋值运算符经常在 for 循环语句中搭配使用:for(i=0,count=O;iMAX;+i)if(interestmg(ai)+count:1 2 3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报