4.3运算符和表达式探析.pptxVIP

  1. 1、本文档共41页,可阅读全部内容。
  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文档。上传文档
查看更多
运算符和表达式lyh目标1.算术运算2.关系运算3.逻辑运算4.赋值运算5.自增自减运算6.逗号运算7.长度运算8.条件运算9.位运算10.类型转换算术运算单目运算符+(正)、-(负)双目运算符+(加)、-(减)、*(乘)、/(除)、%(模)%运算要求两个操作数是整数优先级单目运算符优先级高于双目运算符结合性单目运算符服从右结合,单目运算符服从左结合算术运算举例整数除法printf(%d,7/8*8); 输出结果:0除数为0printf(%d,1/0); divideormodbyzeroprintf(%f,1/0.0); divideormodbyzero或者inf模运算printf(%d,101%7); 输出结果:3printf(%d,101%(-7)); 输出结果:3 由实现定义案例:武功秘籍小平到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。小平只想练习该书的第a页到第b页的武功(ab),又不想带着整本书。请问他至少要撕下多少张纸带走?武功秘籍算法分析目标1.算术运算2.关系运算3.逻辑运算4.赋值运算5.自增自减运算6.逗号运算7.长度运算8.条件运算9.位运算10.类型转换关系运算关系运算符优先级运算符名称结合性单双目6大于左结合双目6=大于等于左结合双目6等于左结合双目6=小于等于左结合双目7==等于左结合双目7!=不等于左结合双目关系表达式关系表达式的一般形式表达式1关系运算符表达式2举例for(i=0;i100;i++)if(rooster+hen+chick==100)while(new_value-old_valuethreshold_value)案例:谁打破了玻璃玻璃被小平,侯哥,萝卜,虎三中一个人打破了,下面有三个人说的是真话,一个人说的是假话,判断是谁干的。小平:不是我做的。猴哥:是萝卜做的。萝卜:是虎三做的。虎三:他在说谎!。谁打破了玻璃算法分析step1.枚举打破玻璃的依次是小平,侯哥,萝卜,虎三用A,B,C,D代表小平,侯哥,萝卜,虎三for(person=A;person=D;person++)step2.枚举说真话的逻辑表达式小平说真话: person!=A侯哥说真话: person==C萝卜说真话: person==D虎三说真话: person!=Dif((person!=A)+(person==C)+(person==D)+(person!=D)==3)目标1.算术运算2.关系运算3.逻辑运算4.赋值运算5.自增自减运算6.逗号运算7.长度运算8.条件运算9.位运算10.类型转换逻辑运算逻辑运算符优先级运算符名称结合性单双目2!逻辑非右结合单目11逻辑与左结合双目12||逻辑或左结合双目逻辑表达式的一般形式表达式1双目逻辑运算符表达式2单目逻辑运算符表达式逻辑运算的规则逻辑运算真值表ababa||b!a000010非0011非00010非0非0110ab当表达式a的为0时,不再执行和判断表达式b的值。a||b当表达式a的为1时,不再执行和判断表达式b的值。逻辑表达式举例判断year是否是闰年if((year%4==0year%100!=0)||year%400==0)判断直角三角形if(a0b0c0a*a+b*b==c*c)判断两个小数是否相等if(a-b1e-6a-b-1e-6)if(!(ab)!(ab))案例:输出能被11整除且不含有重复数字的所有三位数,并统计其个数。算法分析三位数num获取百位,十位,个位a=num/100;b=num/10%10;c=num%10;不含重复数字if(a!=ba!=cb!=c)能被11整数if(num%11==0)源代码inti,a,b,c,n=0;for(i=100;i=999;i++) /*遍历所有三位数*/{c=i%10;b=i/10%10;a=i/100; /*分解出个位、十位和百位*/if(i%11==0(a!=bb!=cc!=a)){/*能被11整除且不含重复数字*/printf(%5d,i); /*输出满足条件的数*/n++;}}printf(\nthenumberis%d.\n,n); /*输出n*/目标1.算术运算2.关系运算3.逻辑运算4.赋值运算5.自增自减运算6.逗号运算7.长度运算8.条件运算9.位运算10.类型转换赋值运算1.基本赋值运算(右结合)变量=表达式例: min=max=num;等价于 max=num;min=max;2.复合赋值运算(右结合)5个算术自反赋值运算符+=,-=,*=,/=,%=5个位自反赋值运算符=,=,=,∧=,|=例: mul*=num+10等价于 mul=mul*(num

文档评论(0)

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

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

1亿VIP精品文档

相关文档