



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年消化内科学(医学高级):消化内科学诊断学基础题库一(附答案)
- 医院临床医学认证体系解析
- 智能农机装备行业发展报告:市场现状、发展概况及未来前景分析(2025版)
- 2025-2030中国女式运动衫和上衣行业市场发展趋势与前景展望战略研究报告
- 冷链技术介绍
- 中级财务经济法讲解
- 渔业养殖与加工技术国际交流创新创业项目商业计划书
- 自动化新闻撰写工具创新创业项目商业计划书
- 电动汽车能量管理系统创新创业项目商业计划书
- 农业采摘园线上营销创新创业项目商业计划书
- 2025年乡村全科医师考试真题及答案
- 通往未来之路课件
- 2025年供暖锅炉安全技术托管协议书
- 特殊儿童美术治疗
- 护士长工作管理经验交流
- 公园物业服务投标方案(2023修订版)(技术方案)
- 《农村集中式生活污水分质处理及循环利用技术指南》
- 电商承揽合同范例
- 高一地质灾害课件
- 2024-2030年中国南美白对虾养殖市场规模分析及发展风险研究报告权威版
- 综合行政执法培训
评论
0/150
提交评论