网站大量收购独家精品文档,联系QQ:2885784924

大学C语言实用教程课件-第3章.pptVIP

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

第3章数据运算大学C语言实用教程计算机的基本功能是进行数据处理,而数据处理主要是通过对表达式的计算完成的。表达式是将运算量用运算符连接起来组成的式子,其中运算量可以是常量、变量或函数。由于运算量划分为不同的数据类型,每一种数据类型都规定了自己特有的运算或操作,这就形成了对应于不同数据类型的运算符集合及其相应的求值规则。必须连接两个运算量的运算符称为二元运算符a+ba%ba/b只连接一个运算量的运算符称为一元运算符-aa++--b运算符功能说明+-++--正负号、自加、自减一元运算符*/%乘除求余数二元运算符+-加减二元运算符3.1算术运算1.算术运算符用算术运算符连接数值型的运算量而得到的式子。-5*3+6%4/2-1(a+b)/(a-b)a+(b++)*c(1)求余运算的规则假设两个整数分别为a和b,则a%b=a-a/b*b8%3=2,-8%3=-2,8%(-3)=2-8%(-3)=-2(2)自加(加1)自减(减1)运算++i表示i=i+1--i表示i=i-12.算术表达式++或--可以用于前缀,也可以用于后缀。++n表示先令n=n+1,然后取n的值//先运算后变化n++表示先取n的值,然后令n=n+1//先运算后变化如果前缀或后缀运算形成一条语句,其运算结果是相同的。例如,设i=5,则i++;及++i;运算后,i的值均为6。100101101100【例】加1和减1运算。#includestdio.hvoidmain(){inta=100;printf(%d\n,a);printf(%d\n,++a);//前缀printf(%d\n,a--);//后缀printf(%d\n,a);}运算符功能优先级结合性+-++--正号负号自加自减自右向左*/%乘除求余自左向右+-加减自左向右-++i-i++5*6%4/3a+b-c③用圆括号可以提高某个运算符的优先级或结合性,但不允许使用方括号或花括号。x+y*s-a+4/5*32与(x+(y*(s-a)+4)/5)*323.算术表达式求值规则(1)算术运算符的优先级和结合性①优先级:不同的运算符同时出现在表达式中时,进行运算的优先次序②结合性:同一优先级的运算符同时出现在同一表达式中时,进行运算的顺序【例】算术表达式计算优先级和结合性规则。#includestdio.hvoidmain(){inta=3,b=5,c=15,d=2;printf(%d\n,6-a*b/c%d);printf(%d\n,++a-a++);printf(%d\n,a);}自动类型转换规则如果表达式中只含同类型的运算量,则直接进行运算,运算结果即表达式的值也是同类型的。①C编绎系统先将所有的char和shortint都转换成int,所有的float都转换成double。01如果表达式中含有不同运算类型的运算量,先将精度较低的运算量转化成精度较高的类型,再与精度较高的运算量进行运算,得到的运算结果为精度较高的类型。3/2值为1(整型)3.0/2.0值为1.5(双精度型)‘A’+’B’值为131(int)型02【例】算术表达式计算自动类型转换规则#includestdio.hvoidmain(){charch=a;inti=5;unsignedintj=6;longintk=12;floatf=3.0;doubled=6.0;printf(“%lf\n”,ch/i+i*k-(j+k)*(f*d)/(f+i));}38.500000ch/i+i*k-(j+k)*(f*d)/(f+

文档评论(0)

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

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

1亿VIP精品文档

相关文档