switchcase语句用法_第1页
switchcase语句用法_第2页
switchcase语句用法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、switch-case语句用法2007-12-2508:11f语句处理两个分支,处理多个分支时需使用f-else-if结构,但如果分支较多,则嵌套的f语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为:引用switch(表达式)case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1;break;switch语句的执行流程是:首先计算swi

2、tch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句如下程序,可以根据输入的考试成绩的等级,输出百分制分数段:引用switch(grade)caseA:/*注意,这里是冒号:并不是分号;*/printf(85-100n);break;/*每一个case语句后都要跟一个break用来退出s

3、witch语句*/caseB:/*每一个case后的常量表达式必须是不同的值以保证分支的唯一性*/printf(70-84n);break;caseC:printf(60-69n);break;caseD:printf(60n);break;default:printf(error!n);如果在case后面包含多条执行语句时,也不需要像if语句那样加大括号,进入某个case后,会自动顺序执行本case后面的所有执行语句.如:引用caseA:if(grade60n);break;在A,B,C3种情况下,均执行相同的语句,即输出60.最开始那个例子中,如果把每个case后的break删除掉,则当g

4、reak=A时,程序从printf(85T00n)开始执行,输出结果为:引用85-10070-8460-6960error这是因为case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即只是开始执行处的入口标号因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不在判断是否与之匹配,直到遇到break语句才停止执行,退出break语句.因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句.引用main()/*完成两个数简单的四则运算*/floata,b;charc1;printf(Pleaseentera,bandop:);scanf(%f%c%f,&a,&c1,&b);switch(c1)case+:printf(%f+%f=%fn,a,b,a+b);break;caseprintf(%f-%f=%fn,a,b,a-b);break;fcase*:printf(%f*%f=%fn,a,b,a*b);break;case/:if(b!=0.0)/*分母不能等于0*/printf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论