C语言运算符的优先级
栏目分类:C语言教程 发布日期:2020-05-01 浏览次数:次
运算符优先级
C语言的四则运算符和数学里面的一致。先算括号里面的,先乘除后加减。
下表是常用的运算符优先级表格
标记 | 操作符 | 类型 | 优先级 | 结合性 |
---|---|---|---|---|
++ -- | 自增、自减 | 后缀 | 16 | 从左到右 |
++ -- | 自增、自减 | 前缀 | 15 | 从右到左 |
+ - | 正号,负号 | 单目 | 15 | 从右到左 |
* / % | 乘、除、取余 | 双目 | 13 | 从左到右 |
+ - | 加、减 | 双目 | 12 | 从左到右 |
= | 赋值 | 双目 | 2 | 从右到左 |
优先级越高的,在运算里面,需要被优先处理。例如:乘除优先级为13大于加减的12。
其中,结合性是指,从左往右运算符还是从右往左运算符。
12 / 3 * 2,我们应当先算12 / 3得4,之后4 * 2得8。这是从左到右的结合性。
先算3 * 2得6,再算12 / 6得2,这是从右到左的结合性。显然,乘除应当是从左到右的结合性。
我们之前常常用到的赋值,为什么先把=号右边的算完,再将结果给左边的变量呢?因为,赋值是一个优先级运算符,并且结合性从右向左的运算符。所以,我们往往先将赋值号右边的优先级高的计算完之后,再算赋值,从右向左,赋给左边的变量。
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/cyuyan/608.html