算术运算符、表达式赋值运算与逗号运算.ppt

上传人:小飞机 文档编号:6012006 上传时间:2023-09-14 格式:PPT 页数:22 大小:217.50KB
返回 下载 相关 举报
算术运算符、表达式赋值运算与逗号运算.ppt_第1页
第1页 / 共22页
算术运算符、表达式赋值运算与逗号运算.ppt_第2页
第2页 / 共22页
算术运算符、表达式赋值运算与逗号运算.ppt_第3页
第3页 / 共22页
算术运算符、表达式赋值运算与逗号运算.ppt_第4页
第4页 / 共22页
算术运算符、表达式赋值运算与逗号运算.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《算术运算符、表达式赋值运算与逗号运算.ppt》由会员分享,可在线阅读,更多相关《算术运算符、表达式赋值运算与逗号运算.ppt(22页珍藏版)》请在三一办公上搜索。

1、第4讲,算术运算符、表达式 赋值运算与逗号运算,整型变量占字节数随机器不同而不同,一般占一个机器字shortintlong可用sizeof(类型标识符)测量,实型变量float:占4字节,提供7位有效数字double:占8字节,提供1516位有效数字,字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算,2.6 算术运算符,1.基本算术运算符有:、*、/、%注意事项两个整型数据相除的结果只能为整型数值,如72的结果为3“+”或“-”用作单目运算符时只能有一个运算量,如x=-5,则+x的值还是-5,而-x的值为+5。求余运算只能在两个整型数据之间进行,如9%5的值为4,而9

2、.5%3为非法的运算 当运算量为负数时,所得结果的符号未作明确的规定。TURBO C系统规定余数的符号与被除数相同。,2.算术表达式,用算术运算符和圆括号将函数和运算对象(如常量、变量等)按一定的规则连接起来就可以构成一个算术表达式,如:(ab)*c5.0、x*y2*sin(z)等都是算术表达式 表达式都有一个值,即运算结果。应该注意表达式中运算符的优先级和结合性优先级用于决定运算中的运算顺序,即有多个运算符出现时,哪一个先计算,哪一个后计算。结合性则决定同一优先级的运算符之间的运算顺序,即是先左后右还是先右后左。P264附录C,关于结合性,所谓结合性是指,当一个操作数两侧的运算符具有相同的优

3、先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。,3.算术运算中的类型转换,在C语言中要求参加运算的两个运算量是同一数据类型,而运算结果也是该数据类型。对数据类型不一致的两个运算量,系统会进行数据类型转换,将其中的一个低级别类型的数据向另一个高级别类型的数据转换(按空间大小和数值范围),然后才进行相应的算术运算,运算的结果为其中高级别类型的数据。,隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型,3.强

4、制类型转换运算符,当自动类型转换不能达到目的时,可以使用强制类型转换运算符。强制类型转换运算符就是用一对括号括起来的类型名标识符,其一般格式为:(类型名标识符)(表达式)例如:假设x为float类型,则表达式“x%3”是不合法的,因为%运算符要求其两侧的数据都必须是整型数据。可以使用表达式“(int)x%3”达到求余数的目的,即先将实型变量x强制转换为整型值,然后再进行取余运算。,显式转换(强制转换)一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变,例 main()float x

5、;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:x=3.600000,i=3,精度损失问题,Ch2_007.c,Ch2_008.c,2.7 赋值运算符与赋值表达式,变量的值在程序的运行过程中能够发生变化主要是通过对变量进行赋值来完成的。如果在程序中没有赋值操作,则变量的值也就不会发生变化。1.赋值运算符()的作用是把一个数据或表达式的值赋给一个变量。例如:x=3赋值运算符的左边只能是变量,不允许是算术表达式或常量。例如:x+1=3赋值运算符与数学中的等号不同,赋值运算符求解以后能够得到一个运算结果。,2.赋值表达式,由赋值运算符将一个变量和一个

6、表达式连接起来的式子称为赋值表达式。赋值表达式的一般形式为:变量=表达式 例如:x=3*5执行过程:先将赋值运算符右边表达式的值求出来,然后将该值赋给左边的变量,被赋值变量的值就是整个赋值表达式的值。,3.复合的赋值运算符,复合的赋值运算符是在赋值运算符的前面加上其它的运算符组合而成的新运算符。10种复合赋值运算符分别是:*%&!例如:x+=3 等价于 x=x+3。x%=3 等价于 x=x%3。注意:这些运算符都是由多个字符组合而成的,其字符之间不允许有空格。,4.自加、自减运算符,自加(+)自减(-)运算符的作用是使变量的值自动加(减)1。自加、自减运算符是单目运算符。执行过程变量在自加自减

7、运算符之前(k+或k-)时,先使用变量的值,然后自加或自减。如:k=3;x=5+k+;结果x的值为8,k的值为4。变量在自加自减运算符之后(+k或-k)时,先自加或自减,然后使用变量的值。如:k=3;x=+k+5;结果x的值为9,k的值为4。注意:自增自减运算只能针对简单变量而言。,例 自增、自减运算符的用法与运算规则示例。/*程序功能:自增、自减运算符的用法与运算规则示例*/main()int x=6,y;printf(x=%dn,x);/*输出x的初值*/y=+x;/*前置运算*/printf(y=+x:x=%d,y=%dn,x,y);y=x-;/*后置运算*/printf(y=x-:x=

8、%d,y=%dn,x,y);程序运行结果:x=6y=+x:x=7,y=7y=x-:x=6,y=7,5.赋值运算中的类型转换,系统自动将赋值运算符右边的数据类型转换成赋值运算符左边变量的类型。1.将实型数据转换为整型值时直接舍弃实数的小数部分。若其值超出整型值的范围则出错。2.将整型值转换为实型值时整数部分取整型值,小数部分的值为零。3.将双精度的实型数据转换为单精度的实型数据时截取其小数部分中前面的7位有效数字(十进制数),指数部分保持不变。超值错。,赋值运算中的类型转换(续),4.将整型数据转换为取值范围更大的整型数据时,对于有符号数,用其符号位的值向前扩展。对于无符号数,则用0向前扩展。,5.将整型数据转换为取值范围更小的整型数据时,按所需的位数从低位直接截取。超值错。6同等长度的整型数据和无符号整型数据之间的转换。,2.8 逗号运算符与逗号表达式,逗号运算符(,)又称为顺序求值运算符由逗号运算符把若干个独立的表达式连接起来构成逗号表达式,逗号表达式的一般形式为:表达式1,表达式2,表达式3,表达式n求值顺序 从左至右,最后一个表达式的值就是整个逗号表达式的值例如:x=2,y=x+4,z=x*y 其值为12,第二章 作业,教材P25 习题二 一、4,5,6,7,8,9,10,14二、1,2,3,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号