运算符优先级决定表达式中的术语分组,并决定如何计算表达式。某些运算符具有比其他运算符更高的优先级;例如,乘法运算符的优先级高于加法运算符。
例如,x = 7 + 3 * 2;在这里,x被赋值为13,而不是20,因为运算符*的优先级高于+,所以它首先与3*2相乘,然后与7相加。
在这里,优先级最高的运算符出现在表的顶部,优先级最低的运算符符出现在表的底部。在表达式中,优先级较高的运算符将首先计算。
C语言中运算符优先级如下(从高到底):
运算符 | 关联性 |
() [] -> . ++ – – | 左到右 |
+ – ! ~ ++ – – (type)* & sizeof | 右到左 |
* / % | 左到右 |
+ – | 左到右 |
<< >> | 左到右 |
< <= > >= | 左到右 |
== != | 左到右 |
& | 左到右 |
^ | 左到右 |
| | 左到右 |
&& | 左到右 |
|| | 左到右 |
?: | 右到左 |
= += -= *= /= %=>>= <<= &= ^= |= | 右到左 |
, | 左到右 |
C中的运算符优先级示例:
#include <stdio.h>main() { int a = 20; int b = 10; int c = 15; int d = 5; int e; e = (a + b) * c / d; // ( 30 * 15 ) / 5 printf("Value of (a + b) * c / d is : %d\n", e ); e = ((a + b) * c) / d; <i>本文来源gaodai$ma#com搞$$代**码网</i>// (30 * 15 ) / 5 printf("Value of ((a + b) * c) / d is : %d\n" , e ); e = (a + b) * (c / d); // (30) * (15/5) printf("Value of (a + b) * (c / d) is : %d\n", e ); e = a + (b * c) / d; // 20 + (150/5) printf("Value of a + (b * c) / d is : %d\n" , e ); return 0;}
输出:
Value of (a + b) * c / d is : 90Value of ((a + b) * c) / d is : 90Value of (a + b) * (c / d) is : 90Value of a + (b * c) / d is : 50
相关推荐:《C教程》
本篇文章就是关于C语言中的运算符优先级的介绍,希望对需要的朋友有所帮助!
以上就是C语言中的运算符优先级(代码示例)的详细内容,更多请关注搞代码gaodaima其它相关文章!