正在加载图片...
%(模运算符或求余运算符,%要求两侧均为整型数据。如7%4的值为3) 除了负值运算符-单目运算符外,其它都是双目运算符 说明:〈变量〉(赋值符〉〈表达式 (1)两个整数相除的结果为整数,如5/3的结果为1,舍去小数部分。但是如果除数或被除数中 有一个为负值, 则舍入的方向是不固定的,多数机器采用“向0取整”的方法(实际上就是舍去小数部分,注意:不 是四舍五入 (2)如果参加+,-,*,/运算的两个数有一个为实数,则结果为 double型,因为所有实数都按 double型进行计算 (3)求余运算符%,要求两个操作数均为整型,结果为两数相除所得的余数。求余也称为求模 般情况,余数的符号与被除数符号相同 如:-8%5=-3:8%-5=3 算术表达式 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式 称为算术 供小下面题个法表达 C语言算术表达式的书写形式与数学表达式的书写形式有一定的区别: (1)C语言算术表达式的乘号(*)不能省略。例如:数学式b2-4ac,相应的C表达式应该写 成:b*b-4*a*C (2)C语言表达式中只能出现字符集允许的字符。例如,数学r2相应的C表达式应该写成: PI*rkr (其中PI是已经定义的符号常量) (3)C语言算术表达式不允许有分子分母的形式。例如,(a+b)/(c+d) (4)C语言算术表达式只使用园括号改变运算的优先顺序(不要指望用仆[])。可以使用多层圆括 右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值 3、(算术)运算符的优先级与结合性(P.233附录IV) c语言规定了进行表达式求值过程中,各运算符的“优先级”和“结合性”。 (1)C语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先 别”高低 序执行 如表达式:a-b*C等价于a-(b*c),“*”运算符优先级高于“-”运算符 (2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。 如:a-b+c,到底是(a-b)+c还是a-(b+c)?(b先与a参与运算还是先于c参与运算?) 查附录I可知:+/运算优先级别相同,结合性为“自左向右”,即就是说b先与左边的a结合。所 以a-b+c等价 (a-b) 左结合性(自左向右结合方向):运算对象先与左面的运算符结合 右结合性(自右向左结合方向):运算对象先与右面的运算符结合 (3)在书写多个运算符的表达式时,应当注意各个运算符的优先级,确保表达式中的运算符能以%(模运算符或求余运算符,%要求两侧均为整型数据。如 7%4 的值为 3)。 除了负值运算符 -单目运算符外,其它都是双目运算符。 说明:〈变量〉〈赋值符〉〈表达式〉 (1) 两个整数相除的结果为整数,如 5/3 的结果为 1,舍去小数部分。但是如果除数或被除数中 有一个为负值, 则舍入的方向是不固定的,多数机器采用“向 0 取整”的方法(实际上就是舍去小数部分,注意:不 是四舍五入 )。 (2)如果参加 +,-,*,/运算的两个数有一个为实数,则结果为 double 型,因为所有实数都按 double 型进行计算。 (3)求余运算符 %,要求两个操作数均为整型,结果为两数相除所得的余数。求余也称为求模。 一般情况,余数的符号与被除数符号相同。 例如: -8%5=-3;8%-5=3 2、算术表达式 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式 子,称为算术 表达式。运算对象可以是常量、变量、函数等。 例如,下面是一个合法的 C 算术表达式。a*b/c-1.5+ ' a ' 。 注意: C 语言算术表达式的书写形式与数学表达式的书写形式有一定的区别: (1)C 语言算术表达式的乘号(*)不能省略。例如:数学式 b 2 -4ac,相应的 C 表达式应该写 成:b*b-4*a*c。 (2) C 语言表达式中只能出现字符集允许的字符。例如,数学πr 2 相应的 C 表达式应该写成: PI*r*r。 (其中 PI 是已经定义的符号常量) (3)C 语言算术表达式不允许有分子分母的形式。例如,(a+b)/(c+d)。 (4)C 语言算术表达式只使用圆括号改变运算的优先顺序(不要指望用{}[])。可以使用多层圆括 号,此时左 右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值. 3、(算术)运算符的优先级与结合性(P.233 附录 IV) C 语言规定了进行表达式求值过程中,各运算符的“优先级”和“结合性”。 ( 1)C 语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先 级别”高低 次序执行。 如表达式: a-b*c 等价于 a-(b*c),“*”运算符优先级高于“-”运算符。 ( 2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。 例如: a-b+c,到底是(a-b)+c 还是 a-(b+c)?(b 先与 a 参与运算还是先于 c 参与运算?) 查附录 IV 可知:+/-运算优先级别相同,结合性为“自左向右”,即就是说 b 先与左边的 a 结合。所 以 a-b+c 等价 于(a-b)+c。 左结合性(自左向右结合方向):运算对象先与左面的运算符结合。 右结合性(自右向左结合方向):运算对象先与右面的运算符结合。 (3)在书写多个运算符的表达式时,应当注意各个运算符的优先级,确保表达式中的运算符能以
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有