




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 2 8 1 第五章选择结构程序设计 李书涛list37 2020 2 8 2 目录 1if条件分支结构 2switch case开关语句 3选择结构的嵌套 4选择结构程序应用实例 5本章小结 第五章选择结构程序设计 2020 2 8 3 C程序 源文件1源文件2源文件3 源文件n 预处理命令函数1函数2 函数n 说明语句执行语句 main 最小编译单位 最小功能单位 必须具有一个主函数 1if条件分支结构 1if条件分支结构5 1 1C程序概述 2020 2 8 4 一个C程序由若干函数组成 程序中有且仅有一个主函数main 程序的运行从主函数开始 函数由函数名和函数体组成 函数体由说明语句和执行语句组成 C中执行语句有四类 说明语句表达式语句复合语句控制语句空语句 C程序的特点 1C语言程序基本结构 2020 2 8 5 结构化程序有三种基本结构 顺序结构 选择结构 循环结构 语句执行的顺序与程序书写的顺序一致 条件成立 执行A 否则 执行B 重复执行某组动作 结构 条件成立时 反复执行A 条件不成立 停止 重复执行动作A 当某一条件成立时 停止 5 1 2C程序的基本结构 2020 2 8 6 main inta b c a 5 b 6 c a b printf d c 程序执行的顺序和语句书写的顺序一致 有一个数据入口一个数据出口 基本结构 一 顺序结构 2020 2 8 7 条件 A B Y N 当条件满足时 执行语句A 否则 执行语句B 有一个数据入口一个数据出口 键盘输入一个整数 判断其正负 例 inta a a 0 if a 0 printf a为正数 elseprintf a为负数 语句A 语句B 打印a的值 二 选择结构 2020 2 8 8 Y N 求1 100的自然数之和 X 100 x 1S 0 语句 若条件满足 重复执行语句内容 否则 退出循环 条件 一个数据入口一个数据出口 s s x x x 1 语句 S 条件不满足 不执行任何语句 三 循环结构1 当型循环 2020 2 8 9 语句 N Y 求1 2 3 n 1000的最大的n 例 n 1 s 0 s s nn n 1 S 1000 n 1s 0 语句 不论条件是否满足 语句至少执行一次 2 直到型循环 s 1 2 3 n s 1000 2020 2 8 10 1if else条件语句2switch 开关语句3for 循环语句4while 循环语句5do while 循环语句6break间断语句7continue继续语句8goto转向语句9return返回语句 控制语句的作用在于控制程序的走向 流程 共有九种语句 条件 循环 多分支 函数 5 1 3流程控制语句 2020 2 8 11 5 1 4条件语句 if语句构成的条件结构是C的三种基本结构之一 用来确定给定的条件是否满足 所含条件一般是关系表达式或逻辑表达式 根据学生分数判断是否及格 根据学生分数如何进行分级 提出问题 自然语言 如果 那么 否则 C语言 分支语句 如何解决 2020 2 8 12 本节重点 if语句的基本格式带分支的条件语句多分支的条件语句if结构的嵌套 1 if语句的基本格式 if 表达式 语句功能 判断表达式的值 若为非0 执行语句 否则 跳过语句继续执行下一条语句 输出不及格的成绩main inta scanf d 一 if语句的三种基本形式 2020 2 8 13 格式 if 表达式 语句1else语句2 main inta scanf d N 条件 Y 语句2 语句1 功能 判断表达式的值 若为非0 执行语句1 否则执行语句2 2 带分支的条件语句 2020 2 8 14 求a和b两数中较大的一个数 main inta b max scanf d d max b max b Y N 格式一 假定a是较大的一个数 若b a 将b赋给max 程序举例格式一 2020 2 8 15 main inta b max scanf d d 求a和b两数中较大的一个数 a b max b Y N max a 格式二 程序举例格式二 2020 2 8 16 多分支 格式if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n 表达式1 表达式3 表达式2 语句1 语句2 语句3 语句n Y Y Y N N N 3 多分支的if结构 从键盘输入一个整数a 按其值的大小 输出a小于10 a大于10小于100 a大于100小于1000或a大于1000 程序举例 main inta scanf d 2020 2 8 18 5 当if后有多个执行语句时 必须用 将多个语句括起来 构成一个复合语句 而 之外不必有分号 多分支 1 if语句中进行条件判断的 表达式 必须用 括起来 且不可省略 2 条件后面不加分号 3 语句之后有分号 4 else不是语句 不能单独使用 有关if语句的说明 多分支 main intyear floatmoney rate total 本金 月利率 本利合计 printf Inputmoneyandyear scanf f d 程序举例 计算本利合计 2020 2 8 20 格式 if 表达式 if 表达式1 语句11else语句12elseif 表达式2 语句21else语句22 在一个if结构中 包含一个或多个if结构 判断表达式的值 若为非0 再判断表达式1的值 非0执行语句11 否则执行语句12 若表达式的值为0 再判断表达式2的值 非0执行语句21 否则执行语句22 功能 二 if语句的嵌套 2020 2 8 21 if语句的嵌套流程图 2020 2 8 22 在if语句的 语句1 或 语句2 中又包含着if语句 main intx y printf EnterintegerXandY scanf d d 表达式 if与else之间的匹配 else总是与同它最近的if相匹配 表达式1 注意 程序举例 判断两数的关系 嵌套 else if if else else else else if if if 程序举例 课堂作业 2020 2 8 24 格式 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 switch case开关语句 多重分支的条件语句switch 2switch case开关语句 2switch case开关语句5 2 1开关语句 多分支结构程序设计 例题 按照考试成绩输出百分制分数段 main chargrade scanf c 输入字母B 输出 70 8460 69 60Error printf 70 84 n printf 70 84 n break 程序举例 2020 2 8 26 2case后的每个常量表达式必须各不相同 说明 1括号内的表达式可以是int char 3case和default的位置是任意的 4每一个case之后应有一个以跳出switch 结构 break 间断语句 5每个case之后的执行语句可多于一个 但不必加 6允许几种case情况下执行相同的语句 不必每个都写case 注意事项 2020 2 8 27 语句1 常量1 计算表达式的值 break 语句2 常量2 break 语句n 1 有default Y N N N Y Y switch语句流程图 main floatx y charc doubler scanf f f c 当输入3 5 之后 r的值为8 000000 如果没有break语句 会顺序执行下面的r x y r x y r x y 则 最后的结果为 5 2 2程序分析 四则运算 例 输入年 月 计算该月有多少天 main intyear month days printf Enteryear 几个CASE执行相同的语句 跳出开关结构 处理 大 月 程序举例2 关系到如何判闰年 case4 case6 case9 case11 days 30 break case2 if year 4 0 判断是否为闰年 开关结构结束 处理 小 月 处理 平 月 程序举例2 续 2020 2 8 31 二 开关语句 基本形式 功能 要求 break的作用 和default的作用 一 if语句的基本形式 分支形式 多分支形式 以及嵌套形式else与if的匹配 三 需注意的问题 1 自增 自减作为if的条件时 边界条件的处理2 if中的复合语句 选择语句小结 2020 2 8 32 3选择结构的嵌套 3选择结构的嵌套 选择结构可以嵌套使用 如if elseif else结构实际上就是if语句的嵌套形式 当需要处理问题的判断条件更为复杂时 可以用各种结构形式的if语句中相互镶嵌 可以是一个 也可以是多个if语句 形成相应的层层嵌套 但注意嵌套关系不能交叉 2020 2 8 33 4选择结构程序应用实例 4选择结构程序应用实例应用实例流程图 输入两个整数 若它们的平方和大于100 则输出平方和百位以上的各数字 否则输出两个整数的和 对于一个整数 取前几位 百位以上 用除法 取后几位 百位以下 用取模运算 例如 当K 12345时 前三位 K 100 123 后两位 K 100 45 2020 2 8 34 main inta b c d printf Pleaseinputa b n scanf d d 输入 11 10输出 221 2输入 3 2输出 a b 5 应用实例程序 2020 2 8 35 选择结构程序应用实例 一 使用if形式的if语句来实现选择结构 main floatx y printf inputx scanf f 2020 2 8 36 二 使用if elseif else形式的if语句实现选择结构 main floatx y printf inputx scanf f 2020 2 8 37 三 使用嵌套的if语句实现选择结构 main floatx y printf inputx scanf f 2020 2 8 38 5本章小结 5本章小结 条件分支结构是程序设计流程控制的重要组成部分 其中简单的if分支结构可以实现一路流程的分支 if else两路分支结构可以实现二选一分支 if elseif else多路分支结构可以实现从多种情况条件中选择一路执行程序流程 条件运算符可以更加简洁地实现条件分支运算 而switch case开关语句能够方便清晰地实现多选一的程序流程执行 各种选择结构相互之间 根据逻辑上的需要可以分层嵌套 但是要注意层层匹配 不能交叉 上机与作业二 第三章选择结构的程序设计 必做题 x 5 600 N 6 编写程序 对输入的购买金额 输出顾客购买金额 实际支付的金额和返还的金额 2020 2 8 40 END 交作业注意事项 1 只收word文件 其它如txt文件或文件夹均退回重做 2 word文件名格式 如 080107011001 测控1班 徐鹏霖 作业2 doc3 作业内容 每道题都要有 题目 程序和运行结果 4 学号 班号 姓名 作业号 doc 先将程序编写在稿纸上 第5周上机调试运行得到正确结果 2020 2 8 41 TC上机补充说明 目前机房桌面上的TC快捷图标 其TC系统安装在D盘上 路径为 D TC2 1 O TC 因此需要修改TC环境菜单的Options
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度PECW工会安全知识竞赛题库及答案
- 绿色建筑施工工期承诺书范文
- 铁路安全总监职责要点
- 培训机构疫情防控管理制度范文
- 小学四年级道法教师教案计划
- 幼儿园家委会成员选举流程
- 财务部月度工作总结及计划
- 四年级班主任教学改革计划
- 2025民办学校师生交流促进计划
- 改性沥青混合料生产与摊铺方案
- 外墙面砖脱落维修施工方案
- 职业学校招生培训会
- 加油站安全风险分级管控信息台账(清单)
- 新材料研发流程管理规范
- 江苏省扬州市梅岭中学 2024-2025学年上学期八年级英语10月月考试卷
- 摩托制造成本效益分析
- 地理第一章 地球单元检测卷-2024-2025学年七年级地理上学期(2024)人教版
- 2024年九年级化学上册暑假提升讲义(沪教版)认识化学科学(解析版)
- 用户体验 智能座舱人机界面评测规范-意见征求稿-2024-07-技术资料
- 建筑工程资料承包合同范本
- DB14-T 2490-2022 集装箱式锂离子电池储能电站防火规范
评论
0/150
提交评论