C语言之操作符的属性
1. 操作符属性
C语言操作符有两个重要的属性:优先级、结合性,这两个属性决定表达式的求值顺序
2. 优先级
优先级是指,如果一个表达式存在多个操作符,哪个操作符应该先执行
例如:
1. 3 * 5 - 6;
上面示例中,表达式既含乘法运算符 * 右含加法运算符 +,由于乘法的优先级大于加法的优先级,所以表达式会优先计算3 * 5,而不是5 - 6
3. 结合性
如果两个操作符的优先级相同,这个时候就要看操作符的结合性了 ,根据操作符是左结合还是右结合,决定执行顺序。大部分操作符是从左到右执行(左结合),少部分操作符是从右到左执行(右结合),比如 = 赋值运算符,?:三目操作符
例如:
1. 40 / 5 * 4;
在上面的示例中,/ 除法运算符 和 * 乘法运算符优先级相同,同时它们都是左结合运算符,所以从左到右执行,所以先计算40 / 5 ,在计算8 * 5
运算符的优先级顺序很多,记住这些操作符的优先级就⾏,其他操作符在使⽤的时候查看下⾯表格就可以了。
• 圆括号( () )
• ⾃增运算符( ++ ),⾃减运算符( – )
• 单⽬运算符( + 和 - )
• 乘法( * ),除法( / )
• 加法( + ),减法( - )
• 关系运算符( < 、 > 等)
• 赋值运算符( = )
由于圆括号的优先级最⾼,可以使⽤它改变其他运算符的优先级
转载至:C语言运算符优先级