【教学课件】第四章选择分支结构.ppt

上传人:牧羊曲112 文档编号:5665332 上传时间:2023-08-07 格式:PPT 页数:38 大小:369KB
返回 下载 相关 举报
【教学课件】第四章选择分支结构.ppt_第1页
第1页 / 共38页
【教学课件】第四章选择分支结构.ppt_第2页
第2页 / 共38页
【教学课件】第四章选择分支结构.ppt_第3页
第3页 / 共38页
【教学课件】第四章选择分支结构.ppt_第4页
第4页 / 共38页
【教学课件】第四章选择分支结构.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《【教学课件】第四章选择分支结构.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第四章选择分支结构.ppt(38页珍藏版)》请在三一办公上搜索。

1、第4章 选择结构C程序设计,选择结构是三种基本结构之一,大多数程序中都会 包含有选择结构。它的作用是:根据所指定的条件是否 满足来决定所要执行的操作。在本章中,将介绍几种能实现判断、选择的语句以 及如何利用这些语句来实现选择结构的 C 程序设计。,if 语句是用来判断所给定的条件是否满足,根据判定 的结果(真或假)来决定执行给出的两种操作之一。,语句功能:,当表达式的值为真(即非零值)时,执行该语句。,4.1 if 语句,语句格式1:,if(表达式)语句;,为任意表达式,只为一条语句否则可为复合语句,输入a与b两个值,若ab则 输出a。请根据程序流程图 编写代码.,EXAMPLE4-1:,Be

2、gin,End,输出a,输入a,b,ab,T,F,main()int a,b;scanf(“%d,%dn”,关系表达式,main()char a,b,c;a=x;b=b;if(a=b)0)c=a;printf(“%dn”,c);,赋值表达式,EXAMPLE4-2:,Begin,输入a,b,c,ab,F,t=a a=bb=t,T,输入a,b,c 三个值,请按其值从 大到小排序并输出。,EXAMPLE4-3:,main()int a,b,c,t;scanf(“%d,%d,%d”,Begin,a,b,c,ab,F,t=a a=b b=t,T,End,ac,F,t=a a=c c=t,T,bc,F,t

3、=b b=c c=t,T,a,b,c,main()int a,b,c;a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(“a=%d b=%d c=%dn”,a,b,c);,a,10,b,c,30,50,30,10,EXAMPLE4-4:,main()int a,b,c;a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(“a=%d b=%d c=%dn”,a,b,c);,EXAMPLE3-3:,注,意,问,题,if 表达式 语句;,main()int a,b,c;a=10,b=50,c=30;if(ab)a=b;b=c;c=a;prin

4、tf(“a=%d b=%d c=%dn”,a,b,c);,main()int a,b,c;a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(“a=%d b=%d c=%dn”,a,b,c);,main()int a,b,c;a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(“a=%d b=%d c=%dn”,a,b,c);,a=10 b=50 c=30,a=10 b=30 c=10,a=10 b=50 c=30,语句功能:,当表达式的值为真(即非零值)时,执行该语句1否则执行语句2。,语句格式2:,if(表达式)语句1;else 语句

5、2;,输入a与b两个值,若ab则 输出a,否则输出b。,EXAMPLE4-5:,main()int a,b,m;scanf(“%d,%d”,main()int a,b;scanf(“%d,%d”,语句功能:,语句格式3:,if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n;,(else if 结构)用于实现多分支情况的处理。即在多个分支中仅执行表达式为非0 值的那个if下的语句;若所有表达式都是0值,则执行最后一个else 下的语句。,main()int g;scanf(“%d n”,EXAMPLE4-6:,请用 if/else-if

6、格式设计并实现求解下列问题的算法:,HOMEWORK4-1:,main()int x;float y;scanf(“%dn”,EXAMPLE3-3:,注,意,问,题,if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n;,1、if/else if 的书写格式,EXAMPLE3-3:,注,意,问,题,if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n;,EXAMPLE3-3:,if(x0);y=x;,if(ab)a=b,b=c,c=a;,I dont understand.,if(a

7、b)a=b,b=c,c=a;,逗号表达式,EXAMPLE3-3:,注,意,问,题,int x=1,y=2,z=3;if(x=y+z)printf(“*”);else printf(“#”);,2、“=”与“=”的差别,*,int x=1,y=2,z=3;if(x=y+z)printf(“*”);else printf(“#”);,#,main()int a,b,c,x;a=b=c=0;x=35;if(!a)x-;else if(b);if(c)x=3;else x=4;printf(“%dn”,x);,x,35,34,EXERCISES4-1:,4,在书店买书,以100 本为限。如果买1本不打

8、折扣;买2本打折10%;买3本折扣为15%买3 本以上折扣为20%。设书本数为x,单价为20.00元。请用程序流程图描述算法,用C实现算法。,HOMEWORK4-2:,语句格式4:,if(表达式)if(表达式1)语句1;else 语句2;else if(表达式2)语句3;else 语句4;,(if 的嵌套结构),NOTE:在多个 if-else 嵌套中,else-if 配对关系 不能弄错。一个 else 应与它最近的一个且没 有其它 else 配对的 if 组成配对关系。,main()int x;float y;scanf(“%dn”,-1(x0),EXAMPLE4-7:,main()int

9、x,a,b,ok1,ok2;x=100;a=10;b=20;ok1=5;ok2=0;if(ab)if(b!=15)if(!ok1)x=1;printf(“x=%dn”,x);else if(ok2)x=10;x=-1;printf(“x=%dn”,x);,EXAMPLE4-8:,请写出下列源程序的运行结果,x,100,-1,switch 语句是用来判断所给定的是多种条件的情 况,可根据判定的结果(真或假)来决定执行哪些语句。,4.2 switch 语句,语句格式:,switch(表达式)case 常量表达式1:语句组1;break;case 常量表达式2:语句组2;break;case 常量表

10、达式n:语句组n;break;default:语句组n+1;,说明:,1、表达式:整型或字符型,2、语句组:一条语句或复合语句;,EXAMPLE4-9:,请设计C语言源程序,根据输入学生的成绩,则输出应是该成绩所对应的等级。,90-100 80-89 70-79 60-69 0-59,Input g,A B C D E,Output,main()int g;scanf(“%dn”,switch(),g/10,case 10:case 9:printf(“An”);break;case 8:printf(“Bn”);break;case 7:printf(“Cn”);break;case 6:p

11、rintf(“Dn”);break;default:printf(“En”);,main()int g;char ch;scanf(“%dn”,请设计一个数制转换的C语言源程序。要求:能进行如下的数制转换。,10 进制转换为 16 进制;16 进制转换为 10 进制;10 进制转换为 8 进制;8 进制转换为 10 进制;,Can I help you?,HOMEWORK4-3:,进制转换 菜单 1、10 进制转换为 16 进制;2、16 进制转换为 10 进制;3、10 进制转换为 8 进制;4、8 进制转换为 10 进制;请输入您的选择:再输入转换数据:,12,1,C,main()int

12、num,x;printf(“n(1)10-16n”);printf(“(2)16-10 n”);printf(“n(3)10-8 n”);printf(“(4)8-10 n”);printf(“n 请输入您的选择(1-4):n”);scanf(“%d n”,switch(num)case 1:scanf(“%d”,请设计一个能完成两个数的四则运算的 C语言源程序。,HOMEWORK4-4:,main()float x,y;char op;scanf(“%d,%c,%d”,EXAMPLE3-3:,注,意,问,题,1、switch(表达式),main()float x;scanf(“%fn”,ma

13、in()char x;scanf(“%cn”,EXAMPLE3-3:,注,意,问,题,2、break,main()char ch;switch(ch=getchar()case a:printf(“A”);case b:printf(“B”);case c:printf(“C”);case d:printf(“D”);,ABCD,BCD,main()char ch;switch(ch=getchar()case a:printf(“A”);break;case b:printf(“B”);break;case c:printf(“C”);break;case d:printf(“D”);bre

14、ak;,EXAMPLE3-3:,Summary,Important points:,if 语句,switch语句,if,if(表达式)语句;,if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n;,if(表达式)语句1;else 语句2;,if(表达式)if(表达式1)语句1;else 语句2;else if(表达式2)语句3;else 语句4;,switch,switch(表达式)case 常量表达式1:语句组1;break;case 常量表达式2:语句组2;break;case 常量表达式n:语句组n;break;default:语句组n+1;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号