第七章运算符和表达式.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章运算符和表达式

第七章 运算符和表达式;7.1 运算符;7.2 表达式;7.3 表达式的求值规则;优先级,是指在表达式中,运算符优先级较高的先于优先级较低的进行运算。 结合性,是指当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。自左至右的结合方向,称为左结合性,反之称为右结合性。 单目运算符、条件运算符和赋值运算符是右结合性,其他运算符是左结合。 ;算术表达式中,运算对象可以是常量,变量和函数等。  1.基本算术运算符  基本算术运算符有如下5种:  +(加法)、-(减法)、*(乘法)、/(除法)、%(求余数);说明: (1)除法运算“/”:C语言规定:两个整数相除,其商为整数,小数部分被舍弃。如果相除的两个数中至少有一个是实型的,则结果为实型。 (2)求余数运算“%”:求余数运算要求两侧的操作数均为整??数据,否则出错。在Turbo C中,结果的符号与被除数的符号相同。 ;2.算术表达式 所谓算术表达式,是指表达式中的运算符都是算术运算符。 在C语言中,整型、实型和字符型数据间可以混合运算(因为字符数据与整型数据可以通用),如果一个运算符两侧的操作数的数据类型不同,则系统按“先转换,后运算”的原则,首先将数据自动转换成同一类型,然后在同一类型数据间进行运算。 ;7.4 算术表达式;注意:   箭头方向只表示数据类型级别的高低,由低向高转换,不要理解为int型先转成unsigned型,再转成long型,再转成double型。如果一个int型数据与一个double型数据运算,是直接将int型转成double型。;7.5 赋值表达式;例如:  x=5 /*将5赋值给变量x*/  y= (float)5/2 /*将表达式的值(=2.5)赋值给变量y*/ 注意:被赋值的变量,必须是单个变量,且必须在赋值运算符的左边;赋值表达式又允许出现在其它赋值表达式当中。 ; 当表达式值的类型与被赋值变量的类型不一致,但都是数值型或字符型时,系统会自动地将表达式的值转换成被赋值变量的数据类型,然后再赋值给变量。具体规定如下:  (1)实型赋予整型,舍去小数部分。  (2)整型赋予实型,数值不变,但将以浮点形式存放。  (3)字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。短整型赋给长整型时同理。 ; (4)整型赋予字符型,只把低八位赋予字符量。长整型赋给短整型时同理。  (5)双精度实型数据转换成单精度实型数据时,只保留单精度的有效位数。  (6)除自动转换外,C语言也允许强制转换。数据类型强制转换的一般格式为   (要转换成的数据类型)(被转换的表达式)   其中,当被转换的表达式是一个简单表达式时,外面的一对原括号可以省略。;例如:  (double)a /*将变量a的值转换成double型,等价于(double)(a)*/  (int)(x+y) /*将x+y的结果转换成int型*/  (float)5/2 /*将5转换成实型,再除以2(=2.5),等价于(float)(5)/2*/  (float)(5/2) /*将5整除2的结果转换成实型(2.0)*/; 3.复合赋值运算   复合赋值运算符是在赋值运算符之前再加一个双目运算符构成的。复合赋值运算的一般格式为: 变量 双目运算符= 表达式   等价:变量=(变量 双目运算符 表达式)。当表达式为简单表达式时,表达式外的一对圆括号才可以省略,否则可能出错。;例如: x+=5 /*等价于x=x+5*/ y*=x+3 /*等价于y=y*(x+3),而不是y=y*x+3*/ C语言规定的10种复合赋值运算符如下:  +=,-=,*=,/=,%=   /*复合算术运算符(5个)*/ ~=,^=,|=,=,=   /*复合位运算符(5个)*/;[例7.1]求以下算术表达式的值。  (1)x+a%3*(int)(x+y)%2/4  设x=2.5,a=7,y=4.7  (2)(float)(a+b)/2+(int)x%(int)y  设a=2,b=3,x=3.5,y=2.5  解:(1)2.500000      (2)3.500000;[例7.2]求以下表达式的值,设a=12。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解:(1)24 (2)10 (3)60     (4)0 (5)0 (6)0;7.6 自加、自减表达式;[例7.3]自增、

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档