运算符优先级的顺序从高到低如下:
- 括号运算符 ():具有最高的优先级,用于改变其他运算符的优先级顺序。
- 一元运算符:包括正号+、负号-、递增运算符++、递减运算符--、取地址运算符&、取值运算符*等,优先级高于二元运算符,并且从右到左结合。
- 算术运算符:包括加法+、减法-、乘法*、除法/和取模%等。算术运算符的优先级按照数学的运算规则进行计算,乘法、除法和取模的优先级高于加法和减法。
- 移位运算符:包括左移<<和右移>>。移位运算符的优先级低于算术运算符。
- 关系运算符:用于比较两个表达式的值,包括等于==、不等于!=、大于>、小于=和小于等于<=。
- 位运算符:包括按位与&、按位或|、按位异或^和按位取反~。位运算符的优先级低于关系运算符。
- 逻辑运算符:包括逻辑与&&、逻辑或||和逻辑非!。逻辑运算符的优先级低于位运算符。
- 赋值运算符:用于将一个值赋给变量,包括赋值=、复合赋值+=、-=、*=、/=等。赋值运算符的优先级低于逻辑运算符。
- 逗号运算符:用于连接多个表达式,整体作为一个表达式进行求值。
同一优先级的运算符,运算次序由结合方向所决定。大多数运算符的结合性都是从左往右,只有三个运算符是从右往左的,一个是单目运算符,另一个是三目运算符,还有一个就是双目运算符中的赋值运算符