



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
switch-case语句用法 2007-12-25 08:11if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为: 引用 -switch(表达式) case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; case 常量表达式n: 语句n; break; default: 语句n+1; break;- switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.如下程序,可以根据输入的考试成绩的等级,输出百分制分数段: 引用 -switch(grade) case A: /*注意,这里是冒号:并不是分号;*/ printf(85-100n); break; /*每一个case语句后都要跟一个break用来退出switch语句*/ case B: /*每一个case后的常量表达式必须是不同的值以保证分支的唯一性*/ printf(70-84n); break; case C: printf(60-69n); break; case D: printf(60n); break; default: printf(error!n); - (2) 如果在case后面包含多条执行语句时,也不需要像if语句那样加大括号,进入某个case后,会自动顺序执行本case后面的所有执行语句.如: 引用 - case A: if(grade60n);break; - 在A,B,C3种情况下,均执行相同的语句,即输出60. (5) 最开始那个例子中,如果把每个case后的break删除掉,则当greak=A时,程序从printf(85-100n)开始执行,输出结果为: 引用 -85-10070-8460-6960error - 这是因为case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即只是开始执行处的入口标号.因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不在判断是否与之匹配,直到遇到break语句才停止执行,退出break语句.因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句. 引用 -main() /*完成两个数简单的四则运算*/ float a,b; char c1; printf(Please enter a,b and op:); scanf(%f%c%f,&a,&c1,&b); switch(c1) case +: printf(%f+%f=%fn,a,b,a+b); break; case -: printf(%f-%f=%fn,a,b,a-b); break; case *: 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年虚拟现实技术在职业教育课程中的教学设计研究报告001
- 2025年医院电子病历系统在医疗大数据中的应用与优化报告
- 2025年医院电子病历系统优化构建医疗大数据分析平台报告
- 终身学习视角下2025年成人教育体系构建与平台运营的师资培训策略报告
- 2025年医药流通行业供应链优化与成本控制政策研究实践报告
- 2025年医药流通行业供应链优化与成本控制案例分析报告
- 保安证考试题及答案
- 安全员c证试题及答案
- 安全试题及答案和解析
- 零售私域流量运营的线上线下促销活动策划报告
- 2024-2025学年江苏省扬州市江都区高一上学期期中考试英语试题(解析版)
- 音乐欣赏:贝多芬第九交响曲音乐课教案
- 2025年小学语文知识考核试题及答案
- 2025国家开放大学《人文英语1》综合测试形考任务答案
- 2024北京海淀区三年级(下)期末英语试题及答案
- 23G409先张法预应力混凝土管桩
- 部编版语文二年级下册教案及教学反思(全册)
- 《高危儿童保健服务指南(试行)》介绍
- 肠道水疗课件
- 机动车排放定期检验规范(HJ 1237-2021)_(高清-最新版)
- 校核计算2D1290220对称平衡式无油润滑压缩机
评论
0/150
提交评论