C语言运算符的优先级与结合性

  • Post author:
  • Post category:其他


运算符分为单目运算符(取负运算符“-”)、双目运算符(算数运算符“+”)、三目运算符(条件运算符“? :”)。

各个运算符如下:

优先级:各类运算符在一个表达式中运算的先后顺序。

结合性:当一个运算量两侧的运算符优先级相同时的结合方向。

各个运算符的优先级如下图所示:

如果记不住,试着找找它们的规律。

结合性:除单目运算符、赋值运算符和条件运算符是右结合性之外,其余的都是左结合性。

优先级:为“单目高于双目,双目高于三目,三目高于赋值”。

其中双目运算的10个先后级的先后顺序可记为:“算术运算符高于移位运算符,移位运算符高于关系运算符,关系运算符高于位逻辑运算符(不包括单目位逻辑运算符),位逻辑运算符高于逻辑运算符”

表达式求值:(1)先按运算符的优先级高低次序执行

(2) 如果在一个操作数两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。



版权声明:本文为weixin_68179942原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。