全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖北生物科技职业学院单招职业适应性测试模拟测试卷附答案
- 2026年宁夏葡萄酒与防沙治沙职业技术学院单招(计算机)考试备考题库及答案1套
- 2026年吉林铁道职业技术学院单招职业适应性考试题库附答案
- 2025年郑州师范学院辅导员招聘考试真题汇编附答案
- 2026年福建生物工程职业技术学院单招职业技能测试模拟测试卷附答案
- 2026年内蒙古科技职业学院单招(计算机)考试参考题库必考题
- 2026年邢台应用技术职业学院单招职业技能考试模拟测试卷附答案
- 2026年大理护理职业学院单招(计算机)考试备考题库及答案1套
- 2026年黑龙江幼儿师范高等专科学校单招(计算机)考试备考题库及答案1套
- 2026年冀中职业学院单招(计算机)测试模拟题库附答案
- 汽车喷漆中的漆面平整度检测
- 5电位分析仪(pNa计)-2021级化学仪表
- 无人机目标跟踪与识别技术
- 养老院安全责任书范文(6篇)
- 《江苏住宅物业管理服务标准》(DB32T538-2002)
- RBA供应商社会责任管理程序
- 基坑危大工程专项施工方案
- 茶具生产项目管理方案
- 钢管更换施工方案模板
- 郑州市职工社会保险申报表(新增)表格
- 如何提升招标文件编制质量
评论
0/150
提交评论