第04讲 算术运算符、表达式赋值运算与逗号运算.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第04讲 算术运算符、表达式 赋值运算与逗号运算 04 算术 运算 表达式 赋值 逗号
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,4,讲,算术运算符、表达式,赋值运算与逗号运算,整型变量,占字节数随机器不同而不同,一般占,2,个字节。,shortintlong,。,可用,sizeof,(,类型标识符)测量,。,实型变量,float,:,占4字节,提供7位有效数字,double,:,占8字节,提供15,16位有效数字,字符型变量,字符变量存放字符,ASCII,码,char,与,int,数据间可进行算术运算,复习,2,2.6,算术运算符,1.,基本算术运算符有:,、,、,*、,/,、,%,注意事项,两个整型数据相除的结果只能为整型数值,如,7,2,的结果为,3,“,+,”,或,“,-,”,用作单目运算符时只能有一个运算量,如,x=-5,,,则,+x,的值还是,-5,,而,-x,的值为,+5,。,求余运算只能在两个整型数据之间进行,如,9%5,的值为,4,,而,9.5%3,为非法的运算,当运算量为负数时,所得结果的符号未作明确的规定。,TURBO C,系统规定余数的符号与被除数相同。,3,2.,算术表达式,用算术运算符和圆括号将函数和运算对象(如常量、变量等)按一定的规则连接起来就可以构成一个算术表达式,如:,(a,b)*c,5.0,、,x*y,2*sin,(,z,),等都是算术表达式,表达式都有一个值,即运算结果。,应该注意表达式中运算符的,优先级,和,结合性,优先级用于决定运算中的运算顺序,即有多个运算符出现时,哪一个先计算,哪一个后计算。,(P34-39),结合性则决定同一优先级的运算符之间的运算顺序,.C,语言有两种结合性即是先左后右还是先右后左。,(P34-39),4,运算符,名称,优先级,结合性,(,),括号,1,(最高),自左至右,下标,指向结构体成员,结构体成员,!,逻辑非,2,自右至左,按位取反,增,1,减,1,&,取地址,*,取内容,+,、,正、负号,(类型),强制类型转换,sizeof,计算类型长度,*,乘,3,自左至右,除,%,求余,加,4,自左至右,减,按位左移,5,自左至右,按位右移,5,大于,6,自左至右,小于,大于或等于,小于或等于,等于,7,自左至右,!,不等于,&,按位与,8,自左至右,按位异或,9,自左至右,按位或,10,自左至右,&,逻辑与,11,自左至右,逻辑或,12,自左至右,?,:,条件运算,13,自右至左,赋值,14,自右至左,*,复合运算,%,&,,,逗号,15,(最低),自左至右,6,关于结合性,所谓结合性是指,当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。不同的运算符将有不同的结合性,(P34P39),7,3.,算术运算中的类型转换,在,C,语言中要求参加运算的,两个运算量是同一数据类型,,而运算结果也是该数据类型。,对数据类型不一致的两个运算量,系统会进行数据类型转换,将其中的一个低级别类型的数据向另一个高级别类型的数据转换(按空间大小和数值范围),然后才进行相应的算术运算,运算的结果为其中高级别类型的数据。,高,double float,long(unsigned long),低,int(unsigned,int,)short,int,、,char,图,2.4,算术运算中的类型转换,8,隐式转换,什么情况下发生,运算转换,-,不同类型数据混合运算时,赋值转换,-,把一个值赋给与其类型不同的变量时,输出转换,-,输出时转换成指定的输出格式,函数调用转换,-,实参与形参类型不一致时转换,运算转换规则,:,不同类型数据运算时先,自动,转换成同一类型,9,double,float,long,unsigned,int,char,short,低,高,说明,:,必定的转换,运算对象类型不同时转换,例,char,ch,;,int,i;,float f;,double d;,ch/i,+f*d -(f+i),int,int,double,double,double,double,double,double,int,int,double,double,double,double,double,double,10+a +i*f -d/l,例,int,i;,float f;,double d;,long l;,10,3.,强制类型转换运算符,当自动类型转换不能达到目的时,可以使用强制类型转换运算符。强制类型转换运算符就是用一对括号括起来的类型名标识符,其一般格式为:,(,类型名标识符,)(,表达式,),例如:假设,x,为,float,类型,则表达式,“,x%3,”,是不合法的,因为,%,运算符要求其两侧的数据都必须是整型数据。可以使用表达式,“,(int)x%3,”,达到求余数的目的,即先将实型变量,x,强制转换为整型值,然后再进行取余运算。,11,显式转换(强制转换),一般形式:,(,类型名,),(,表达式),例,(,int)(x+y,)(,将,x+y,的值转换为整型,),(,int)x+y,(,将,x,的值转换为整型然后与,y,相加,),(double)(3/2)(,将,3/2,的值转换为,double),(int)3.6(,将,3.6,转换为整型,),说明:强制转换得到所需类型的中间变量,原变量类型不变,例,main(),float x;,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,12,2.7,赋值运算符,与,赋值表达式,变量的值在程序的运行过程中能够发生变化主要是通过对变量进行赋值来完成的。如果在程序中没有赋值操作,则变量的值也就不会发生变化。,1.,赋值运算符,()的作用是把一个数据或表达式的值赋给一个变量。,例如:,x=3,赋值运算符的左边只能是变量,不允许是算术表达式或常量。,例如:,x+1=3,赋值运算符与数学中的等号不同,赋值运算符求解以后能够得到一个运算结果。,13,2.,赋值表达式,由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。,赋值表达式的一般形式为:,变量,=,表达式,例如:,x=3*5,执行过程,:先将赋值运算符右边表达式的值求出来,然后将该值赋给左边的变量,被赋值变量的值就是整个赋值表达式的值。,14,3.,复合的赋值运算符,复合的赋值运算符是在赋值运算符的前面加上其它的运算符组合而成的新运算符。,10,种复合赋值运算符分别是:,*,%,&,!,(,这,5,个与位运算有关,将在第十章介绍),例如:,x+=3,等价于,x=x+3,。,x%=3,等价于,x=x%3,。,注意:这些运算符都是由多个字符组合而成的,其字符之间不允许有空格。,15,a+=3,a=a+3,x*=y+8,x=x*(y+8),x%=3,x=x%3,16,4.,自加、自减运算符,自加(,+,)自减(,-,)运算符的作用是使变量的值自动加(减),1,。,自加、自减运算符是单目运算符。,执行过程,变量在自加自减运算符之前(,k+,或,k-),时,先使用变量的值,然后自加或自减。,如:,k=3;x=5+k+;,结果,x,的值为,8,,,k,的值为,4,。,变量在自加自减运算符之后(,+k,或,-k),时,先自加或自减,然后使用变量的值。,如:,k=3;x=+k+5;,结果,x,的值为,9,,,k,的值为,4,。,注意:,自增自减运算只能针对简单变量而言。,17,例,自增、自减运算符的用法与运算规则示例。,/*,程序功能:自增、自减运算符的用法与运算规则示例*,/,main(),int,x=6,y;,printf(x,=%dn,x);/*,输出,x,的初值*,/,y=+x;/*,前置运算,*,/,printf(y,=+x:x=%d,y=%dn,x,y);,y=x-;/*,后置运算先将,x=7,赋给,y,然后执行,x-1*/,printf(y,=x-:x=%d,y=%dn,x,y);,程序运行结果:,x=6,y=+x:x=7,y=7,y=x-:x=6,y=7,18,5.,赋值运算中的类型转换,系统自动将赋值运算符右边的数据类型转换成赋值运算符左边变量的类型。,1.,将实型数据转换为整型值时直接舍弃实数的小数部分。,若其值超出整型值的范围则出错。,2.,将整型值转换为实型值时整数部分取整型值,小数部分的值为零。,3.,将双精度的实型数据转换为单精度的实型数据时截取其小数部分中前面的,7,位有效数字(十进制数),指数部分保持不变。,超值错。,19,赋值运算中的类型转换,(,续,),4.,将整型数据转换为取值范围更大的整型数据时,对于有符号数,用其符号位的值向前扩展。对于无符号数,则用,0,向前扩展。,5.,将整型数据转换为取值范围更小的整型数据时,按所需的位数,从低位直接截取,。超值错。,6,同等长度的整型数据和无符号整型数据之间的转换。,20,2.8,逗号运算符与逗号表达式,逗号运算符,(,,,)又称为顺序求值运算符,由逗号运算符把若干个独立的表达式连接起来构成逗号表达式,逗号表达式的一般形式为:,表达式,1,表达式,2,表达式,3,表达式,n,求值顺序,从左至右,最后一个表达式的值就是整个逗号表达式的值,例如:,x=2,y=x+4,z=x*y,其值为,12,21,第二章 作业,教材,P42,习题二,三、(,1,)、(,2,),22,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




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



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13166456.html