上QQ阅读APP看书,第一时间看更新
2-6-4 运算优先级
在前述2-6-2节的实例中,有一个很有趣的现象,为什么不先执行“a + b”,然后再执行负号运算符号?
其实原因很简单,那就是各个不同的运算符号有不同的执行优先级。以下是上述6种运算符号的执行优先级。
有了以上概念之后,相信各位就应该了解2-6-2节的实例,为什么最后的结果是5了吧!
实例1:有一C语言指令如下:
s = a * b % c;
假设执行指令前,a = 5,b = 4,c = 3,s = 3;
则执行指令后,a = 5,b = 4,c = 3,s = 2。
在上述实例中,又产生了一个问题,到底是要先执行a * b还是b % c,在此又有一个规则,那就是在处理有相同优先级的运算时,由左向右运算。
程序实例ch2_7.c:数学运算优先级的应用。
当然,运算顺序也可借着其他的符号更改,这个符号就是左括号“(”和右括号“) ”。
实例2:有一C语言指令如下:
s = a * b + c;
假设我们想先执行“b + c”运算,则在程序设计时,可以将上述表达式改成:
s = a * ( b + c );
程序实例ch2_8.c:使用括号更改数学运算的优先级。