1
C/C ++程序设计
1.2.3.7 3.7 运算符的优先级

3.7 运算符的优先级

C语言的大多数运算符有不同的优先级,各类运算符还有不同的结合性,如表3-7所示。

表3-7 运算符的优先级和结合性汇总

img55

运算符的优先级按单目、双目、三目运算符顺序降低。单目运算是从右至左的,旨在与右边的数结合在一起形成一个整体,因此优先级高。赋值运算之所以优先级低且为右结合,是因为右边的表达式要计算完后才赋值给左边的变量。

运算符的优先级按照算术运算符、位移运算符、关系运算符、位运算符、逻辑运算符、赋值运算符的顺序降低。

操作数和运算符按照一定规则组成了表达式,表达式具有以下一些特点:

(1)常量、变量和函数可认为是最简单的表达式;

(2)表达式可以嵌套;

(3)每个表达式都有一个值;

(4)在计算时要考虑运算符的优先级、结合性及数据类型的转换;

(5)表达式有算术表达式、赋值表达式、关系表达式、逻辑表达式和逗号表达式等;

(6)在表达式的后边加个分号就是表达式语句,除控制语句外,几乎都是表达式语句。