




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 分支结构程序设计 n本章的学习重点 简单的if语句 if-else语句执行规则 嵌套的if-else语句 switch语句 break语句 嵌套的switch语句 5.1 结构化程序设计思想 n1976年,Niklaus Wirth 提出: 程序 = 算法 + 数据结构 n结构化程序设计的基本思想是: 1自顶向下 2逐步细化 3模块化设计 4结构化程序编码 结构化程序设计框架图 5.2 简单的if语句 nif语句有三种基本形式: if语句 if和else语句 嵌套if和else语句 n设计分支结构应注意如下问题: n1正确选择条件或逻辑表达式作为分支的判断条件。 n2根据需求绘制分支流程图。 n3按流程图编写程序。 5.2.1 if语句的定义 nif 语句的一般形式: if(表达式) 语句段 if语句的执行流程:如果表达式的值为真(非0),则执 行其后的语句段,否则不执行该语句。 If语句流程图: 5.2.1 if语句的定义 nif语句中的表达式可以是任何能转化为数值 的表达式,例如: if(100) if(a=b) if(a 应写成: if(0=a) a=-a; n 2语句段封装 不论语句段由一条语句还是多条语句构成,都使用大括 号封装。 实训5.1求一元二次方程的实根解 n键盘输入一元二次方程ax2+bx+c=0的三个参数a,b和c, 计算当判别式b2-4ac=0时的根,程序使用if语句判断是 否满足判别式条件,结果精确到小数点后3位。判别式可 计算为: sqrt_delta=sqrt(b2-4ac) 当sqrt_delta大于或等于0时方程有实根。因此,一元二次 方程的两个根分别为: x1=(-b+sqrt_delta)/2a x2=(-b-sqrt_delta)/2a n1需求分析: n需求1:键盘输入参数a, b, c的值 n需求2:判断判别式,确定方程是否有实根 n需求3:调用开根号数学函数sqrt,计算方程的根 n需求4:输出结果,精度为小数点后3位 实训5.1求一元二次方程的实根解 n2技术应用 n对于需求1,使用scanf函数输入参数a, b, c的值。 n对于需求2,使用if语句判断方程是否有实根,判断方 法为:if(b2-4ac=0)。 n对于需求3,由于要求精确到小数点后3位,采用数据 类型float型。 根据上述分析画出程序流程图: 源文件:CalculateFormulaRealRoot.c 5.3 多分支if语句 n多分支if语句又称为“if-else语句”,是由关键 字if和else构成的多分支结构语句。 nif-else语句的一般形式为: if(表达式) 语句段1 else 语句段2 if-else语句的执行规则为:若表达式的值为真(非0),则 执行语句段1,否则进入else分支,执行语句段2。 5.3.1 if-else语句的结构 nif-else语句的表达形式为: if(表达式) 语句段1 else 语句段2 nif-else语句的流程图: 5.3.1 if-else语句的结构 n范例5.2 CalculateAbstract.c 数学计算中,绝对值使用| |表示,本范例从键盘输入参数a的值,然后利用if-else语 句实现绝对值的计算,并打印信息显示数据符号是否发生 了变化。 n5.3.2 if-else语句的应用 n范例5.3 JudgeOddorEven.c 键盘输入int型参数a的值 ,判断其是否为偶数,若为偶数,则打印a为偶数信息, 若为奇数,则打印为奇数信息。利用模除(%)对a值是 否为偶数进行判断,使用if-else分支语句实现不同信息的 输出。 5.3.2 if-else语句的应用 n5.3.2 if-else语句的应用 n范例5.3 JudgeOddorEven.c 键盘输入int型参数a的值 ,判断其是否为偶数,若为偶数,则打印a为偶数信息, 若为奇数,则打印为奇数信息。利用模除(%)对a值是 否为偶数进行判断,使用if-else分支语句实现不同信息的 输出。 n范例5.4 JudgeLeapYearorNotWithIfElse.c 键盘输入 unsigned int型年份,判断其是否为闰年,若为闰年,则 打印为闰年信息,若为平年,则打印为平年信息。闰年的 判断方法是:若年数能被400整除,那么该年是闰年,若 能被4整除但不能被100整除,该年是闰年,其他年份都是 平年。 5.3.3 if-else-if语句的结构及应用 n当有多个分支选择时,可采用if-else-if语句 ,if-else-if类型结构语句的一般形式为: if(表达式1) 语句段1; else if(表达式2) 语句段2; else if(表达式3) 语句段3; else if(表达式m) 语句段m; else 语句段n; nIf-else-if 语句流程图: 5.3.3 if-else-if语句的结构及应用 n范例5.5 StudentScoreSet.c 学生成绩分为5个等级,分 别为:A: 90b,则输出 ab, 若a=0时,输出实数根, b2-4ac=0)。 n对于需求3,输出结果时根据实根和复数根的不同,输 出不同数据格式,如复数根应输出:m+ni和m=ni的形 式。 实训5.2求一元二次方程的复数根解 n一元二次方程求根流程图 n源代码:CalculateFormulaRoot.c 5.5 switch语句 nswitch语句的一般表达形式为: switch(表达式) case 常量表达式1: 语句段1; case 常量表达式2: 语句段2; case 常量表达式n: 语句段n; default: 语句段n+1; 5.5.1 switch语句的定义 nswitch语句的运行规则为: 计算表达式的值,顺次与其后的常量表达式值相比较 ,当表达式的值与某个常量表达式的值相等时,即执行其 后的语句段,语句段执行完毕后,不再进行判断,继续执 行后面所有case后的语句。 switch语句流程图: 5.5.1 switch语句的定义 n范例5.8 SwitchSentenceCase.c 键盘输入整型的星期数, 打印出英文的星期名字字符串,根据键盘输入的星期数, 打印出该星期数的英文名使用switch语句实现,输入函数使 用scanf函数,星期一记为1,星期天记为7。例如,输入2 ,应打印Tuesday。 5.5.2 break语句 n为避免程序在switch语句中持续执行case语 句,可以使用break语句 ,switch语句中添 加break语句的流程图: 5.5.3 switch语句的执行与应用 n范例5.9 SwitchSentenceWithBreak.c 键盘输入学生成绩 ,分段显示不同成绩段的优劣: 90=score=100为excellence 80=score90为all right 70=score80为midding 60=score70为pass score60为bad 实训5.3使用switch语句实现四则运算 n键盘输入四则运算式,通过switch语句分支执行+, -, *, /的 四则运算,结果精确到小数点后3位。 例如,输入4.5-6,将输出结果:4.5-6=-1.5。程序只 能实现简单的四则运算,不能实现复合四则运算,输入参 数采用float型,使用switch语句做四则运算的分支程序。 n1需求分析: n需求1:键盘输入四则运算式需求2:switch语句作分支 判断四则运算 n需求3:输出结果,精度为小数点后3位 n2技术应用 n对于需求1,使用scanf函数输入四则运算表达式。 n对于需求2,使用switch语句对各四则运算作分支处理。 n对于需求3,采用float型输出精确到小数点后3位结果。 源代码:CalculateFormulaProcess.c 5.6 嵌套switch语句 n嵌套的switch语句是指在一个switch语句中某个case下会再 嵌入一个或多个switch语句 嵌套switch语句的一般表达形式: switch(表达式1) case常量表达式1: switch(表达式2) case 常量表达式 11: 语句段11 case 常量表达式12: 语句段12 case 常量表达式1m: 语句段1m default: 语句段1m+1 case常量表达式2: 语句段2; case常量表达式n: 语句
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水性油墨市场前景分析报告
- 建筑方案设计的时间节点
- 咨询电摩智能方案
- 公务员考试题及答案诗词
- 幼儿园教师教学技能提升培训计划
- 甲供材料验收及交接管理办法
- 2024年届九年级化学下册 第八单元 金属和金属材料 8.3 金属资源的利用和保护说课稿 (新版)新人教版
- 高中政治 第06课 第01节 源远流长的中华文化说课稿(必修3)
- 4 我们的衣食之源教学设计-2025-2026学年小学道德与法治四年级下册统编版(五四学制)
- 银行客户数据分析及应用方法
- 临床三基培训课件
- 【人教版化学】选择性必修1 知识点默写小纸条(空白默写版)
- 2024-2030年中国沙拉汁市场面临的发展商机及投资竞争力分析报告
- 高中英语新课标3000词汇表
- 体育训练安全应急预案
- 《航空保险》课件
- 《欧洲联盟》课件
- 肺部感染与抗生素使用课件
- 脊柱侧弯中医治疗
- 简化版房屋租赁合同模板
- IEC 62368-1标准解读-中文
评论
0/150
提交评论