c语⾔中同级运算符的运算顺序,⼆如何学习C语⾔的运算符和
运算顺序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C语⾔的运算功能⼗分丰富,运算种类远多于其它程序设计语⾔。因此,当多种不同运算组成⼀个运算表达式,即⼀个运算式中出现多种运算符时,运算的优先顺序和结合规则显得⼗分重要。
初学者往往对此感到⾮常困难,觉得C语⾔学习太繁杂,其实只要我们对此合理进⾏分类,出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记⼼中,将来⽤起来得⼼应⼿,⽽有些可暂时放弃不记,等⽤到时再记不迟。
下⾯是所有的运算符按优先级不同分类列表:(对不起,因为表格显⽰不正常,已被我删除⼤家可以看书上的)
表中列出15种优先级的运算符,从⾼到低,优先级为1 ~ 15,最后边⼀栏是结合规则,除第2、3级和第14级为从右⾄左结合外,其它都是从左⾄右结合,它决定同级运算符的运算顺序。
下⾯我们通过⼏个例⼦来说明:
(1) 3*20/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左⾄右结合,因此先计算3 * 20=60,然后被4除,结果为15,最后是%(求余数)运算,所以表达式的最终结果为15%10 = 5
(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
例⼦中的“;”是C语⾔的语句分隔符,执⾏顺序为从左到右,第1条语句执⾏后a的值为3,第2条语句执⾏后b的值为5,第3条语句中有两个运算符前置+ +和*,按表中所列顺序,+ +先执⾏,*后执⾏,所以+ + a执⾏后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值为20,最后执⾏第4条语句,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,⽽a参与运算后其值加1,值为5。
这个例⼦执⾏后,a的值为5,b的值为5,c的值为20,d的值也是20。
(3)a = 3,b = 5,b+ = a,c = b* 5
例⼦中的“,”是逗号结合运算,上式称为逗号表达式,⾃左向右结合,最后⼀个表达式的结果值就是逗号表达式的结果,所以上⾯的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。
>逗号表达式的运算顺序

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。