精品-清华大学C语言课件 第7章03 switch语句
运行程序,显示效果如图7.17所示。
图7.17 使用switch语句输出分数段 本程序使用switch语句判断字符变量cGrade,其中使用case关键字检验可能出现的级别情况。并 且在每一个case语句的最后都会有break进行跳出。如果没有符合的情况则会执行default默认语句。 注意: 在case语句表示的条件后有一个冒号“:”,在编写时不要忘记。
运行程序,显示效果如图7.19所示。
图7.19 使用多路开关模式编写日程安排程序 程序中使用多路开关模式,使得检测iDay的值为2、3、4、5这四种情况时,都会执行相同的结果。 并且利用default语句将不符合的数字显示提示信息表示输入错误。
switch (表达式) { case 情况1: 语句块1; case 情况2: 语句块2; … case 情况n: 语句块n; default: 默认情况语句块; }
其语句的程序流程如下图7.15所示。
图7.15 switch多分支选择语句流程
通过上面的流程图进行分析switch语句的一般形式。switch后面括号中的表达式就是要进行判断的条 件。在switch的语句块中,使用case关键字表示检验条件符合的各种情况,其后的语句是相应的操作。 其中还有一个default关键字,代表的作用是如果上面没有符合条件的情况,那么执行default后的默认情 况语句。
在实例7.9中,将break去掉之后,会将符合检验条件后的所有语句都输出。利用这个特点,可以设 计多路开关模式的switch语句。其形式如下。
switch(表达式) { case 1: 语句1 break; case 2: case 3: 语句2 break; …… default: 默认语句 break; }
#include<stdio.h>
int main() { char cGrade;/*定义变量表示分数的级别*/ printf("请输入你的级别:\n");/*提示信息*/ scanf("%c",&cGrade);/*输入分数的级别*/ printf("级别情况是:");/*提示信息*/ switch(cGrade)/*switch语句判断*/ { case 'A':/*分数级别为A的情况*/ printf("90~100\n");/*输出分数段*/ break;/*跳出*/ case 'B':/*分数级别为B的情况*/ printf("80~89\n");/*输出分数段*/ break;/*跳出*/ case 'C':/*分数级别为C的情况*/ printf("70~79\n");/*输出分数段*/ break;/*跳出*/ case 'D':/*分数级别为D的情况*/ printf("60~69\n");/*输出分数段*/ break;/*跳出*/ case 'F':/*分数级别为F的情况*/ printf("<60\n");/*输出分数段*/ break;/*跳出*/ default:/*默认情况*/ printf("输入有误!\n");/*提示错误*/ break;/*跳出*/ }
#include<stdio.h> int main() { int iDay=0;/*定义变量表示输入的星期*/ printf("请输入星期时:\n");/*提示信息*/ scanf("%d",&iDay);/*输入星期*/ switch(iDay) { case 1:/*iDay的值为1时*/ printf("公司开会\n"); break; case 2:/*多路开关模式*/ case 3: case 4: case 5: printf("和同事一起工作\n"); break; case 6:/*iDay的值为6时*/ printf("和朋友去逛街\n"); break; case 7:/*iDay的值为7时*/ printf("在家陪家人\n"); break; default:/*iDay的值错误时*/ printf("输入有误!!\n"); } return 0; }
图7.18 不添加break的情况 从运行的结果中可以看出,当去掉break语句后,会将case检验相符情况后的所有语句进行输出。所 以在case语句中break语句是不能缺少的。
实例4 使用多路开关模式编写日程安排程序
在本实例中,要求将操作相同的检验结果使用多路开关的模式进行编写,当输入不正确的日期时进行 错误提示。
可以看到如果在case 2后不使用break语句,那么符合检验时与符合case 3检验时的效果是一样的。 也就是说使用多路开关模式,使得多种检验条件使用一种解决方式。
实例3 使用switch语句输出分数段
本实例中,要求按照考试成绩的等级输出百分之分数段的范围,其中要使用switch语句进行判断分数 的情况。
switch语句
本讲大纲
1.switch语句的基本形式 2.多路开关模式的switch语句 实例3 使用switch语句输出分数段 实例4 使用多路开关模式编写日程安排程序
switch语句的基本形式
switch语句是多分支选择语句。例如,如果只需要检验某一个整型变量的可能取值,那么可以用更简 便的switch语句。switch语句的一般形式:
printf("Error\n");
break;
}
【例7.9】 使用switch语句修改日程安排程序。 在实例7.8中,使用嵌套的if语句形式编写了日程安排程序,要求使用switch语句对程序进行修改。
#include<stdio.h> int main() { int iDay=0;/*定义变量表示输入的星期*/ printf("请输入星期时:\n");/*提示信息*/ scanf("%d",&iDay);/*输入星期*/ switch(iDay) { case 1:/*iDay的值为1时*/ printf("公司开会\n"); break; case 6:/*iDay的值为6时*/ printf("和朋友去逛街\n"); break; case 7:/*iDay的值为7时*/ printf("在家陪家人\n"); break; default:/*iDay的值为其他情况时*/ printf("和同事一起工作\n"); break; } return 0; }
这里可以将switch形象的比喻成一个提供饮品的投币机,可以将case语句看成该机器提供的多种不同 口味的饮料,表达式的值可以看成用户选择的一种口味,当选择完某种口味后便可取到相应的饮料,而出 来饮料的这个过程就相当于case后面对应的语句。 说明:
switch语句检验的条件必须是一个整型表达式,这意味着其中也可以包含运算符和函数调用。而case 语句检验的值必须是整型常量,也就是说可以是常量表达式或着常量运算。 通过一段代码再来分析一下switch语句的使用,如下面的代码:
在使用switch语句时,每一个case情况中都要使用break语句。如果不是用break语句会出现什么情况 呢?先来看一下break的作用,break使得执行完case语句后跳出switch语句。进行一下猜测,如果没有 break语句的话说明,程序可能会将后面的内容都执行。为了验证猜测是否正确,将上面的程序中的break 注释掉。还是输入字符'B',运行程序,显示结果如下图7.18所示。
运行程序,显示效果如图7.16所示。
图7.16 修改日程安排程序 在程序中,使用switch语句将原来的if语句都去掉,使得程序的结构看起来比较清晰,易于观察。 在使用case进行检验值的时候,不要忘记case检验的条件只能是常量或者常量表达式,所以在这里不能 对变量进行检验。
多路开关模式的switch语句
switch(selection)
{
case 1:
printf("Processing Receivables\n");
break;
case 2:
printf("Processing Payables\n");
break;
case 3:
printf("Quitting\Байду номын сангаас");
break;
default:
清华大学C语言教学课件(共16个PPT)第1个共26页文档
53、 伟 大 的 事 业,需 要决心 ,能力 ,组织 和责任 感。 ——易 卜 生 54、 唯 书 籍 不 朽。——乔 特
55、 为 中 华 之 崛起而 读书。 ——周 恩来
清华大学C语言教学课件(共16个PPT)
第1个
21、没有人陪你走一辈子,所以你要 适应孤 独,没 有人会 帮你一 辈子, 所以你 要奋斗 一生。 22、当眼泪流尽的时候,留下的应该 是坚强 。 23、要改变命运,首先改变自己。
24、勇气很有理由被当作人类德性之 首,因 为这种 德性保 证了所 有其余 的德性 。--温 斯顿. 丘吉尔 。 25、梯子的梯阶从来不是用来搁脚的 ,它只 是让人 们的脚 放上一 段时间 ,以便 让别一 只脚能 够再往 上登。
C语言全套课件(清华大学出版社) PPT
2.1 算法的概念
为了有效地进行解题,不仅需要保证 算法正确,还要考虑算法的质量,选择合 适的算法。希望方法简单,运算步骤少。 计算机算法可分为两大类别: • 数值运算算法:求数值解,例如求方程的 根、求函数的定积分等。 • 非数值运算:包括的面十分广泛,最常见 的是用于事务管理领域,例如图书检索、 人事管理、行车调度管理等。
1.3 简单的C语言程序介绍
注意:
函数的声明部分和执行部分都可缺省,例如:
void dump ( ) { }
这是一个空函数,什么也不做,但是合法的函数。
1.3 简单的C语言程序介绍
小结:
(3) C程序总是从main函数开始执行的,与main函数 的位置无关。 (4) C程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上,C程序没有行号。 (5) 每个语句和数据声明的最后必须有一个分号。 (6) C语言本身没有输入输出语句。输入和输出的操 作是由库函数scanf和printf等函数来完成的。C对 输入输出实行“函数化”。
S1:使p=1。 S2:使i=2 S3:使p×i,乘积仍放在变量p中,可表示为:p×ip S4:使i的值加1,即i+1i S5:如果i不大于5,返回重新执行步骤S3以及其后 的步骤S4和S5;否则,算法结束。最后得到p的值就 是5!的值。
如果题目改为:求1×3×5×……×1000 算法只需作很少的改动: S1:1→p S2:3 → i S3:p×i → p S4:i+2 → p S5:若i≤11,返回S3。否则,结束。
1.1C语言出现的历史背景 • 1983年,美国国家标准化协会(ANSI)根据C语 言各种版本对C的发展和扩充,制定了新的标 准ANSI C ,比标准C有了很大的发展。 • 1988年K & R按照 ANSI C修改了他们的《The C Programming Language》。 • 1987年,ANSI公布了新标准——87 ANSI C。 • 1990年,国际标准化组织接受了87 ANSI C为 ISO C 的标准(ISO9899—1990)。 • 1994年,ISO又修订了C语言标准。 • 目前流行的C语言编译系统大多是以ANSI C为 基础进行开发的。
c语言switch 关系运算
C语言中的switch关系运算1.概述C语言是一种广泛应用的程序设计语言,而switch关系运算则是其中一项重要的特性。
本文将从switch语句的基本语法开始介绍,然后深入探讨其在关系运算中的应用。
2.switch语句的基本语法switch语句是C语言中的一种选择结构,其基本语法如下:```cswitch (表达式){case 值1:语句1;break;case 值2:语句2;break;...default:默认语句;}```其中,表达式可以是整型或字符型,case后面的值必须是整型或字符型常量,break语句用于结束当前case分支的执行,default分支可选。
3.switch语句的执行流程当程序执行到switch语句时,首先计算表达式的值,然后根据该值选择相应的case分支执行,直到遇到break语句或switch语句结束。
如果未匹配任何case值,则执行default分支,如果没有default分支,则直接跳出switch语句。
4.switch关系运算除了普通的switch选择结构外,switch语句还可以用于关系运算。
在C语言中,可以使用switch语句来处理特定的关系运算,比如判断某个值是否在某个范围内。
以判断成绩等级为例,假设成绩为score,我们可以使用switch语句来判断成绩等级:```cswitch (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");}```在这个例子中,我们将成绩除以10,根据商的值来判断成绩等级。
第7周单元设计Switch语句及程序举例
《C语言程序设计》课程单元教学设计课程单元教学设计基本框架第一部分:组织教学和复习上次课主要内容(时间: 3 分钟)C语言中,if-else语句能实现多分支结构的程序设计,但是如果分支较多,则嵌套的if语句层就越多,由此编写的程序不够直观,难以理解,给编程和阅读带来了很大的困难。
第二部分:学习新内容【步骤一】说明主要教学内容、目的(时间:2 分钟)教学内容:Switch语句是一种分支控制语句,它的应用在程序设计中起到了很重要的作用。
教学目的:1、掌握用Switch语句实现选择结构2、学会用Switch语句来解决实际问题【步骤二】学一学、试一试(时间:15分钟)学一学:Switch语句C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case常量表达式1: 语句1;case常量表达式2: 语句2;…case常量表达式n: 语句n;default:语句n+1;}其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
试一试:•问题3.9 编一程序可查询驾驶证可以驾驶的车辆类型。
要求从键盘输入驾照的类型。
比如输入驾照类型‘C’,输出“你可以驾驶小轿车”。
其中,A牌驾照可驾驶大客车、人货车和小轿车,B牌驾照可驾驶人货车和小轿车,C牌驾照可驾驶小轿车,D 牌驾照可驾驶摩托车。
•【解题步骤】1.定义字符变量chLicence用来存放驾照类型代码;2.从键盘输入一个字符放chLicence;3.根据chLisence中的值,输出相应的准驾车型。
【程序代码】#include "stdio.h"void main(){ char chLicence;printf("please input your driving licence:");scanf("%c",&chLicence);switch(chLicence){case 'A':printf("you can drive bus,car,truck..");break;case 'B':printf("you can drive truck,car ");break;case 'C':printf("you can drive car.");break;case 'D':printf("you can drive autobike only.");break;default:printf("input error!!");}getch();}【步骤三】练一练(时间:25分钟)问题:将星期一、星期二…星期六、星期日依次编号为1、2…6、7,编一程序从键盘输入星期的序号,可输出其对应的英文。
switch语句的用法c语言例子
switch语句的用法c语言例子在C语言中,switch语句被广泛用于根据不同的条件执行不同的代码块。
它可以有效地代替复杂的if-else语句,使程序更加简洁和易于理解。
本文将通过例子来介绍switch语句的用法,以帮助读者更好地掌握这个常用的编程结构。
在C语言中,switch语句的基本语法是:```cswitch (expression) {case constant1:code block 1;break;case constant2:code block 2;break;...default:code block;}```下面,我们通过几个具体的例子来说明switch语句的用法。
例子1:判断星期几```c#include <stdio.h>int main() {int day;printf("请输入数字1-7表示星期几:"); scanf("%d", &day);switch (day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期日\n");break;default:printf("输入错误!\n");break;}return 0;}```在这个例子中,我们通过输入一个数字(1-7)来判断对应的星期几,并输出相应的结果。
通过switch语句,我们可以根据不同的输入值执行不同的代码块。
C语言switch语句 ——教学案例分析PPT课件一等奖新名师优质课获奖比赛公开课
4、总结
重点掌握: 掌握switch语句基本格式、了解switch语句执行过程、掌握利用switch语句编写分支选择语句。
“if语句也能处理两个分支,处理多个分支时需使用if-else-if结构,但假 如分支较多,则嵌套if语句层就越多,程序不但庞大而且了解也比较困难, 那么有没有一个专门用于处理多分支结构条件选择语句呢?它就是我们今 天学习内容——switch语句”
2022/3/21
第12页
六、教学内容与步骤设计
(二)提出问题、设计方案(第二节课20分钟) 1.为何要使用switch语句? 2. switch语句基本格式是怎样呢? 3. switch语句与if语句执行流程有什么不一样呢? 4.使用switch注意事项有哪些呢? 5. switch语句适合用于处理什么样问题呢?
第5页
三、教学目标
本堂课三维教学目标分为三类:
01 知识技能性目标 02 过程与方法 03 情感态度与价值观
第6页
三、教学目标
知识技能性目标
1.掌握switch语句格式; 2.了解switch语句执行过程; 3.了解、对比与其它语句不一 样; 4.掌握阅读、调试switch程序 能力; 5. 掌握switch语句实现多分支 选择结构; 6.领悟使用switch语句处理实 际问题。
2、switch语句格式
switch(表示式) {
case 常量表示式1:语句1;....
c语言中的switch用法
c语言中的switch用法C语言中的switch用法是程序设计中常用的一种结构,它使用一个表达式来选择多个执行路径中的一个。
通过它,我们可以根据不同的条件执行不同的操作。
在本文中,我将一步一步回答关于C语言中switch用法的问题。
1. switch语句的基本结构是什么?switch语句由switch关键字、一个表达式、若干个case语句和一个可选的default语句组成。
其基本结构如下所示:switch (expression) {case constant1:执行语句break;case constant2:执行语句break;...default:执行语句}2. switch语句的执行流程是怎样的?当程序执行到switch语句时,首先会计算表达式的值,然后将该值与case 语句中的常量进行比较,如果匹配成功,就执行相应的语句直到遇到break 语句或switch语句结束。
如果没有匹配成功的case语句,就会执行default语句(如果存在),或者直接跳过switch语句。
3. case语句中的常量可以是哪些类型?case语句中的常量可以是整数常量、字符常量、枚举常量或者常量表达式。
它们在不同的case语句中不能重复。
4. switch语句中的表达式可以是什么类型?switch语句中的表达式可以是整数类型(包括char、short、int和long),字符类型(char)或者枚举类型。
在C99标准中,它还可以是指针类型。
5. case语句中可以使用浮点数作为常量吗?在标准的C语言中,case语句中只能使用整数类型、字符类型或者枚举类型的常量。
不能使用浮点数。
6. 在case语句中使用break语句有什么作用?在switch语句中,break语句用来终止当前的case语句块,并跳转到switch语句块外面,从而避免执行其他case语句。
如果不使用break语句,程序会继续执行下一个case语句,直到遇到break语句或者switch 语句结束。
switch语句.ppt
(续)
例如:要求按照成绩的等级打印出百分制分数 段,可以用switch 语句实现:
switch (grade) {case ‘A’:printf(“85~100\n”); case ‘B’:printf(“70~84\n”); case ‘C’:printf(“60~69\n”); default:printf(“error\n”); }
{ int score; char grade; printf("Input a score(0~100): "); scanf("%d",&score); switch (score/10) {case 10: case 9: printf("grade=A\n");break; case 8: printf("grade=B\n"); break;
分析 二: 1、C语言中没有复数的概念,故将实部和虚部分开定义变量,
输出时,只需注意安排复数的形式 2、共需实型变量9个:a,b ,c ,disc ,x ,x1,x2 ,real,im 3、要使用if…else…的嵌套结构
Gen.c
例3. 求一元二次方程ax2+bx+c=0的解(a≠0)。
#include "math.h" main() { float a,b,c,disc,x1,x2,p,q;
分。路程s越远,每公里运费越低. 标准如下.c5_7.c
S<250km 250<=s<500 500<=s<1000 1000<=s<2000 2000<=s<3000 3000<=s
没有折扣 2%折扣 5%折扣 8%折扣 10%折扣 15%折扣
c语言中switch用法
c语言中switch用法在C语言中,`switch`语句用于根据不同的条件值执行相应的代码块。
`switch`语句可以替代使用多个`if-else`语句,使代码更加简洁和可读性更高。
`switch`语句的基本语法如下:```cswitch(expression) {case constant1:// code block 1break;case constant2:// code block 2break;case constant3:// code block 3break;...default:// code block for any other value}````expression`是被比较的表达式,通常是一个整数或字符类型的变量或表达式。
`case`后面是一个常量或表达式,用于匹配`expression`的值。
如果匹配成功,则执行与之对应的代码块,直到遇到`break`语句为止。
如果没有匹配的`case`,则执行`default`后的代码块(可选)。
以下是一些使用`switch`语句的示例:```cint day = 3;switch (day) {case 1:printf("Monday\n");break;case 2:printf("Tuesday\n");break;case 3:printf("Wednesday\n");break;case 4:printf("Thursday\n");break;printf("Friday\n");break;default:printf("Weekend\n"); }// 输出:Wednesdaychar grade = 'B';switch (grade) {case 'A':printf("Excellent\n"); break;case 'B':case 'C':printf("Good\n");break;case 'D':printf("Pass\n");break;case 'F':printf("Fail\n");break;printf("Invalid grade\n");}// 输出:Good```在`switch`语句中,每个`case`的常量值必须是唯一的,不能重复。
switch语句 ppt
3、switch语句由若干case语句和可以缺省 default语句组成。
三、bre句中的break语句后,它使程序 流程跳出switch语句,转而执行switch语句后的语句。
LOGO
PPT模板下载:/moban/ 节日PPT模板:/jieri/ PPT背景图片:/beijing/ 优秀PPT下载:/xiazai/ Word教程: /word/ 资料下载:/ziliao/ PPT课件下载:/kejian/ 范文下载:/fanwen/
Switch的流程图和执行过程 break、default的应用 巩固提高
一、swtich语句的一般形式
☞switch(表达式)
{
1. Introduction
case 常量表达式1:语句1;
case 常量表达式2:语句2;
3. C…hallengers Forwad
case 常量表达式n:语句n;
#include "stdio.h"
main( )
{ char c;
scanf("%c",&c);
if(c='A') printf("优秀");
else if(c='B') printf("良好");
else if(c='C') printf("及格");
else if(c='D') printf("不及格");
scanf(“%c”,&p);
switch(p) { case ‘A’:printf(“我想吃苹果”);break;
