switc语句.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文档。上传文档
查看更多
switch语句 if语句实现二分支选择 , if的嵌套实现多分支选择,但若分支比较多,则嵌套的层次也比较多 。用switch语句可以方便、简捷地实现多分支选择。 switch语句格式为: switch(表达式) {case 常量表达式1:语句1case 常量表达式2:语句2┆case 常量表达式n:语句ndefault:语句n+1} 功能:先求表达式的值,然后依次与各常量表达式的值进行比较,若相等,则执行其后的各语句,直至遇到break语句或switch语句的最后一条语句。 (表达式都不相等时,从“语句n+1”开始执行) 遇到break语句 : 没有遇到break语句 : 说明: ① 当case语句后均有break语句时,case的次序不影响执行结果。(deafult放在最后不需要break语句)。 ② case后面包含多个语句句时,不需要加大括号。 ③ 多个case可以共用一组执行语句。 例如:┆case A:case B:case C: printf(60\n); break;┆ ④ 表达式和各常量表达式的类型为字符型、整型或枚举型。 ⑤ 各常量表达式的值要互不相等。 ⑥ switch允许嵌套。 ⑦ deafult子句可以没有。 例 3.20 从键盘输入学生的百分制成绩,判断其五级记分制成绩。 分析:若以score/10作为switch后的表达式,则score/10的值的范围为0~10,共计11个。 int score; printf(Please input a score :); scanf(%d,score); switch(score/10)/* 注意表达式的构造 */ { case 0:。。。。。。。。case 5:printf(该生成绩为 不及格);break;case 6: printf(该生成绩为 及格);break;case 7: printf(该生成绩为 中);break;case 8: printf(该生成绩为 良);break;case 9:case 10:printf(该生成绩为 优);break; } 程序的运行情况为: Please input a score :56? 该生成绩为 不及格 程序的某一次运行情况为: Please input a score:78? 该生成绩为 中 程序的某一次运行情况为: Please input a score :97? 该生成绩为 优 例 3.21 int a,b,d; char c; printf(Please input a expression: ); scanf(%d%c%d,a,c,b); switch (c) {case +:d=a+b;printf(%d+%d=%d\n,a,b,d);break;case -:d=a-b;printf(%d-%d=%d\n,a,b,d);break;case *:d=a*b;printf(%d*%d=%d\n,a,b,d);break;case /:if(b==0)printf(Divisor is zero\n);else{printf(%d/%d=%f\n,a,b,(float)a/b);}break;default: printf(Input Operator error!\n); } 下面为程序的几次运行情况: 第一次: Please input a expression:123+456? 123+456=579 第二次: Please input a expression:23*78? 23*78=1794 第三次: Please input a expression:123/56? 123/56=2.196429 第四次: Please input a expression:123/0Divisor is zero 选择结构程序设计举例 例3.22 解一元二次方程ax2+bx+c=0,a、b、c由键盘输入。 分析:对系数a、b、c考虑以下情形 1)若a=0: ①b0,则x=-c/b; ②b=0,则: ①c=0,则x无穷多根; ②c0,则x无解。 2)若a0; ①b2-4ac0,有两个不等的实根; ②b2-4ac=0,有两个相等的实根; ③b2-4ac0,有两个共轭复根。 流程图 float a,b,c,d,x1,x2; printf(Please Input the coefficients of equation: ); scanf(%f,%f,%f,a,b,c); if(a==0)if(b==0)i

文档评论(0)

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

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

1亿VIP精品文档

相关文档