C语言-09switch-case 多分支开路语句

合集下载

C语言switch

C语言switch

§9.8 switch 的应用
例子:如表所示是学生的等级成绩情况。 例子:如表所示是学生的等级成绩情况。 表 学生的等级成绩 分数成绩 大于或等于90 大于或等于90 小于90但大于或等于 小于90但大于或等于80 但大于或等于80 小于80但大于或等于 小于80但大于或等于70 但大于或等于70 小于70但大于或等于 小于70但大于或等于60 但大于或等于60 小于60 小于60 等级成绩 A B C D E
§9.5 default 关键字
在一个 switch 语句中可以采用任意顺序来包含任意数目 标签。但是, 的 case 标签。但是,如果表达式的值与所有 case 值都不 匹配,那么将不执行任何语句, default。 匹配,那么将不执行任何语句,除非遇到关键字 default。关 是可选的, if键字 default 是可选的,并且它与 if-else 链中的最后一 的作用相同。 个 else 的作用相同。
§10.6 break 关键字 10.
一旦通过 switch 语句确定了入口点,所有进一步的 语句确定了入口点, case 赋值都会被忽略,并且,除非遇到关键字 break,否则 赋值都会被忽略,并且, break, 执行将一直持续到复合语句结束, 执行将一直持续到复合语句结束,这就是采用 break 语句的 原因, 的结束, 原因,它将标识特定 case 的结束,并使得立即退出 switch 语句,因此, 语句,因此,就像关键字 case 标识复合语句中可以存在的起 始点一样, 语句将确定终止点。 始点一样,break 语句将确定终止点。如果省略了 break 语 值后的所有情况( 句,那么匹配的 case 值后的所有情况(包括 default 情 都会被执行。 况)都会被执行。

switch case函数用法

switch case函数用法

一、switch case 函数介绍switch case 是一种在编程语言中常见的用来进行条件判断的结构。

它可以根据某个变量的值来执行对应的代码块,是一种多分支的条件语句。

在许多编程语言中,如C、C++、Java等,switch case 函数都是被广泛使用的。

二、switch case 函数的语法switch case 函数的语法通常如下所示:```cswitch (expression){case value1:// code blockbreak;case value2:// code blockbreak;// more casesdefault:// default code block}```其中,expression 是一个变量或者表达式,用来进行条件判断;value1、value2等是具体的数值或者变量,在不同的值下会执行相应的代码块;default则是用来处理当没有匹配到任何 case 时的情况。

三、switch case 函数的工作原理当程序执行到 switch case 函数时,首先会计算 expression 的值,然后会逐个比较每个 case 的值,直到找到与 expression 相匹配的值。

一旦匹配到某个 case 的值,就会执行其对应的代码块,直到遇到break 语句为止,然后跳出整个 switch case 结构。

如果没有找到匹配的值,则会执行 default 代码块,如果没有 default 代码块则直接跳出 switch case 结构。

四、switch case 函数的优缺点1. 优点:- switch case 函数相对于一长串 if else 语句来说更加清晰和简洁,适用于多分支条件判断的情况。

- 一旦匹配到对应的值,就会执行相应的代码块,减少了不必要的判断过程,提高了执行效率。

2. 缺点:- switch case 函数只能用于对单个变量或表达式的判断,不支持范围条件判断;只能匹配常量值,不能匹配非常量表达式。

switchcase语法详解

switchcase语法详解

switchcase语法详解switch case语法详解:1、switch是“开关”的意思,它也是⼀种“选择”语句,但它的⽤法⾮常简单。

2、switch是多分⽀选择语句。

说得通俗点,多分⽀就是多个if。

从功能上说,switch语句和if语句完全可以相互取代。

但从编程的⾓度,它们⼜各有各的特点,所以⾄今为⽌也不能说谁可以完全取代谁。

3、当嵌套的if⽐较少时(三个以内),⽤if编写程序会⽐较简洁。

但是当选择的分⽀⽐较多时,嵌套的if语句层数就会很多,导致程序冗长,可读性下降。

因此C语⾔提供switch语句来处理多分⽀选择。

所以if和switch可以说是分⼯明确的。

在很多⼤型的项⽬中,多分⽀选择的情况经常会遇到,所以switch语句⽤得还是⽐较多的。

4、switch的⼀般形式如下:switch(表达式){case常量表达式1: 语句1; break;case常量表达式2: 语句2; break;…case常量表达式n: 语句n; break;default: 语句n+1; break;}⼩练习:static void Main(string[] args){/*输⼊成绩,输出成绩的等级:90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输⼊⼤于100或⼩于0时输出“成绩输⼊错误”*/Console.WriteLine("请输⼊成绩:");int score;try{score = Convert.ToInt32(Console.ReadLine());if (score > 100 || score < 0){Console.WriteLine("成绩输⼊错误,请重新输⼊:");score = Convert.ToInt32(Console.ReadLine());}else{switch (score / 10){case10:case9:Console.WriteLine("A");break;case8:Console.WriteLine("B");break;case7:Console.WriteLine("C");break;case6:Console.WriteLine("D");break;default:Console.WriteLine("E");break;}}}catch{Console.WriteLine("输⼊数据类型错误,程序退出!");}}扩展资料:说明:1)、switch后⾯括号内的“表达式”必须是整数类型。

case多条语句

case多条语句

case多条语句在编程中,我们经常会遇到需要执行多条语句的情况。

为了解决这个问题,编程语言提供了一种结构,可以按照一定的顺序执行多条语句,这种结构就是case多条语句。

case多条语句是一种选择结构,它允许我们根据不同的条件执行不同的代码块。

这种结构通常由一个选择条件和多个代码块组成。

当选择条件满足某个特定的值时,对应的代码块会被执行。

在很多编程语言中,case多条语句使用switch语句来实现。

switch语句由一个选择条件和多个case语句组成。

选择条件通常是一个变量或表达式,而case语句则是根据不同的条件执行不同的代码块。

当选择条件的值与某个case语句的条件值匹配时,该case语句对应的代码块会被执行。

下面是一个使用case多条语句的示例代码,假设我们需要根据不同的数字输出对应的英文单词:```pythonnum = 3word = ""switch(num):case 1:word = "one"breakcase 2:word = "two"breakcase 3:word = "three"breakcase 4:word = "four"breakdefault:word = "unknown"print(word)```在上面的代码中,我们定义了一个变量num,并初始化为3。

根据num的值,我们使用switch语句来选择不同的代码块执行。

当num的值为1时,对应的代码块会将word的值设为"one";当num的值为2时,对应的代码块会将word的值设为"two";当num的值为3时,对应的代码块会将word的值设为"three";当num的值为4时,对应的代码块会将word的值设为"four"。

C语言switch语句

C语言switch语句

input 10 characters: Reold 123? blank=1, digit=3, other=6
blank ++;
break;
case '0' : case '1' : case '2' : case '3‘:
case '4' : case '5' : case '6' : case '7' :
假(0) 表达式=常量表达式n?
假(0)
无break语句
有break语句
真(非0)
语句序列2
break
无break语句
真(非0)
有break语句
语句序列n
break
无break语句 语句序列n+1
说明:
04:06:15
switch语句不等同于if语句:
只进行值的相等性 的检查,不是逻辑判断!
1. switch只能进行值的相等性的检查. 2. if语句不但可以进行相等性的检查, 还可以计算关 系表达式或逻辑表达式,进行逻辑判断的真假.
printf("十进制数: %d\n", ch-'0');
break;
04:06:16
ASCII值: ‘0’ 48 ‘A’ 65 ‘a” 97
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': printf("十进制数: %d\n", ch-55);

c语言switch case语句用法

c语言switch case语句用法

c语言switch case语句用法下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!C语言是一种流行的编程语言,它提供了一种灵活的控制结构来处理不同条件下的代码执行。

多分支判断语句switch-casePPT课件

多分支判断语句switch-casePPT课件

基本调用格式:
pause pause (n) pause on pause off
%暂停程序等待回应。 %在程序运行中等待 n秒后继续运行。 %显示其后的 pause 命令,并且执行 pause 命令。 %显示其后的 pause 命令,但不执行该命令。
MATLAB语言与应用语言与应用
5
④ keyboard命令
MATLAB语言与应用语言与应用
8
① MATLAB的代码编辑调试器
MATLAB的代码编辑调试器是一个综合了代码编写与调试的集 成开发环境。MATLAB代码调试过程主要是通过调试器菜单 Debug下的各子项进行的。调试选项及其功能见表1-3。
MATLAB语言与应用语言与应用
M文件调试器Debug菜单
case语句不对其后的case语句进行判断。
1
例如:利用switch_case语句编写判断季节的函数文件。
function demo_switch_case(month) switch month case {3,4,5} season='spring' case {6,7,8} season='summer' case {9,10,11} season='autumn' otherwise season='winter' end
% 打开文本文件的回应命令。 % 关闭回应命令。 % 显示其后所有执行文件的执行过程。 % 关闭其后所有执行文件的显示。
函数文件
echo file
% 文件在执行中的回应显示开关。
echo file on % 使指定的 file文件的命令在执行中被显示出来。
echo file off % 关闭指定文件的命令在执行中的回应。

switch case语句的用法c语言default

switch case语句的用法c语言default

switch case语句的用法c语言default switch case语句是C语言中的一种分支语句,用于根据不同的情况执行不同的操作,default关键字用于指定当没有匹配的case语句时执行的操作。

switch case语句的基本语法如下:cswitch(expression) {case constant1:语句块1break;case constant2:语句块2break;更多case语句default:默认语句块}其中,expression是需要进行比较的表达式,constant1、constant2等是可能的取值,每个case后面都有一个冒号(:)来表示该分支的开始。

当expression的值与某个case的取值匹配时,对应的语句块会被执行,直到遇到break语句或者switch case语句的结尾。

如果expression的值与所有case的取值都不匹配,那么默认语句块会被执行。

default关键字的作用是指定当没有匹配的case语句时要执行的语句块。

它通常被放在所有case语句的最后,但不是必需的。

下面是一个使用switch case语句和default的例子:c#include <stdio.h>int main() {int num = 2;switch(num) {case 1:printf("数字是1\n");break;case 2:printf("数字是2\n");break;case 3:printf("数字是3\n");break;default:printf("数字不在1到3之间\n");}return 0;}输出结果为:"数字是2",因为num的值为2与case 2匹配。

如果将num的值改为4,输出结果为:"数字不在1到3之间",因为num的值既不与case 1、case 2、case 3匹配。

switch语句用法c语言

switch语句用法c语言

C语言中switch语句的用法总结一、switch语句的基本概念switch语句是一种多分支选择语句,它可以根据一个表达式的值,选择执行不同的代码块。

switch语句的一般形式如下:switch (expression) {case constant-expression1 :statement(s);break; /* 可选的 */case constant-expression2 :statement(s);break; /* 可选的 *//* 您可以有任意数量的 case 语句 */default:/* 可选的 */statement(s);}其中,expression是一个整型或枚举类型的表达式,它的值会与每个case后面的常量表达式进行比较,如果相等,则执行该case后面的语句,直到遇到break语句或switch语句结束为止。

如果没有任何一个case匹配,则执行default后面的语句,如果没有default,则不执行任何语句。

二、switch语句的使用规则在使用switch语句时,需要注意以下几个规则:switch语句中的expression必须是一个整型或枚举类型的表达式,不能是浮点型、字符串型或布尔型。

case后面的constant-expression必须是一个常量或字面量,不能是变量或表达式,且必须与expression具有相同的数据类型。

case后面的常量表达式不能重复,否则会导致编译错误。

case和default只起标号的作用,它们本身不控制程序流程,只有break语句才能跳出switch语句。

不是每一个case都需要包含break语句,如果没有break语句,则程序会继续执行后续的case,直到遇到break为止,这称为case穿透现象。

default可以省略,也可以放在任何位置,但建议放在最后,以便处理其他情况。

三、switch语句的优缺点switch语句相比于if-else语句,有以下几个优点:switch语句结构清晰,易于阅读和理解。

c语言switch的用法

c语言switch的用法

c语言switch的用法switch 是一个开关语句,和case配套使用,和if else 判断语句差不多,switch 语句是用于多分支语句进行条件判断下面小编就来为大家介绍一下c语言switch的用法。

用于多分支选择的switch 语句,其一般形式为:switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。

并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。

如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

【例4-9】#include stdio.h int main(void){ int a; printf(input integer number: );scanf(%d,switch (a){case 1:printf(Monday\n);case 2:printf(Tuesday\n);case 3:printf(Wednesday\n); case 4:printf(Thursday\n); case 5:printf(Friday\n);case 6:printf(Saturday\n);case 7:printf(Sunday\n); default:printf(error\n); } return 0; } 本程序是要求输入一个数字,输出一个英文单词。

但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。

这当然是不希望的。

为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。

在switch语句中,case 常量表达式只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。

简述switch多分支语句的执行过程

简述switch多分支语句的执行过程

简述switch多分支语句的执行过程
switch语句是一种用于在程序中选择特定值的语句,通常用于控制程序流程的执行顺序。

switch语句支持多个分支,每个分支对应不同的值,当程序遇到该分支的值时,就会执行相应的操作。

switch语句的执行过程如下:
1. 定义switch语句的结构,包括关键词、switch case语句和switch default语句。

2. 在switch case语句中,定义要执行的操作,通常使用一个或多个表达式作为条件。

3. 当程序遇到switch case语句中的条件时,就会跳转到对应的switch case语句块,执行相应的操作。

4. 如果switch case语句块中没有匹配的表达式,则会执行switch default 语句,该语句通常用于默认选择操作。

5. 如果switch case语句块中匹配的表达式的值为非零,则会执行相应的操作,否则不会执行任何操作。

switch语句的执行过程可以看作是一个递归的过程,每个switch case语句块都会执行一次,直到遇到switch default语句或者表达式的值为非零时才会停止递归。

除了switch语句之外,还有一些其他的控制流程的语句,如if语句、while 语句和for语句等,它们在执行过程中也有类似的结构和丰富的应用场景。

在编写程序时,需要根据具体的需求选择合适的控制流程语句,以达到更好的编程效果。

c switch case语句

c switch case语句

今天我们要探讨的是 C 语言中的 switch case 语句。

在 C 语言中,switch case 语句是一种非常常见的流程控制语句,它可以根据表达式的值,选择性地执行一组语句中的一部分。

它通常用于多个条件的判断,让程序根据不同的条件执行不同的代码块。

在本文中,我们将从基础的语法和用法开始,逐步深入探讨 switch case 语句在 C 语言中的应用场景和性能优化。

1. 基本语法在 C 语言中,switch case 语句的基本语法如下:```cswitch (表达式) {case 值1:// 语句块break;case 值2:// 语句块break;// ... 其他 casedefault:// 语句块}```我们可以看到,switch 后面的表达式可以是整数、字符或枚举类型,case 后面跟着要比较的值,如果匹配,则执行相应的语句块。

default 分支是可选的,用于处理未在 case 中列出的值。

在每个 case 中,通常会使用break 语句来结束整个switch 语句块,以防止出现“穿透”效果。

2. 应用场景switch case 语句适用于多个条件的判断,相比于多个 if else if else语句,switch case 更加清晰简洁。

根据用户输入的菜单选项执行不同的操作、根据某个变量的取值执行不同的逻辑等等,都是 switch case 语句的典型应用场景。

3. 性能优化在实际开发中,为了进一步优化 switch case 语句的性能,我们可以考虑以下几点:- 确保 case 中的值是整数类型,这样可以通过跳表(jump table)来实现 O(1) 的时间复杂度。

- 尽量将频率高的 case 放在前面,以便利用 CPU 的指令预取特性。

- 避免在 case 中进行过多的计算,可以在 switch 之前先进行一些预处理。

- 针对特定的应用场景和硬件评台,可以使用编译器提供的优化选项来进一步提升性能。

多分支判断语句switch-case

多分支判断语句switch-case

sin 1 cos 2 cos 1 sin 2 sin(1 2 )
15
5. 求f = sin(x)^2的导数,求 f = sin(x)^2 + cos(y)^2对y 的导数。 % diff() 6. 求积分 /2 。%int(f,t,a,b) 7. 解方程x^3-6*x^2+11*x-5=1 。%solve() 8. 绘图:f = (x^2 + y^2)^4 - (x^2 - y^2)^2,
文本文件
echo on echo off echo on all echo off all % 打开文本文件的回应命令。 % 关闭回应命令。 % 显示其后所有执行文件的执行过程。 % 关闭其后所有执行文件的显示。
函数文件
echo file % 文件在执行中的回应显示开关。 echo file on % 使指定的 file文件的命令在执行中被显示出来。 echo file off % 关闭指定文件的命令在执行中的回应。 对于函数文件,echo 命令一般只用于其调试阶段。
16
6. syms tao omiga t A;int(A*exp(-i*omiga*t),t,-tao/2,tao/2) 8. x=-1:0.01:1; y=x; [X,Y]=meshgrid(x,y); F=(X.^2+Y.^2).^4-(X.^2-Y.^2).^2; mesh(X,Y,F); xlabel('x');ylabel('y');title('f的图像') 9. tic 10. a(1)=1;a(2)=1; a(1)=1^2; for i=3:50 sum(1)=a(1); a(i)=a(i-1)+a(i-2); for i=2:100 if a(i)>10000 a(i)=i^2; element=a(i) sum(i)=sum(i-1)+a(i); order=i end break sum_100=sum(100) end toc end

switch_case,,,条件操作符和逗号操作符,循环语句

switch_case,,,条件操作符和逗号操作符,循环语句

switch_case,,,条件操作符和逗号操作符,循环语句⼀.switch-caseswitch-case语句主要⽤在多分⽀条件的环境中,在这种环境中使⽤if语句会存在烦琐且效率不⾼的弊端。

switch(expression){ case const expression1: .... case const expression2; ... default: ...}在执⾏过程中,expression的值会与每个case的值⽐较,实现switch语句的功能。

关键字case和它所关联的值被称作case标号。

每个case标号的值都必须是⼀个整形常量表达式,且不能存在两个case标号相同的情形。

除此之外,还有⼀个特殊的case标号-default标号。

如果expression的值与其中⼀个case标号相匹配,则程序将从该标号后⾯的第⼀个语句开始执⾏各个语句,直到switch结束或者遇到break 语句为⽌,如果没有发⽣与之匹配的case标号(并且也没有default标号),则程序会从switch语句后⾯的⼀条语句继续执⾏。

关于switch⼀般存在这样的误解:以为程序只会执⾏匹配的case标号相关的语句。

实际上并⾮如此,该标号只是程序会执⾏的起始点,程序会从该点执⾏,并跨越case边界继续执⾏其他语句,直到switch结束或遇到break语句为⽌。

break语句的使⽤,是switch-case语句的核⼼。

因为在⼤多数情况下,在下⼀个case标号前⾯必须加上⼀个break语句。

故意省略break是⼀种特别罕见的⽤法,因此在这种形式的代码附近,请务必添加⼀些注释,说明其运⾏逻辑。

在switch-case结构中,只能在最后⼀个case标号或default中定义内部变量。

指定这种规则是为了避免出现代码跳过变量定义和初始化的情况。

这个规则存在的原因:⼀般如果定义⼀个变量,此变量便从此定义开始有效,直到所在的语句块结束。

c语言case语法

c语言case语法

c语言case语法C语言中的case语法是一种非常常用的控制流语句,用于在多个选项中选择一个执行特定的操作。

在本文中,我们将详细介绍C语言中的case语法及其用法。

在C语言中,case语法通常与switch语句一起使用。

switch语句是一种多分支选择语句,根据某个表达式的值来决定执行哪个分支。

而case语法就是用来定义这些分支的。

case语法的基本形式如下:```switch (expression) {case constant1:// 执行语句1break;case constant2:// 执行语句2break;...default:// 执行默认语句}```在上面的代码中,expression是一个表达式,可以是一个整数、字符或枚举类型。

constant1、constant2等是常量,用来与expression的值进行比较。

如果expression的值与某个case后面的常量相等,则执行对应的语句块,然后跳出switch语句。

如果expression的值与所有的case后面的常量都不相等,则执行default语句块。

下面是一个简单的例子,演示了case语法的使用:```#include <stdio.h>int main() {int num = 2;switch (num) {case 1:printf("数字是1\n");break;case 2:printf("数字是2\n");break;case 3:printf("数字是3\n");break;default:printf("数字不在1到3之间\n");}return 0;}```上面的代码中,num的值是2,根据switch语句中的case语法,程序会执行第二个case后面的语句块,输出"数字是2"。

在实际应用中,我们经常需要根据不同的条件执行不同的操作。

switch case语句的用法c语言

switch case语句的用法c语言

switch case语句的用法c语言
switch case语句用于多条件判断,语法如下:
switch (表达式){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
case 常量3:
语句3;
break;
...
default:
默认语句;
}
switch语句中的表达式可以是任意类型,case后面的常量可以是整型、字符型或枚举类型的常量,不允许使用变量。

当表达式的值与某个case后面的常量相
等时,从该case处开始顺序执行后续语句,直到遇到break语句或switch语句的结尾,其中default语句是可选的,用于当所有case都未匹配时执行的操作。

需要注意的是,在switch语句中使用break语句是很重要的,它可以避免代码执行到下一个case中,从而避免不必要的bug。

同时,case的顺序是很重要的,应根据常用值或重要值放在前面以提高效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//模拟ATM机菜单系统程序片段(完整程序请参考 ex09_01.c) //执行各个分支 switch( key ) { case 1: printf("您执行的是修改密码操作!\n");
case 2:
printf("您执行的是转帐操作!\n"); case 3: printf("您执行的是存款操作!\n");
//程序片段:输入月份,输出相应的天数(switch 结构) //完整程序请参考 ex09_04.c
//求相应月份的天数 switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 2: days = 28; break; case 4: case 6: case 9: case 11: days = 31; break; default: days= 0; }
switch(整型表达式) { case 常量1: 若表达式等于常量1,则从这里开始 . . [break;] case 常量2: 若表达式等于常量2,则从这里开始 . . [break;] . . case 常量n: . [break;] [default:] . 若所有常量都不匹配,则从这里开始 } //switch 语句结束 若表达式等于常量n,则从这里开始
/* */
程序片段:将学生分数成绩转换成相应的等级成绩 完全程序请参考 :ex09_06.c
if( score>100 || score<0 ) printf("输入成绩错误!\n"); else switch( score/10 ) //score/10对百分制成绩进行折算 { case 10: case 9: printf("A 等\n"); break; case 8: printf("B 等\n"); break; case 7: printf("C 等\n"); break; case 6: printf("D 等\n"); break; default: printf("A 等\n"); }
§9.8 switch 的应用
例子:如表所示是学生的等级成绩情况。
表 学生的等级成绩
分数成绩 大于或等于90 小于90但大于或等于80 小于80但大于或等于70 等级成绩 A B C
小于70但大于或等于60
小于60
D
E
编写一个C程序,接受学生的分数,将分数成绩转换成相 应的等级成绩,并显示等级成您执行的是取款操作!\n"); case 5: printf("您执行的查询余额操作!\n");
case 6:
printf("系统退出!\n"); default: printf("您选择了一个错误的操作!\n");
}
§10.6 break 关键字
一旦通过 switch 语句确定了入口点,所有进一步的 case 赋值都会被忽略,并且,除非遇到关键字 break,否则 执行将一直持续到复合语句结束,这就是采用 break 语句的 原因,它将标识特定 case 的结束,并使得立即退出 switch 语句,因此,就像关键字 case 标识复合语句中可以存在的起 始点一样,break 语句将确定终止点。如果省略了 break 语 句,那么匹配的 case 值后的所有情况(包括 default 情 况)都会被执行。
switch(整型表达式) { case 常量表达式1: . 若表达式等于常量1,则从这里开始 . [break;] 跳出 case 常量表达式2: . 若表达式等于常量2,则从这里开始 . [break;] 跳出 . . case 常量表达式n: 若表达式等于常量n,则从这里开始 . [break;] 跳出 [default:] 若所有常量都不匹配,则从这里开始 . } //switch 语句结束


375美元,加上销售额的16% 350美元,加上销售额的14% 325美元,加上销售额的12% 300美元,加上销售额的 9% 250美元,加上销售额的 5% 200美元,加上销售额的 3%
编写一个C程序,接受销售人员的月销售额,计算其月收入
§作业
例子:根据下表计算一下销售人员的月收入 表 销售人员的月收入
月销售额
大于或等于50,000美元 小于50,000美元,但大于或等于40,000美元 小于40,000美元,但大于或等于30,000美元 小于30,000美元,但大于或等于20,000美元 小于20,000美元,但大于或等于10,000美元 小于10,000美元
C语言程序设计
第九课 switch-case 多分支开路语句
§9.1 switch-case 语句
在编写应用程序时,在必须从很多可以的选项中选择一组指 令的地方,可以使用 if-else 链。在将一个整数表达式的值 与特定的值进行比较时,可以使用 switch-case 语句来替代 if-else 链。switch-case 语句的常规格式如下: switch(整型表达式) { case 常量1: 语句系列1; [break;] case 常量2: 语句系列2; [break;] . . case 常量n: 语句系列n; [break;] [default:] [语句 n+1;] }
/* 执行下列程序(ts09_01.c,输入为 1 时运行结果是_____, 输入为 2 时运行结果是_____。*/ #include <stdio.h> void main() { int k; scanf("%d",&k); switch(k) { case 1: printf("%d",k++); break; case 2: printf("%d",k++); case 3: printf("%d",k++); break; case 4: printf("%d",k++); default:printf("Full!\n"); } }
/* */
程序片段:将学生分数成绩转换成相应的等级成绩 完全程序请参考 :ex09_05.c
switch(score/10) //score/10对百分制成绩进行折算 { case 10: case 9: printf("A 等\n"); break; case 8: printf("B 等\n"); break; case 7: printf("C 等\n"); break; case 6: printf("D 等\n"); break; default: printf(“E 等\n"); }
printf("您执行的是修改密码操作!\n"); break; //跳出switch语句 printf("您执行的是转帐操作!\n"); break; //跳出switch语句 printf("您执行的是存款操作!\n"); break; //跳出switch语句 printf("您执行的是取款操作!\n"); break; //跳出switch语句 printf("您执行的查询余额操作!\n"); break; //跳出switch语句 printf("系统退出!\n"); break; //跳出switch语句
§9.5 default 关键字
在一个 switch 语句中可以采用任意顺序来包含任意数目 的 case 标签。但是,如果表达式的值与所有 case 值都不 匹配,那么将不执行任何语句,除非遇到关键字 default。关 键字 default 是可选的,并且它与 if-else 链中的最后一 个 else 的作用相同。
§9.7 多个 case 值引用同一组语句
在编写 switch 语句时,可以使用多个 case 值来引用 同一组语句;default标签是可选的。
//程序片段:输入月份,输出相应的天数(if-else链) //完整程序请参考 ex09_03.c
//求相应月份的天数 if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) days = 31; else if(month==2) days = 28; else if(month==4 || month==6 || month==9 || month==11) days = 30; else days = 0;
开始
输出菜单
1、修改密码 2、转帐 3、存款 4、取款 5、查询余额 6、退出
提示用户输入选择 接收用户的输入 (key)
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"); }
§9.3 switchcase 执 行流程图
计算表达式的值
常量表达式1
语句系列 1
break
常量表达式2
语句系列 2
break
相关文档
最新文档