运算符优先级表

 

 

以下是一些常见的 C 语言运算符优先级表口诀: #### 口诀一 括号成员第一;全体单目第二;乘除余三,加减四;移位五,关系六;等与不等排第七;位与异或和位或,“三分天下”八九十;逻辑与十一,逻辑或十二;条件十三;赋值十四;逗号十五。 解释如下: - **括号成员第一**:括号运算符`()`和成员运算符`->`、`.`优先级最高。 - **全体单目第二**:单目运算符,如`!`(逻辑非)、`~`(按位取反)、`++`(自增)、`--`(自减)等优先级排第二。 - **乘除余三,加减四**:`*`(乘法)、`/`(除法)、`%`(取余)运算符优先级为第三,`+`(加法)、`-`(减法)运算符优先级为第四。 - **移位五,关系六**:移位运算符`<<`(左移)、`>>`(右移)优先级为第五,关系运算符`<`、`<=`、`>`、`>=`等优先级为第六。 - **等与不等排第七**:相等性运算符`==`、`!=`优先级为第七。 - **位与异或和位或,“三分天下”八九十**:按位与运算符`&`优先级为第八,按位异或运算符`^`优先级为第九,按位或运算符`|`优先级为第十。 - **逻辑与十一,逻辑或十二**:逻辑与运算符`&&`优先级为第十一,逻辑或运算符`||`优先级为第十二。 - **条件十三**:条件运算符`? :`优先级为第十三。 - **赋值十四**:赋值运算符`=`、`+=`、`-=`等优先级为第十四。 - **逗号十五**:逗号运算符`,`优先级最低,为第十五。 #### 口诀二 指针最优,单目运算居其次;乘除余三,加减四;移位五,关系六;等与不等排第七;位运算跟著走;逻辑与,逻辑或;条件高于赋值;逗号运算最低。 解释如下: - **指针最优,单目运算居其次**:指针运算符`*`(解引用)和单目运算符优先级较高。 - 其他部分和口诀一类似,这里不再赘述。 ### 示例代码说明优先级 ```c #include <stdio.h> int main() { int a = 5, b = 3, c = 2; // 先计算乘法,再计算加法 int result1 = a + b * c; // 先计算括号内的加法,再计算乘法 int result2 = (a + b) * c; printf("result1: %d\n", result1); printf("result2: %d\n", result2); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值