C语言switch.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若所有常量都不匹配,则从这里开始
.
}
//switch 语句结束
开始
输出菜单
提示用户输入选择 接收用户的输入 (key)
1、修改密码 2、转帐 3、存款 4、取款 5、查询余额 6、退出
key
1 修改密码
2 转帐
3 存款
4 取款
5
6
查询余额
其他
退出
输出出错
输出“谢谢您使用本 银行的服务!”
结束
//模拟ATM机菜单系统程序片段(完整程序请参考 ex09_02.c)
//执行各个分支 switch( key ) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
default:
}
printf("您执行的是修改密码操作!\n");
break;
//跳出switch语句
printf("您执行的是转帐操作!\n");
break;
//跳出switch语句
switchcase 执 行流程图
计算表达式的值
常量表达式1
语句系列 1
常量表达式2
语句系列 2
常量表达式3
语句系列 3
常量表达式n
语句系列 n
default
语句系列
break break break break break
§9.4 switch 和 case 关键字
在 switch-case 语句中有4个新的关键字:switch、 case、default 和 break,下面分别给予介绍。
switch(整型表达式)
{ case 常量1:
若表达式等于常量1,则从这里开始
.
.
[break;]
case 常量2:
若表达式等于常量2,则从这里开始
.
.
[break;]
.
.
case 常量n:
若表达式等于常量n,则从这里开始
.
[break;]
[default:]
若所有常量都不匹配,则从这里开始
Fra Baidu bibliotek
.
}
switch(整型表达式)
{ case 常量1: 语句系列1; [break;] case 常量2: 语句系列2; [break;]
.
.
case 常量n: 语句系列n; [break;]
[default:]
[语句 n+1;]
}
§9.2 switch-case 常规书写格式
switch(整型表达式)
switch(整型表达式)
{
case 常量表达式1:
若表达式等于常量1,则从这里开始
.
. [break;] 跳出
case 常量表达式2:
若表达式等于常量2,则从这里开始
.
. [break;] 跳出
.
.
case 常量表达式n:
若表达式等于常量n,则从这里开始
.
[break;] 跳出
[default:]
switch 表达式的值与这些 case 值依次进行比较,直到 找到匹配的值。当找到匹配值时,执行将从紧跟着该匹配值的 语句开始,因此,如下所示,表达式的值决定了在 switch 语 句中执行实际开始的位置:
§9.5 default 关键字
在一个 switch 语句中可以采用任意顺序来包含任意数目 的 case 标签。但是,如果表达式的值与所有 case 值都不 匹配,那么将不执行任何语句,除非遇到关键字 default。关 键字 default 是可选的,并且它与 if-else 链中的最后一 个 else 的作用相同。
//switch 语句结束
//模拟ATM机菜单系统程序片段(完整程序请参考 ex09_01.c)
//执行各个分支 switch( key ) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
default:
}
printf("您执行的是修改密码操作!\n"); printf("您执行的是转帐操作!\n"); printf("您执行的是存款操作!\n"); printf("您执行的是取款操作!\n"); printf("您执行的查询余额操作!\n"); printf("系统退出!\n"); printf("您选择了一个错误的操作!\n");
C语言程序设计
第九课 switch-case 多分支开路语句
§9.1 switch-case 语句
在编写应用程序时,在必须从很多可以的选项中选择一组指 令的地方,可以使用 if-else 链。在将一个整数表达式的值 与特定的值进行比较时,可以使用 switch-case 语句来替代 if-else 链。switch-case 语句的常规格式如下:
{ 缩进 再次缩进
case 常量1: 语句系列1;
复合语句开始 以冒号结束
[break;] case 常量2:
语句系列2;
以冒号结束
[break;]
.
. case 常量n:
语句系列n;
以冒号结束
缩进
[break;]
[default:] [语句 n+1;]
以冒号结束
}
switch和复合语句结束
§9.3
printf("您执行的是存款操作!\n");
break;
//跳出switch语句
printf("您执行的是取款操作!\n");
break;
//跳出switch语句
printf("您执行的查询余额操作!\n");
break;
//跳出switch语句
printf("系统退出!\n");
break;
//跳出switch语句
§10.6 break 关键字
一旦通过 switch 语句确定了入口点,所有进一步的 case 赋值都会被忽略,并且,除非遇到关键字 break,否则 执行将一直持续到复合语句结束,这就是采用 break 语句的 原因,它将标识特定 case 的结束,并使得立即退出 switch 语句,因此,就像关键字 case 标识复合语句中可以存在的起 始点一样,break 语句将确定终止点。如果省略了 break 语 句,那么匹配的 case 值后的所有情况(包括 default 情 况)都会被执行。
printf("您选择了一个错误的操作!\n");
/* 执行下列程序(ts09_01.c,输入为 1 时运行结果是_____, 输入为 2 时运行结果是_____。*/
关键字 switch 标识 swithc-case 语句的开始。该关 键字后的圆括号内的整型表达式将得到赋值,然后将该表达式 的结果与复合语句内包含的各种可以的值依次进行比较。 swith 语句中的表达式必须被指定为整数结果值,否则将会出 现编译错误。在 switch-case 语句内,关键字 case 被用 来标识或标记与 switch 表达式的值进行比较的每个值。