第三章_数据类型two_.ppt

第三章_数据类型two_

第三章(2) 本章要点 数据的描述规则 数据的操作规则 主要内容 3.1 C的数据类型 3.2 常量与变量 3.3 整型数据 3.4 浮点型数据 3.5 字符型数据 主要内容 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 例3.8 强制类型转换。 #include stdio.h void main() {float x; int i; x=3.6; i=(int)x; printf(x=%f, i=%d\n,x,i); } 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 例3.9 有符号数据传送给无符号变量。 #include stdio.h void main() {unsigned int a; int b=-1; a=b; print(″%u\n″,a); } 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式 3.10 逗号运算符和逗号表达式 3.10 逗号运算符和逗号表达式 3.10 逗号运算符和逗号表达式 作业: 1、P67~3.10, P68~3.12 10月12日交 作业本 (4) 赋值表达式 由赋值运算符将一个变量和一个表达式连接 起来的式子称为“赋值表达式”。 一般形式为: 变量赋值运算符表达式 例如: “a=5”是一个赋值表达式 对赋值表达式求解的过程是: ①求赋值运算符右侧的“表达式”的值; ②赋给赋值运算符左侧的变量。 例如: 赋值表达式“a=3*5”的值为15,执行表达式后,变量a的值也是15。 注意: 一个表达式应该有一个值 左值 (lvalue) : 赋值运算符左侧的标识符 变量可以作为左值; 而表达式就不能作为左值(如a+b); 常量也不能作为左值, 右值 (rvalue) :出现在赋值运算符右侧的表达式 左值也可以出现在赋值运算符右侧,因而左值 都可以作为右值。 赋值表达式中的“表达式”,又可以是一个赋值表 达式。例如: a=(b=5) 分析:括弧内的“b=5”是一个赋值表达式,它 的值等于5。执行表达式“a=(b=5)”相当于执行 “b=5”和“a=b”两个赋值表达式。 赋值运算符 按照“自右而左”的结合顺序,因此,“(b=5)” 外面的括弧可以不要,即“a=(b=5)”和“a=b=5” 等价。 请分析下面的赋值表达式∶(a=3*5)=4*3 分析:先执行括弧内的运算,将15赋给a,然后执行 4*3的运算,得12,再把12赋给a。最后a的值为12, 整个表达式的值为12。可以看到∶(a=3*5)出现在赋 值运算符的左侧,因此赋值表达式(a=3*5)是左值 注意:在对赋值表达式(a=3*5)求解后,变量a得到值 15,执行(a=3*5)=4*3时,实际上是将4*3的积12赋给变量a,而不是赋给3*5。 不能写成: a=3*5=4*3 赋值表达式也可以包含复合的赋值运算符。 如:a+=a-=a*a,其中a初始值为12 分析:此赋值表达式的求解步骤如下∶ ① 先进行“a-=a*a”的运算, 它相当于a=a-a*a,a的值为12-144=-132。 ②再进行“a+=-132”的运算,相当于a=a+(-132),a的值为-132-132=-264。 将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句中,而且可以以表达式形

文档评论(0)

1亿VIP精品文档

相关文档