跳到主要内容

C 语言 - 运算符优先级

一个 C 程序可能包含许多运算符和逻辑关系,因此需要规定各个运算符的优先级,让程序知道应该先计算哪一个,后计算哪一个。

运算规则

C 语言中,运算符的运算规则是:优先级高的运算符先执行,优先级低的运算符后执行,同一优先级的运算符按照从左到右的顺序进行。

需要注意的是,C 语言中大部分运算符都是从左向右执行的,只有单目运算符、赋值运算符它们是从右向左执行的。如果有小括号 (),则小括号的优先级最高。

运算符优先级表

表:C 语言运算符优先级

优先级分类运算符结合性
1逗号运算符,从左到右
2赋值运算符=+=-=*=/=%=>=<<=&=^=|=从右到左
3逻辑或||从左到右
4逻辑与&&从左到右
5按位或|从左到右
6按位异或^从左到右
7按位与&从左到右
8相等/不等==!=从左到右
9关系运算符<<=>>=从左到右
10位移运算符<<>>从左到右
11加法/减法+-从左到右
12乘法/除法/取余*(乘号)、/%从左到右
13单目运算符!*(指针)、&+++(正号)、-(负号)从右到左
14后缀运算符( )[ ]->从左到右

注意:优先级值越大,表示优先级越高。