已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章 选择结构程序设计 本章要点 关系表达式逻辑表达式选择结构程序设计 5 3if语句 一 if语句的三种基本形式 1 if 表达式 语句例 if x y printf d x 5 3if语句 续 2 if 表达式 语句1else语句2例 if x y printf d x elseprintf d y 5 3if语句 续 3 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 elseif 表达式m 语句melse语句n 5 3if语句 续 例 if number 500 cost 0 15 elseif number 300 cost 0 10 elseif number 100 cost 0 075 elseif number 50 cost 0 05 elsecost 0 5 3if语句 续 说明 1 3种形式的if语句中在if后面都有表达式 一般为逻辑表达式或关系表达式 2 第二 第三种形式的if语句中 在每个else前面有一个分号 整个语句结束处有一个分号 3 在if和else后面可以只含有一个内嵌的操作语句 也可以由多个操作语句 此时用花括号将几个语句括起来成为一个复合语句 5 3if语句 续 例5 1输入两个实数 按代数值由小到大的顺序输出这两个数 includevoidmain floata b t scanf f f 5 3if语句 续 例5 2输入三个数a b c 要求按由小到大的顺序输出 ifa b将a和b对换ifa c将a和c对换ifb c将b和c对换 5 3if语句 续 includevoidmain floata b c t scanf f f f 5 3if语句 续 二 if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套 形式 if if 语句1else语句2elseif 语句3else语句4 内嵌if 5 3if语句 续 匹配规则 Else总是与它上面的 最近的 同一复合语句中的 未配对的if语句配对 例 if if 语句1elseif 语句2else语句3 例 if if 语句1 elseif 语句2else语句3 当if和else数目不同时 可以加花括号来确定配对关系 5 3if语句 续 1 x0 算法1 算法1 输入x输入x若x0 则y 1若x 0 则y 0输出y若x 0 则y 1输出y 5 3if语句 续 includevoidmain intx y scanf d 5 3if语句 续 上例中的程序段有四个 请判断哪个是正确的 程序1 程序2 if x 0 Y 1 if x 0 y 1 elseelsey 0 if x 0 y 0 elsey 1 elsey 1 程序3 程序4 Y 1 y 0 if x 0 if x 0 if x 0 y 1 if x 0 y 1 elsey 0 elsey 1 正确 正确 问1 若有程序段如下 a b c 0 x 35 if a x elseif b if c x 3 elsex 4 执行后 变量x的值是 A 34B 4C 35D 3 答 B 问2 运行下列程序段后x的值是inta b c d a 1 b 7 c 15 d 10 if a b x if c d x 1 elseif a c if b d x 2elsex 3 elsex 6 elsex 7 A 1B 2C 6D 7 答 B 问3 以下程序的输出结果是 includevoidmain inta 1 b 1 k if a 0 A 11B 01C 10D 00 答 C 问4 以下程序的输出结果是 includevoidmain inta b c d x a c 0 b 1 d 20 if a d d 10 elseif b if c x 15 elsex 25 printf d n d A 20 B 25 C 15 D 10 答 A 5 3if语句 续 三 条件运算符格式 表达式 表达式 表达式 功能 判断表达式1的值 如果成立就执行表达式2 否则就执行表达式3使用场合 若在 语句中 当被判别的表达式的值为 真 或 假 时 都执行一个赋值语句且向同一个变量赋值时 可以用一个条件运算符来处理 5 3if语句 续 例 当a b时将a的值赋给max 当a b时将b的值赋给max 可以看到无论a b是否满足 都是向同一个变量赋值 可以用下面的条件运算符来处理 5 3if语句 续 说明 1 条件运算符的执行顺序 先求解表达式 若为非 真 则求解表达式 此时表达式 的值就作为整个条件表达式的值 若表达式 的值为 假 则求解表达式 表达式 的值就是整个条件表达式的值 2 条件运算符优先级高于赋值运算符 低于关系运算符和算术运算符 3 条件运算符的结合方向为 自右至左 4 表达式2 和 表达式3 不仅可以是数值表达式 还可以是赋值表达式或函数表达式 5 条件表达式中 表达式 的类型可以与表达式 和表达式 的类型不同 5 3if语句 续 例5 4输入一个字符 判别它是否大写字母 如果是 将它转换成小写字母 如果不是 不转换 然后输出最后得到的字符 includevoidmain charch scanf c 如果字符变量ch的值为大写字母 则条件表达式的值为 即相应的小写字母 如果ch的值不是大写字母 则条件表达式的值为 即不进行转换 5 4switch语句 switch语句的格式 表达式 常量表达式 语句 常量表达式 语句 常量表达式 语句 语句 5 4switch语句 续 例 要求按照考试成绩的等级输出百分制分数段 用switch语句实现 5 4switch语句 续 说明 后面括弧内的 表达式 标准允许它为任何类型 2 当表达式的值与某一个 后面的常量表达式的值相等时 就执行此 后面的语句 若所有的 中的常量表达式的值都没有与表达式的值匹配的 就执行 后面的语句 3 每一个 的常量表达式的值必须互不相同 否则就会出现互相矛盾的现象 对表达式的同一个值 有两种或多种执行方案 5 4switch语句 续 4 各个 和 的出现次序不影响执行结果 例如 可以先出现 再出现 然后是 5 执行完一个 后面的语句后 流程控制转移到下一个 继续执行 常量表达式 只是起语句标号作用 并不是在该处进行条件判断 在执行 语句时 根据 后面表达式的值找到匹配的入口标号 就从此标号开始执行下去 不再进行判断 应该在执行一个 分支后 可以用一个 语句来终止switch语句的执行 6 多个 可以共用一组执行语句 问1 如下程序的输出结果是 includevoidmain intx 1 a 0 b 0 switch x case0 b case1 a case2 a b printf a d b d n a b A a 2 b 1B a 1 b 1C a 1 b 0D a 1 b 2 答 A 5 5程序举例 例5 5写程序 判断某一年是否闰年 图5 13表示判断闰年的算法 5 5程序举例 续 includevoidmain intyear leap scanf d 运行情况 5 5程序举例 续 例5 6求 方程的解 基本的算法 不是二次方程 有两个相等实根 有两个不等实根 有两个共轭复根 5 5程序举例 续 include includevoidmain floata b c disc x1 x2 realpart imagpart scanf f f f 5 5程序举例 续 elseif disc 1e 6 x1 b sqrt disc 2 a x2 b sqrt disc 2 a printf hasdistinctrealroots 8 4fand 8 4f n x1 x2 else realpart b 2 a imagpart sqrt disc 2 a printf hascomplexroots n printf 8 4f 8 4fi n realpart imagpart printf 8 4f 8 4fi n realpart imagpart 5 5程序举例 续 例5 7运输公司对用户计算运费 路程 越远 每公里运费越低 标准如下 没有折扣 折扣
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陇东学院《数据挖掘A》2024-2025学年第一学期期末试卷
- 遵义医药高等专科学校《机械工程实训》2024-2025学年第一学期期末试卷
- 岩土蒙脱石含量试验记录
- 2026届浙江省高三一模高考化学模拟试卷试题(含答案详解)
- 文学理论与研究方法
- 结业论文规范化要求
- 材料管控方案
- 毕业论文的研究局限与改进建议
- XXXX届毕业论文(设计)质量检查评分及评价表001
- 个人发言提纲问题原因剖析
- 2025年江苏省公考《申论》(C卷)题及参考答案
- 6建筑工程的消防专项施工设计方案
- 2025年模拟电子技术考试题库及答案1
- 成都七中万达学校高一上化学半期考试试卷
- 2025医疗机构志愿者服务体系管理与社会责任履行报告
- 江西省九校2025-2026学年高三上学期11月期中考试英语试卷(含答案)
- 学堂在线 研究生学术与职业素养讲座 章节测试答案
- Opera、绿云、西软、中软酒店管理系统对比分析
- 医疗质量核心制度汇编
- 煤矿矿井废水处理设计方案
- 列管式换热器课程设计
评论
0/150
提交评论