c语言 乘除法优先级,运算符运算符优先级 - C语言教程

运算符优先级

运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。

例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。

下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。

类别

运算符

结合性

后缀

() [] -> . ++ - -

从左到右

一元

+ - ! ~ ++ - - (type)* & sizeof

从右到左

乘除

* / %

从左到右

加减

+ -

从左到右

移位

<< >>

从左到右

关系

< <= > >=

从左到右

相等

\== !=

从左到右

位与 AND

&

从左到右

位异或 XOR

^

从左到右

位或 OR

从左到右

逻辑与 AND

&&

从左到右

逻辑或 OR

丨丨

从左到右

条件

?:

从右到左

赋值

\= += -= *= /= %=>>= <<= &= ^=

=丨从右到左

逗号

,

从左到右

实例

请看下面的实例,了解 C 语言中运算符的优先级:

#include

int main()

{

int a = 20;

int b = 10;

int c = 15;

int d = 5;

int e;

e = (a + b) * c / d; // ( 30 * 15 ) / 5

printf("(a + b) * c / d 的值是 %d\n", e );

e = ((a + b) * c) / d; // (30 * 15 ) / 5

printf("((a + b) * c) / d 的值是 %d\n" , e );

e = (a + b) * (c / d); // (30) * (15/5)

printf("(a + b) * (c / d) 的值是 %d\n", e );

e = a + (b * c) / d; // 20 + (150/5)

printf("a + (b * c) / d 的值是 %d\n" , e );

return 0;

}

当上面的代码被编译和执行时,它会产生下列结果:

(a + b) \* c / d 的值是 90

((a + b) \* c) / d 的值是 90

(a + b) \* (c / d) 的值是 90

a + (b \* c) / d 的值是 50

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值