C语言 运算符优先级和关联性

在本指南中,我们将学习C编程中的运算符优先级和关联性。

C 中的运算符优先级

运算符优先级确定当表达式具有多个运算符时,首先计算哪个运算符。例如,100-2 * 30将产生 40,因为它被求值为100 - (2 * 30)而不是(100-2)* 30。原因是乘法*的优先级高于减法(-)。

C 中的关联性

当表达式中存在两个或多个具有相同优先级的运算符时,使用关联性。例如,乘法和除法算术运算符具有相同的优先级,假设我们有一个表达式5 * 2/10,这个表达式将被计算为(5 * 2)/ 10,因为这些运算符的关联性是从左到右。类似地,20/2 * 5将被计算为(20 * 2)/ 5

C 编程中的运算符优先级和关联表

描述 运算符 关联性
函数表达式 () 左到右
数组表达式 [] 左到右
结构运算符 -> 左到右
一元减 - 右到左
递增递减 -- ++ 右到左
一元补 ~ 右到左
指针运算符 & * 右到左
输入 (数据类型) 右到左
尺寸运算符 sizeof 右到左
左右移位 >> <<

算术运算符

描述 运算符 关联性
乘法、除法、模数运算符 * / % 左到右
加法、减法 + - 左到右

关系运算符

描述 运算符 关联性
小于 < 左到右
大于 > 左到右
小于等于 <= 左到右
大于等于 >= 左到右
等于 == 左到右
不等于 != 左到右

逻辑运算符

描述 运算符 关联性
&& 左到右
|| 左到右
! 右到左

按位运算符

描述 运算符 关联性
& 左到右
异或 ^ 左到右
| 左到右

赋值运算符

描述 运算符 关联性
= 右到左
*= 右到左
/= 右到左
%= 右到左
+= 右到左
-= 右到左
& = 右到左
^= 右到左
|= 右到左
<<= 右到左
>>= 右到左

其他运算符

描述 运算符 关联性
逗号 , 右到左
条件运算符 ?: 右到左

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程