4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)

2024-08-11
| 43页
| 100人阅读
| 18人下载
普通

内容正文:

第三章 程序设计的三大结构 --分支结构 1 C语言 知识树 My First Template CONTENTS 目录 01 02 分支结构的嵌套 分支结构的应用 03 多分支结构的应用 04 多分支switch结构的应用 分支结构的嵌套 C语言程序设计 4 C语言程序设计—分支结构的嵌套 C语言 任务回顾 分支结构的应用 —输入1个年份,判断是否为闰年。 闰年 #include <stdio.h> void main() { int year; printf(" 请输入年份:"); scanf("%d",&year); if((year % 4 ==0 && year % 100 != 0) || (year % 400 == 0)) { printf(" %d 年是闰年 ", year); } else { printf(" %d 年不是闰年 ", year); } } 任务实现 如果(条件1或者条件2) { 则输出该年份是闰年 } 否则 { 则输出该年份是平年 } 自然语言 My First Template 条件1:普通年能被4整除且不能被100整除的 条件2:世纪年能被400整除的是闰年 C语言 我该走哪条路? 多分支 多分支 C语言程序设计—分支结构的嵌套 My First Template C语言 本次任务 学生BMI 计算器 输入1个学生身高、体重判断健康指数 C语言程序设计—分支结构的嵌套 My First Template CONTENTS 内容 01 02 相关知识 03 任务完成与总结 任务分析 C语言 任务分析 分支结构的嵌套—任务分析 学生健康指数(BMI)检测 —输入1个学生身高、体重判断健康指数。 1、信息采集 2、核心算法 3、流程结构 4、信息输出 程序框架 获取身高、体重 输出健康指数 (偏瘦、正常、微胖或者肥胖) bmi=体重(kg)/身高2(m) 单分支、双分支、 分支嵌套 体重(kg)/身高(m)的平方 <18.5 偏瘦 体重(kg)/身高(m)的平方 >=18.5且<24.0 正常 体重(kg)/身高(m)的平方 >=24.0且<27.0 微胖 体重(kg)/身高(m)的平方 >=27.0 肥胖 My First Template C语言 分支语句的嵌套 如果(条件) { 如果(条件) 语句1; 否则 语句2; } 否则 { 如果(条件) 语句3; 否则 语句4; } 自然语言的分支嵌套 如果(条件) { 语句1; } 否则 { 语句2; } 自然语言的分支 分支结构的嵌套—任务分析 My First Template C语言 格式一: if( ) if( )语句1 else语句2 else if()语句3 else 语句4 格式二: if () { if()语句1 } else if()语句2 else 语句3 分支语句的嵌套 缺省{ }时,else总是和它上面离它最近的未配对的if配对 注意if与else 的配对关系。 分支结构的嵌套—相关知识 My First Template C语言 例: if (a= =b) if(b= =c) printf(“a==b==c”); else printf(“a!=b”); 修改: if (a= =b) if(b= =c) printf(“a==b==c”); else printf(“a!=b”); 缺省{ }时,else总是和它上面离它最近的未配对的if配对 实现if ~ else 正确配对方法:加{ } { } if ~ else 配对原则 分支结构的嵌套—相关知识 My First Template C语言 任务再分析 如果(bmi<18.5) { 输出偏瘦 } 否则 { 如果(bmi<24.0) 输出正常; 否则 { 如果(bmi<27.0) 输出微胖; 否则 { 输出肥胖; } } } 自然语言的分支嵌套 学生健康指数(BMI)检测 —输入1个学生身高、体重判断健康指数。 体重(kg)/身高(m)的平方 <18.5 偏瘦 体重(kg)/身高(m)的平方 >=18.5且<24.0 正常 体重(kg)/身高(m)的平方 >=24.0且<27.0 微胖 体重(kg)/身高(m)的平方 >=27.0 肥胖 分支结构的嵌套—任务再分析 My First Template C语言 任务实现 0--18.4 18.5--∞ 18.5—23.9 24.0—∞ 24.0—26.9 27.0—∞ 分支结构的嵌套—任务实现 My First Template C语言 小组 BMI健康指数管理系统 写任务 小组 输入学生成绩划分等级 用任务 根据出生年份判断多名学生属相 读任务 个人 布置任务 分支结构的嵌套—布置任务 My First Template 总结 1. 提出任务(BMI计算器) 2. 任务分析(单双分支无法实现) 3. 相关知识(分支嵌套) 4. 任务实现(边界与分段) 多分支结构的应用 C语言程序设计 17 C语言程序设计—多分支结构的应用 C语言 分支结构回顾 条件 语句 N Y 条件 语句块1 语句块2 Y N if (<条件>) <语句块> 单分支 if (<条件>) { <语句块1 > } else { <语句块2 > } 双分支 My First Template C语言 本次任务 输入1个学生成绩根据分数段划分等级 C语言程序设计—多分支结构的应用 My First Template CONTENTS 内容 01 02 相关知识 03 任务完成与总结 任务分析 C语言 任务分析 百分变等级 —输入1个学生成绩,为其划分等级。 大于等于90分 A 大于等于80分小于90分 B 大于等于60分小于80分 C 小于60分 D A C C D D B 多分支结构的应用—任务分析 My First Template C语言 分支语句的嵌套 如果(条件) { 如果(条件) 语句1; 否则 语句2; } 否则 { 如果(条件) 语句3; 否则 语句4; } 自然语言的分支嵌套 如果(条件) { 语句1; } 否则 { 语句2; } 自然语言的分支 多分支结构的应用—相关知识 My First Template C语言 格式一: if( ) if( )语句1 else语句2 else if()语句3 else 语句4 格式二: if () { if()语句1 } else if()语句2 else 语句3 分支语句的嵌套 缺省{ }时,else总是和它上面离它最近的未配对的if配对 注意if与else 的配对关系。 多分支结构的应用—相关知识 My First Template C语言 多分支结构 如果(条件1) { 语句1; } 否则 如果(条件2) { 语句2; } 否则 如果(条件3) { 语句3; } 否则 { 语句4; } 自然语言 if (表达式1) 语句 1 else if(表达式2) 语句2 else if(表达式3) 语句3 else 语句4 C语言的多分支 多分支结构的应用—相关知识 My First Template C语言 表达式1 语句1 表达式2 语句2 表达式3 语句3 语句4 T F F F T T 多分支流程结构 多分支结构的应用—相关知识 My First Template C语言 任务实现 90--100 80—89 60—79 0—59 多分支结构的应用—任务实现 My First Template C语言 grade>=90 A grade>=80 B >=60 C D T F F F T T 任务流程结构 多分支结构的应用—任务实现 My First Template C语言 个人 输入学生成绩划分等级 写任务 小组 BMI健康指数管理系统 用任务 个人所得税征收系统 读任务 个人 布置任务 多分支结构的应用—布置任务 My First Template 总结 1. 提出任务(百分变等级) 2. 任务分析(分支嵌套解决麻烦) 3. 相关知识(多分支结构) 4. 任务实现(边界与分段) 多分支结构(Switch)的应用 C语言程序设计 30 C语言 C语言程序设计—多分支结构switch的应用 程序:为了使用计算机解决某些问题而编写的一系列有序指令的集合。 解决问题 计算机中的程序 My First Template C语言 学生健康指数检测 —输入1个学生身高、体重判断健康指数。 任务回顾 体重(kg)/身高(m)的平方 <=18.4 偏瘦 体重(kg)/身高(m)的平方 18.5-23.9 正常 体重(kg)/身高(m)的平方 24.0-27.9 微胖 体重(kg)/身高(m)的平方 >=28.0 肥胖 0--18.4 18.5--∞ 18.5—23.9 24.0—∞ 24.0—26.9 27.0—∞ C语言程序设计—多分支结构switch的应用 My First Template C语言 学生健康指数检测 —输入1个学生身高、体重判断健康指数。 任务回顾 体重(kg)/身高(m)的平方 <=18.4 偏瘦 体重(kg)/身高(m)的平方 18.5-23.9 正常 体重(kg)/身高(m)的平方 24.0-27.9 微胖 体重(kg)/身高(m)的平方 >=28.0 肥胖 0--18.4 18.5—23.9 24.0—26.9 27.0—∞ C语言程序设计—多分支结构switch的应用 My First Template C语言 本次任务 输入1个人的出生年份判断其属相 C语言程序设计—多分支结构switch的应用 My First Template CONTENTS 内容 01 02 相关知识 03 任务完成与总结 任务分析 C语言 任务分析 1、信息采集 2、核心算法 3、流程结构 4、信息输出 程序框架 获取出生年份 输出属相 出身年份%12 分支嵌套 属相判断 —输入1个人的出生年份判断其属相。 年份%12余0 猴 年份%12余6 虎 年份%12余1 鸡 年份%12余7 兔 年份%12余2 狗 年份%12余8 龙 年份%12余3 猪 年份%12余9 蛇 年份%12余4 鼠 年份%12余10 马 年份%12余5 牛 年份%12余11 羊 多分支switch语句 可以用分支的嵌套实现,C语言又提供了另外一种方式 多分支结构switch的应用—任务分析 My First Template C语言 printf(“这是迈克尔,身高 180cm,加利福尼亚第 12 大街”); printf(“这是丹尼尔,身高 193cm,现居住地不明,2016 年 12 月 12 日在佛罗里达被捕”); printf(“这是吉姆,身高 175cm, 墨西哥州海鸥路弗罗拉公寓,于 2017 年 9 月 19 日在新泽西因抢银行被捕”); default: printf(“未发现匹配项。对不起!”); 停止搜索 停止搜索 停止搜索 停止搜索 警察记录 嫌疑犯照片 不是 这是吉姆,身高 175cm, 墨西哥州海鸥路弗罗拉公寓, 于 2017 年 9 月 20日在新泽西因抢银行被捕 不是 是 Switch语句 多分支结构switch的应用—相关知识 My First Template C语言 一般形式: switch ( 表达式 ) { case 常量表达式1: 语句1 break; case 常量表达式2: 语句2 break; … … case 常量表达式n: 语句n break; default: 语句n+1 break; } 整型或字符型 各常量表达式值不能相等 Switch语句 switch语句的功能就是计算switch后面的括号内的表达式的值,并逐一和case后面的常量比较,等于哪个常量表达式的值就执行对应语句,不等于任何case的值就执行default后面的语句。     多分支结构switch的应用—相关知识 My First Template C语言 输出 “猴” 输出 “error” 输出 “…” year%12 输出 “狗” 输出 “鸡” 其他 ‘…’ ‘2’ ‘1’ ‘0’ Switch语句执行流程 多分支结构switch的应用—相关知识 My First Template C语言 如: …… case ‘A’: case ‘B’ : case ‘C’ :printf(“我是一个好人 ”);break; default …….. 多个case可共用一组执行语句。 default的功能:当所有的常量表达式的值都不能和switch后的表达式的值匹配时,就执行default后面的语句。 break的作用:跳出switch语句。 Switch语句说明 多分支结构switch的应用—相关知识 My First Template C语言 任务实现 多分支结构switch的应用—任务实现 My First Template C语言 小组 根据出生年份判断多名学生属相 写任务 小组 输入学生成绩划分等级 用任务 读任务 个人 布置任务 BMI健康指数管理系统 多分支结构switch的应用—布置任务 My First Template 总结 1. 提出任务(判断属相) 2. 任务分析(除分支嵌套有其他实现) 3. 相关知识(switch语句) 4. 任务实现(逐个比较) $$

资源预览图

4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
1
4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
2
4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
3
4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
4
4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
5
4.4分支结构的嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。