算术表达式算术运算的优先级与结合性 算术表达式:用算术运算符和括号将运算对象 连接起来,且符合C语法规则的式子 运算对象:常量、变量、函数等 优先级:米 c語醒设计
二、算术表达式及算术运算符的优先级与结合性 运算对象: 常量、变量、函数等 优先级: ( ), , /, %, +, – 算术表达式: 用算术运算符和括号将运算对象 连接起来,且符合C语法规则的式子
运算结合方向:1.自左向右,为左结合性。 2.自右向左为右结合性。 若在运算量的两侧的运算符有相同的优先 级,则按它们的结合方向顺序处理。 例:a*b/c-15+a-d*e a=b=c=d 相当于:a=(b=(c=d) 提示:关于运算符的优先级和结合方向详见附录三 c語醒设计
运算结合方向:1. 自左向右,为左结合性。 2. 自右向左,为右结合性。 例: a b / c – 1.5 + 'a'–d e; 提示:关于运算符的优先级和结合方向详见附录三。 a=b=c=d; 相当于: a=(b=(c=d)); 若在运算量的两侧的运算符有相同的优先 级,则按它们的结合方向顺序处理
三可利用强制类型转换运算符将一个算术表达 式转为所票类型 形式:(类型名)(表达式) 例如:( double)a将a转换为 double (nt)(x+y)将xy转换为nt (foat)(5%3)将5%3转换为foat c語醒设计
三、可利用强制类型转换运算符将一个算术表达 式转换为所需类型 形式: (类型名) (表达式) 例如: (double) a 将a转换为double (int) (x+y) 将x+y转换为int (float) (5%3) 将5%3转换为float
注:括号不能省略。 否则:intx会理解为变量intⅸx 又如:(int)(x+y)若省略:(nx+y会变成只 将x转成整型 c語醒设计
注: 括号不能省略。 否则: intx 会理解为变量intx. 又如: (int) (x+y) 若省略: (int)x+y会变成只 将x转成整型
2.转换后的类型数据由系统分配一个中间变量 存放,而原变量类型不变。 若有: float x; 则:(intx; x本身仍为实型而(int)x由一个中间变量(整) 存放x的整数部分 c語醒设计
2. 转换后的类型数据由系统分配一个中间变量 存放,而原变量类型不变。 若有: float x; 则: (int)x; x本身仍为实型,而(int)x由一个中间变量(整) 存放x的整数部分