《第二讲卫switch语句-课件》由会员分享,可在线阅读,更多相关《第二讲卫switch语句-课件(10页珍藏版)》请在金锄头文库上搜索。
1、郭士清,2006年11月,C语言程序设计,试讲二 Switch语句,教学目的: 掌握多分枝结构 掌握Switch语句的用法和应用 重点:Switch语句的用法和应用 难点: Switch语句的用法,一、选择结构,根据条件表达式的结果,选择不同的计算方法A或的结构称为选择结构(分枝结构),单选择结构的框图结构,yes,no,语句A,入口,出口,双选择结构的框图结构,yes,no,程序段A,程序段B,入口,出口,双向选择分支结构N-S图,多分枝结构,开关语句-switch,功能,格式,开关语句就像多路开关一样,程序可根据 一个表达式可能产生的不同结果值,选择其中 一个独立分支结构,或几个分支 的语
2、句非独立分支结构去执行。,switch (表达式) case 常量1 : 语句系列1 case 常量2 : 语句系列2 case 常量m : 语句系列m default : 语句系列m+1 ,说明,switch后括号内表达式的值只能是整形、字符型或枚举类型,每个常量的类型和表达式的类型应相同,每个语句序列可以是零个或若干个语句。 case 3: case 4: printf(“%d”, d1); break; default:,执行时,先求表达式的值,然后自上而下依次测试每一个常量,若与常量I相匹配,则从其后的语句序列i开始执行每个语句序列,若没有常量与之匹配,则执行default后面的语句序
3、列非独立分支结构。 若只执行语句系列I,则在语句系列I后加break语句独立分支结构。,switch (表达式) case 常量1 : 语句系列1;break; case 常量2 : 语句系列2;break; case 常量m : 语句系列m;break; default : 语句系列m+1; ,由于每个case语句后的常量只起语句标号的作用,所以它们的值必须互不相同,否则会出现互相矛盾的现象(C语言系统不允许,编译出错)。 case 1: case 1: case 3:,独立分支时每个case语句和default语句的出现的前后次序发生改变时,不影响运行结果,但在一般情况下,常量出现频率较高的放在前面。 case 1: case 1: default: case 2: case 2: case 3: case 3: deault:,举例,有了if 语句,为什么还要switch语句?,开关语句举例,独立分支开关语句举例 非独立分支开关语句举例,独立分支开关语句举例,#include main() int x scanf(“%d“, ,x/10,