在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。
1、圆括号[()]、下标运算符[0]、分量运算符的指向结. 构体成员运算符[->] 、结构体成员运算符[.] ;
2、逻辑非运算符[!] 、按位取反运算符[~] 、自增自减运算 符[++] [--] 、负号运算符[-] 、类型转换运算符[(类 型)]、指针运算符和取地址运算符[*] [&] 、长度运算符 [sizeof] ;
3、乘法运算符[*] 、除法运算符[/] 、取余运算符[%] ;
4、加法运算符[+]、减法运算符[-] ;
5、左移动运算符[<<]、右移动运算符[>>] ; 6、关系运算符[<] [>] [<=] [>=] ; 7、等于运算符[==]、不等于运算符[!=] ; 8、按位与运算符[&] ;
9、按位异或运算符[^] ;
10、按位或运算符[|] ;
11、逻辑与运算符[&&] ;
12、逻辑或运算符[|] ;
13、 条件运算符[?:] ;
14、赋值运算符[=] [/=] [*=] [%=] [+=] (=] [<<=] [>>=] [&=] [^=] [|=] ;
15、逗号运算符[,]
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。