文档详情

第四章Switch分支语句(课件).ppt

发布:2018-09-07约3.92千字共20页下载文档
文本预览下载声明
C语言分支结构-switch 颜明生 学习目标与课程安排 目标:理解掌握C语言switch分支结构。 课程安排 背景知识回顾 switch分支结构介绍 注意事项 实例讲解 典型错误 总结 1.1 if语句回顾 1.if (表达式) 语句 2.if (表达式) 语句1 else 语句2 ? 3.if(表达式1)语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 …… else if(表达式m) 语句m else 语句n 1.2 if - else if 多分支选择结构 if (表达式) 语句1 else if (表达式) 语句2 else if (表达式) 语句3 else … 先判断表达式1的值 一直这样做下去 表达式1 真 语句1 假 表达式2 表达式3 语句4 语句3 语句2 真 真 假 假 直到得出最后结果 流程图如左: 为0就执行下一个判断 非0就执行下面的语句 缺点: if 与 else 的配对容易混淆 2.1 Switch 多分支结构 switch(表达式) { case 常量1: 语句块1; break; case 常量2: 语句块2; break; ……………. case 常量n: 语句块n; break; default: 语句块n+1; } 关键字:switch 关键字:break 关键字:case 关键字:default 2.2 执行过程 计算表达式的值,判断与case后哪个常量相等。 若与常量i的值相等,则从语句块i开始执行,直到遇到第一条break语句结束,或执行完语句块n+1结束。 若与任何一个常量的值都不相等,直接执行语句块n+1。 3 实例讲解 例1 写一个程序完成下列功能: 输入 : 一个整数score 输出: 当 score60 输出 D 当60=score 70 输出 C 当70=score 90 输出 B 当90=score 输出 A 分析: score为整型数,利用两个整数相除,结果自动取整的特性,score和 score /10 有如下对应关系: 3 实例讲解 Score Score/10 90 ~100 10,9 70 ~89 7,8 60~69 6 60~0 5,4,3,2,1,0 程序 #include stdio.h main( ) { int score; scanf(%d ,score); switch (score /10) { case 10: case 9: printf(%d: A\n, score);break; case 8: case 7: printf(%d: B\n, score);break; case 6: printf(%d: C\n, score);break; default: printf(%d: D\n, score); } } 不同情况执行相同的操作 4.典型错误 千万不要遗漏必要的break! 如: switch(score){ case 5: printf(“very good ”); case 4: printf(“good ”); case 3: printf(“pass ”); case 2: printf(“fail ”); default: printf(“error”); } 当输入5时,将输出: very good good pass fail error 5 注意事项 Switch 后跟整形, Case后面接常量, Default是可选项, 常量值须互不同。 只能判断值相等, 遇到break才中断。 Break常常很必要, 冒号小心别
显示全部
相似文档