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

来源:这里教程网 时间:2026-02-16 12:53:24 作者:

在本指南中,我们将学习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右到左
左右移位>> <<

算术运算符

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

关系运算符

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

逻辑运算符

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

按位运算符

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

赋值运算符

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

其他运算符

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

相关推荐