第三章运算符与表达式 例如,下面是一个合法的C算术表达式。 a*b/c-1.5+2a 注意: C语言算术表达式的书写形式与数学表达式的书写形 式有一定的区别 (1) C语言算术表达式的乘号(*)不能省略。 例如:数学式b2-4ac,相应的C表达式应该写成:b*b aco (2)C语言表达式中只能出现字符集允许的字符。 例如,数学πr2相应的C表达式应该写成:PIrr。 (其中PI是已经定义的符号常量) (3)C语言算术表达式不允许有分子分母的形式。 例如a+b)/(c+d)
第三章 运算符与表达式 • 例如,下面是一个合法的C算术表达式。 • a*b/c-1.5+’a’ • 注意: • C语言算术表达式的书写形式与数学表达式的书写形 式有一定的区别: • (1) C语言算术表达式的乘号(*)不能省略。 例如:数学式b 2 -4ac,相应的C表达式应该写成:b*b- 4*a*c。 • (2) C语言表达式中只能出现字符集允许的字符。 例如,数学πr2相应的C表达式应该写成:PI*r*r。 (其中PI是已经定义的符号常量) • (3) C语言算术表达式不允许有分子分母的形式。 例如,(a+b)/(c+d)
第三章运算符与表达式 (4)C语言算术表达式只使用圆括号改变运算的优先 顺序(不要指望用{)。可以使用多层圆括号,此时 左右括号必须配对,运算时从内层括号开始,由内向 外依次计算表达式的值 3、(算术)运算符的优先级与结合性(P233附录Ⅰ) C语言规定了进行表达式求值过程中,各运算符的 “优先级”和“结合性”。 (1)C语言规定了运算符的“优先级”和“结合性” 在表达式求值时,先按运算符的“优先级别”高低次 序执行。 如表达式:a-bc等价于a-(b*c),“*”运算符优先级 高于“-”运算符
第三章 运算符与表达式 • (4)C语言算术表达式只使用圆括号改变运算的优先 顺序(不要指望用{}[])。可以使用多层圆括号,此时 左右括号必须配对,运算时从内层括号开始,由内向 外依次计算表达式的值。 • 3、(算术)运算符的优先级与结合性(P.233附录IV) • C语言规定了进行表达式求值过程中,各运算符的 “优先级”和“结合性” 。 • (1)C语言规定了运算符的“优先级”和“结合性” 。 在表达式求值时,先按运算符的“优先级别”高低次 序执行。 • 如表达式:a-b*c等价于a-(b*c), “*”运算符优先级 高于“-”运算符。 •