c语言选择结构 讲解

上传人:f****u 文档编号:128448455 上传时间:2020-04-21 格式:PPT 页数:42 大小:337KB
返回 下载 相关 举报
c语言选择结构 讲解_第1页
第1页 / 共42页
c语言选择结构 讲解_第2页
第2页 / 共42页
c语言选择结构 讲解_第3页
第3页 / 共42页
c语言选择结构 讲解_第4页
第4页 / 共42页
c语言选择结构 讲解_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《c语言选择结构 讲解》由会员分享,可在线阅读,更多相关《c语言选择结构 讲解(42页珍藏版)》请在金锄头文库上搜索。

1、1 选择结构程序设计 2 一 什么叫 选择 二 在C中选择结构的表现形式三 关系运算 与 逻辑运算 四 选择结构的使用实例五 总结 疑问 常见错误 主要内容 3 从小学时代 语文课的造句练习 如果 就 英语学习中单词 if then 一 什么叫 选择 4 生活中的 选择 体育课排队中位置的选择第一次排队来了新人的排队大学的选择 高考分数 学校知名度 兴趣 就业前景 风险 招生数量 竞争人数 5 生活中的 选择 道路上的选择道口分类 三岔口 十字路口 五道口 N道口选择的依据 目的地 道路 畅通性 6 讲座选择结构程序设计 生活中的 选择 领导要求 明天上午10点钟到北京清华大学参加会议 后天回

2、校参加选举会 你怎么办 交通工具的选择 飞机 火车 汽车 7 讲座选择结构程序设计 总结 依据某些条件实现 达到 某个目标的情况处理称为选择 因此首先必须知道 条件 然后是使用适当的处理方式 选择的必要条件 条件 8 讲座选择结构程序设计 在C中选择结构的表现形式 一般称为if语句switch语句可以从不同的角度去观察分析这两个语句 二 在C中 选择结构 的表现形式 9 讲座选择结构程序设计 1从词义看 if语句switch语句 10 选择结构 单分支 双分支 if 表达式 语句 多分支 if 表达式 语句 else语句 if 表达式1 语句 elseif 表达式 语句 else语句n if语

3、句的嵌套 switch语句 讲座选择结构程序设计 2从分支看分为三种分支 11 if 表达式 语句 switch 表达式 case 讲座选择结构程序设计 3从一般形式的角度分两种 基本结构 选择标识符 表达式 语句 你注意到与前面第一部分的介绍有什么不同吗 表达式 12 讲座选择结构程序设计 关于表达式的定义 表达式由运算符 常量及变量构成 C语言的表达式基本遵循一般代数规则 虽然进一步细分 又分为算术表达式 关系表达式 赋值表达式 有几点却是与C语言紧密相关的需要注意 1 类型转换2 复合运算的使用 13 讲座选择结构程序设计 根据给定的条件判断决定要执行的操作 单选择 语句格式 if 表达

4、式 语句 例 if a b x a if语句的使用 14 举例 讲座选择结构程序设计 includevoidmain floata b t 0 scanf f f 3 4 if a b t a a b b t 3 00 4 00 当某些语句作为一个整体出现的时候 必须是复合语句的形式 15 讲座选择结构程序设计 if语句中对于表达式的要求 1 对表达式的类型没有任何要求2 使用的是表达式的结果值3 这个结果值若非0 则都作为 真 处理 4 针对上一条 对float类型的结果要格外注意 16 讲座选择结构程序设计 switch语句的使用 格式 switch 表达式 case常量表达式 语句序列

5、case常量表达式 语句序列 case常量表达式n 语句序列n default 语句序列n 1 17 讲座选择结构程序设计 switch语句中注意的问题 1 规则上对表达式的类型没有任何要求 但实际使用中一般采用结果为整形或字符型的表达式 或者是与常量表达式类型一致的表达式 2 使用的是表达式的结果值与常量表达式 等于 的比较结果 3 要注意case的执行顺序的影响 18 讲座选择结构程序设计 在班级排队中排队的依据是 相互之间身高 的差异 在三角形构成判定定理中要求 任意两边之和大于第三边 因此两个对象 量 之间不仅可以实施算术运算 还存在一定的 关系 小学时就知道 a b是否成立要看具体值

6、 在C语言中称之为关系运算 三 关系运算 与 逻辑运算 19 运算定义 运算符号 运算对象 讲座选择结构程序设计 这些运算相互之间的优先级 与其它运算组合时的优先级 运算结果值 如何使用这个结果 关心什么 20 关系运算符 6种 讲座选择结构程序设计 优先级 赋值 关系 后2 前4 算术 关系表达式 用关系运算符将两个表达式连接起来的式子 算术 关系 逻辑 赋值 字符 值 结果 真 1 假 0 举例 已知 a 3 b 2 c 1 d 0 0 a b c d a b c 1 5 3 d a b c 关系运算符和关系表达式 21 讲座选择结构程序设计 关系运算是表述对象之间的关系是否成立 在给出具

7、体值必然有一个确定的 唯一的结果 要么成立 要么不成立 上升到理论高度 将这了结果称为逻辑值 真 假 看一下造句题 如果a来了并且b也来了 才能打开门 如果a来了或者b也来了 都能打开门 以上两个问题引入了一个新的运算 逻辑运算 22 逻辑运算符 逻辑非 逻辑与 逻辑或 运算规则 优先次序 赋值 关系 算术 讲座选择结构程序设计 1 取逻辑值的相反值 2 参加运算的两个逻辑值都为真时 结果为真 1 3 参加运算的两个逻辑值都为假时 结果为假 0 逻辑表达式 用逻辑运算符将关系表达式和逻辑量连接起来的式子 举例 已知 a b 1 a b 0 a 5 3 b 0 逻辑运算符和逻辑表达式 23 讲座

8、选择结构程序设计 举例 5 3 8 4 0 0 5 3 8 4 0 4 5 3 2 1 逻辑运算符两侧的运算对象不但可以是 和 也可以是 或非 的整数 也可是任何类型的数据 系统判定标准 为假 非 为真 24 讲座选择结构程序设计 解决实际问题的步骤1 分析已知条件 解决分步2 根据问题决定使用什么结构 语句3 编写源程序 代码 4 调试 排出语法错误 用已知初始数据和结果排出语义错误 5 实际使用 用真实数据运行程序 四 选择结构的应用实例 25 思考 按照从小到大的顺序输出数据 讲座选择结构程序设计 includevoidmain floata b t 0 scanf f f 针对要求选择

9、单分支结构即可 单分支 要求 编成 采用固定输出模式是 已经符合如何处理 不符合时如何处理 26 要求 讲座选择结构程序设计 includevoidmain floata b c p s scanf f f f 如何判断是三角形的三边 如何求三角形的面积 3 4 5 s 6 00 3 4 8 Notatriangle 双分支 分析 输入三角形的三边 求三角形的面积 27 格式 举例 讲座选择结构程序设计 if cost 3000 cash 500 elseif cost 2000 cash 300 elseif cost 1500 cash 200 elseif cost 1000 cash

10、100 elsecash 0 if 表达式1 语句 elseif 表达式 语句 else语句n 语句本身含分号 多分支 一 28 if语句的嵌套 讲座选择结构程序设计 在if语句中又包含一个或多个if语句 被嵌套的条件语句和嵌套进去的条件语句既可是单分支 也可是双分支 if 表达式 if 表达式 语句 else语句 elseif 表达式3 语句3 else语句4 注意 if与else的配对原则 else总是与它上面的最近的未配对的if配对 分析方法 1 主句是单分支还是双分支的 2 嵌套进来的子句是双分支还是单分支的 嵌套在if后面还是else后面 多分支 二 29 开关语句 讲座选择结构程序

11、设计 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2case常量表达式3 语句3 case常量表达式n 语句ndefault 语句n 1 当分支较多时 使用嵌套的if语句层数多 程序冗长而且可读性降低 此时可以考虑使用switch语句 开关语句 来处理多分支 多分支 三 30 举例 includevoidmain chargrade printf 请输入考试等级A D scanf c B 70 7960 69 60Error 根据输入的考试成绩等级打印出百分制分数段 A 80 100B 70 79C 60 69D 60 说明 应在每一个printf后加break

12、语句 讲座选择结构程序设计 31 完善后 includevoidmain chargrade printf 请输入考试等级A D scanf c B 70 79 最后一行的break可以省略 讲座选择结构程序设计 32 问题 includevoidmain intscore printf 请输入考试成绩0 100 scanf c 根据输入的考试成绩 百分制整数 打印出等级水平 使用switch语句实现 A 80 100B 70 79C 60 69D 60 思考 本程序有问题么 理想中 讲座选择结构程序设计 思考 使用什么结构来解决问题 33 includevoidmain intscore p

13、 printf 请输入考试成绩0 100 scanf c 改进程序1 11种情况 思考 不同case值时执行相同的操作 是否可以合并 讲座选择结构程序设计 34 includevoidmain intscore p printf 请输入考试成绩0 100 scanf c 改进程序2 注意 多个case共用一组执行语句时 共用的执行语句写在最后一个case的后面 讲座选择结构程序设计 35 问题 输入一年号 判断这一年是否为闰年 讲座选择结构程序设计 分析 当给出数学表达式后 如何转化为程序 参考 N S图是结构化程序设计中常用的方法 36 参考程序 讲座选择结构程序设计 includevoid

14、main intyear leap scanf d 运行情况如下 输入 1800输出 1800isnotaleapyear输入 2000输出 2000isaleapyear输入 1996输出 1996isaleapyear 条件可否合并写成一行呢 37 改进程序 讲座章选择结构程序设计 includevoidmain intyear leap scanf d 38 讲座选择结构程序设计 总结 前面所用的例子基本上都取自教材中 这里只是重新梳理分析 选择结构有两种基本形式 但是能组合出多种变化 表达式不仅有算数表达式 还有关系 逻辑 条件 逗号 赋值 等等 表达式的使用要特别注意优先级的影响 在

15、VC中 逻辑与 的表达式当求解到 假 时 后面的不再计算 39 讲座选择结构程序设计 问题 能看懂程序 但是自己对立写不出来 模仿是学习的必要阶段 但只是初级阶段 只有亲自动手才能熟悉 经验需要自己总结 如何设计程序的结构 如果让你做一道菜 你怎么完成 再复杂的机械 也是由简单部分构成的 能把所有完成的任务分解成一步一步的 你就会写程序了 如何验证程序的正确与否 你会验证一个公式的正确性 就会验证程序的正确性 原理一样 方法多种 40 讲座选择结构程序设计 4 复杂的表达式如何简单化 加入圆括号 明显地表示出结构关系 充分利用优先级的影响 5 如何快速的排除错误 先排除头三个错误 鼠标点击提示后 光标到错误所在的行 90 的错误在本行 6 语法错误与语义错误是两个概念要求计算a b 程序中写成a b 计算机不会知道这个错误 41 讲座选择结构程序设计 常见错误记住 有错不可怕 只怕不知道 与 的区别 在C语言中 是关系运算符 易犯得错误是if a b thenc a 2 没有使用复合语句 记住一点 凡是需要两条或多条语句完成的工作一定用花括号表示出来 3 嵌套关系错误如果你能用N S图画出流程 就不会犯这类错误 建议采用缩进格式 VC中基本自动缩进了 写程序 4 缺少break语句对case的执行流程没有记住导致的 42 讲座选择结构程序设计 谢谢

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号