《C语言程序设计基础》课件2.3switch语句_第1页
《C语言程序设计基础》课件2.3switch语句_第2页
《C语言程序设计基础》课件2.3switch语句_第3页
《C语言程序设计基础》课件2.3switch语句_第4页
《C语言程序设计基础》课件2.3switch语句_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计基础课件2C语言程序设计基础课件2Cswitch语句部分流程图:(1)说明该程序的功能是什么?答:根据输入的字母,输出相应的等级(2)思考:如果将程序段中的所有break语句去掉,输入字符C,运行结果是什么?及格不及格输入数据错误!真假ACBD真真真假假假grade错误优秀良好及格不及格breakbreakbreakbreakdefaultCswitch语句部分流程图:(1)说明该程序的功能是什2 switch语句 switch语句的一般形式 switch (表达式) case 常量表达式1: 语句序列1;break; case 常量表达式2: 语句序列2 ;break; cas

2、e 常量表达式n: 语句序列n ;break; default : 语句序列n+1 ;break; 功能:计算表达式的值,与常量表达式的值比较,等于第i个值时,顺序执行语句序列1、2、 、n若与所有常量表达式值都不相等,执行语句序列n+1。 2 switch语句 switch语句的一般形式 switch语句的工作过程是: 1.根据switch括号中的表达式从上至下查找与表达式的值匹配的case标号入口,执行case后的语句。 2.若没有匹配的case标号,则转到标号default:后的语句执行。否则跳出switch语句。 说明: 1.程序出现(不好归纳的情况)“意外”归入default:标号作

3、统一处理。 2.default可以在switch中任意位置。只要出现意外都会转到default执行。 3.break的作用:使程序流程跳出switch结构。 4.如果没有break语句:那么从匹配标号到switch结构结束,中间所有的语句均被执行一次。switch语句的工作过程是:注意:switch语句的书写格式: 1.语句体本身必须用花括号括起; 2.case和default后面如果有多条语句,不必使用花括号; 3.case和常量表达式之间必须有空格; 4.default可以写在语句体的任何位置,也可以省略不写允许switch嵌套使用,但同一个switch语句中,任意两个case的常量表达式

4、值不能相同。 注意:switch语句的书写格式:3思考:在switch语句中多个case可共用一组执行语句吗?如果可以,请写出下面程序的预期运行结果?并且对比上机调试结果。includestdio.hmain( ) char grade; printf(请输入成绩等级(A、B、C、D)n); grade=getchar( ); switch (grade) case A: case B: case C: printf(及格n);break; case D: printf (不及格n);break; default: printf(输入数据错误n);输入 A结果: 及格3思考:在switch语句

5、中多个case可共用一组执行语句执行下列程序,输入3后输出结果是。#include ”stdio.h”main() int k; scanf(”%d”, &k); switch(k) case 1: printf(”%dn”, k+); case 2: printf(”%dn”, k+); case 3: printf(”%dn”, k+); case 4: printf(”%dn”, k+); break; default: printf(”Full!n”); 34执行下列程序,输入3后输出结果是。3执行下列程序,输入5后输出结果是。#include ”stdio.h”main() int

6、k; scanf(”%d”, &k); switch(k) case 1: printf(”%dn”, k+); case 2: printf(”%dn”, k+); default: printf(”Full!n”); case 3: printf(”%dn”, k+); case 4: printf(”%dn”, k+); break; Full!56执行下列程序,输入5后输出结果是。Full!main ( ) int x=1,y=0,a=0,b=0;switch(x) case 1: switch (y) case 0 : a+ ; break ; case 1 : b+ ; break

7、 ; case 2:a+; b+; break;case 3:a+; b+; printf(“a=%d,b=%d”,a,b);a=2,b=1main ( )a=2,b=1main ( ) int x=1,y=0,a=0,b=0;switch(x) case 1: switch (y) case 0 : a+ ; break ; case 1 : b+ ; break ; break;case 2:a+; b+; break;case 3:a+; b+; printf(“a=%d,b=%d”,a,b);a=1,b=0main ( )a=1,b=0main ( ) int a=2,b=7,c=5;

8、 switch (a0) case 1: switch (b0) case 1: printf(“”); break ; case 2: printf(“!”); break ; case 0: switch (c=5) case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; default : printf(“&”); printf(“n”);*&main ( )*&main ( ) int x,c,m; float y;scanf(“%d”,&x);if ( )

9、c=-1;else c= ;switch (c) case 1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : y=10 ; break ; case 2 : case 3 : y=-0.5*x+20 ; break ; default : y=-2 ;printf (“y=%f”,y); 0 (x0) x (0=x10)y= 10 (10=x20) -0.5*x+20 (20=x=40)x0 x/10main ( ) 0 main ( ) int x,c,m; float y;scanf(“%d”,&x);if ( ) c=-1;else c=

10、 ;switch (c) case 1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : case 2: case 3: y=10 ; break ; case 4 : case 5: case 6: case 7 : y=-0.5*x+20 ; break ; default : y=-2 ;printf (“y=%f”,y); 0 (x0) x (0=x50)y= 10 (50=x200) -0.5*x+20 (200=x=400)x0 x/50main ( ) 0 任务六 分支的应用题目:商家为了促销,以打折吸引顾客,其打折情况如下:购买量5

11、0 原价销售50购买量100 打9折销售100购买量200 打8折销售购买量200 打7折销售编程实现:输入商品单价和购买量,求应缴付多少钱。任务六 分支的应用题目:商家为了促销,以打折吸引顾客,其打折任务六 分支的应用1分析:据题意可知,由购买量决定打折情况,变量r代表打折率,变量n代表购买量。(1)当n小于10时,r1.0。(2)当n介于10与50之间时,r0.9。(3)当n介于50与100之间时,r0.8。(4)当n大于100时,r0.7。因为有多个选择,故可使用if else if结构。任务六 分支的应用1分析:2由上述分析,填写下列流程图。n10n100r=1.0r=0.9r=0.7真假真假真假n50r=0.8任务六 分支的应用2由上述分析,填写下列流程图。n10n100r=1.0#includestdio.hmain( )int n; float price,money,r; printf(请输入商品购买量和单价:n);scanf(%f%f,&n,&price);if(n10)r=1.0;else if( )r=0.9;else if(n100) ;elser=0.7;money=price*r*n;printf (应缴付%f元钱n,money);n50r=0.83根据流程图,填写程序。4请记录上机调试结果:#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论