C语言 运算符的优先级和结合性是怎样的?

版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处,@清风蓝。 https://blog.csdn.net/qq_38405680/article/details/81589828

1.问题阐述
各种运算符的优先级是怎样的?结合顺序又是怎样的?


2.专家解答
C语言中的运算符种类丰富,有40多种,分为15种优先级,而且还具有结合性的特点。在表达式中,各运算对象参与运算的先后顺序不仅要遵守运算符优先级的规定,还有运算符结合性的制约,以便确定运算对象的执行顺序。这种结合性是其他语言没有的。各种运算符的优先级从高到低的顺序如图5.1所示。


以上运算符的优先级由上到下递减。初级运算符优先级最高,逗号运算符优先级最低。同一优先级的运算符,运算次序由结合方向而定。


3.运算符的结合性:
C语言中,各运算符的结合性分为两种,即自左至右结合和自右至左结合。例如,算术运算符的结合性是自左至右的。大家可以记住一个规律,单目运算符、条件运算符和赋值运算符是自右至左结合的,其他算术运符都是自左至右结合的。

4.专家点评
每种运算符之间也有先后顺序。例如,算运算符中就是“先乘除,后加减”,还可以使用圆括号对表达式进行结合的区分。


 1.运算符的优先级和结合性是用来确定表达式运算顺序的 2.C语言规定了运算符的优先级和结合性,也就是哪个运算符优先级高,结合性是什么样的,这是规定我们只能记住了 3.运算符的“从右向左”和“从左向右”结合性是指:操作数处于两个同优先级的运算符中间时,先和哪边的运算符结合,如-i++,同优先级“-”和“++”具有从右向左结合,i先和右边运算符“++”匹配,为-(i++)。通过结合性,我们判断出了表达式的运算顺序,这就是结合性的作用。


详细的解释参考这篇博文 ^ - ^

猜你喜欢

转载自blog.csdn.net/qq_38405680/article/details/81589828