4.3 多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)

2023-07-24
| 16页
| 315人阅读
| 0人下载
普通

内容正文:

4.3 多分支选择语句——switch结构 4.3.1 switch结构的基本形式 4.3.2 带break语句的switch语句 在前面的内容中,学习了使用if语句构建选择结构的一般方法。使用if-else结构可以实现双分支选择功能,使用if-else if-else结构可以实现多分支选择功能,但是这种多分支结构使用起来比较繁琐。 在C程序中,使用switch结构可以非常方便地构成多分支选择结构。一个程序涉及的分支越多,越适合使用switch结构。 4.3.1 switch结构的基本形式 图4-4 switch结构的流程图 switch结构用于实现多分支选择结构,也就是说可以从多组语句中选择执行其中的部分语句。 (1)switch结构的语法格式为 switch(表达式) { case 常量表达式1:语句1; case 常量表达式2:语句2; case 常量表达式n:语句n; default:语句n+1; } (2)该语句的执行过程如下 · 首先将“表达式”的值依次与各个“常量表达式”进行比较,哪个“常量表达式”的值与“表达式”的值相等,就执行该“常量表达式”后面的语句,此时该语句称为执行switch语句的入口。 · 一旦一个语句被执行后,顺次执行其后的所有语句,而不必再判断相应的“常量表达式”的值是否和“表达式”的值相等。 · 当所有case后的“常量表达式”都不与“表达式”的值相等时,就只执行default后的语句。 · 当“表达式”的值与“常量表达式1”相一致时,不仅执行语句1,而且其后的语句2到语句n+1也都被执行。同理,当“表达式”与“常量表达式3”相一致时,不仅执行语句3,而且其后的语句4到语句n+1也都被执行;当所有的“常量表达式”与“表达式”都不一致时,就只执行语句n+1。 (3)使用说明 · switch后面圆括号内的“表达式”可为任何类型,并且“表达式”的类型和“常量表达式”的类型一定要一致,否则会出现语法错误。当“常量表达式”的值与“表达式”的值相等时,执行其后的所有的语句,否则就执行default后面的语句。圆括号不能省略,且其外没有“;”,否则会出现语法错误。 · switch语句中大括号内的部分称为switch语句的语句体。 · default出现的顺序并不影响程序的功能,default后的语句总是最后执行。 · case后必须是常量表达式并且每个case后面的常量表达式必须互不相同,case和常量表达式之间一定要有空格,否则为语法错误。 · 每个case所管辖的语句可以是一条语句,也可以是多条语句,若是多条,可不加大括号。case后的语句还可以为空,当为空时,什么都不做,程序继续执行下一条case后的语句,不影响其他语句的执行。 4.3.2 带break语句的switch语句 break语句用来实现程序的跳转和退出。 由前一节可知,switch语句的基本结构只能实现“满足一个条件执行多个或一个case之后语句的情况”,但是如果要实现“满足多个或一个条件只执行一个case之后语句的情况”又怎么办呢?此时就要使用带break语句的switch语句。 (1)带break语句的switch语句语法格式为 switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; case 常量表达式n: 语句n; break; default: 语句n+1; } 与switch语句的基本形式相比,带break语句的switch语句最本质的差异是:一旦程序执行到break语句,将跳出switch语句,从而结束分支选择。 (2)带break语句的switch语句的流程 首先计算switch后面圆括号内的表达式的值,比较该值和case后的“常量表达式”的值是否相等,找到执行switch语句体的入口。 · 入口之前的case的语句不被执行,只执行入口以后case后的语句。 · 如果入口以后的case之后均没有break语句,则入口后所有case后的语句均被依次顺序执行,最后执行default以后的语句(此时即为switch语句的基本用法)。 · 如果在执行入口及其以后case后的语句的过程中一旦遇到break语句,则立即结束switch语句的执行。 (3)用法说明 switch语句的基本用法中的所有规范均适用于带break语句的switch语句。对带break语句的switch语句当“常量表达式”的值与“表达式”的值相等时,就执行相应“常量表达式”后的语句(包括case和default后的语句),如果遇到break语句则跳出switch语句的语句体,结束switch语句的执行;当“常量表达式”的值与“表达式”的值不相等时,就只执行defa

资源预览图

4.3  多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)
1
4.3  多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)
2
4.3  多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)
3
4.3  多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)
4
4.3  多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)
5
4.3  多分支选择语句——switch结构(课件)-高二《程序设计基础》同步教学(人民邮电版)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。