电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言程序设计教程 第4版 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李丽娟 C语言程序设计教程(第4版)_第4章_分支结构

36页
  • 卖家[上传人]:E****
  • 文档编号:89453019
  • 上传时间:2019-05-25
  • 文档格式:PPTX
  • 文档大小:680.19KB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、C语言程序设计教程 (第4版),第4章 分支结构,李丽娟 2013年2月,第4章 分支结构,本章主要内容 1. if语句的基本结构 2.ifelse语句基本结构 3. if语句的嵌套结构 4. switch语句的基本结构 5.程序案例分析,第4章 分支结构,顺序结构:程序按照语句的先后顺序进行数据处理。 分支结构:程序要对问题进行判断,根据判断的结果,选择不同的处理方式,进行不同的操作。 C语言用于实现分支的结构: if结构 switch结构 4.1.1 if语句 if语句结构是一种常用的分支结构,是最简单的一种单分支结构,该结构构成一个二叉结构。,if语句的一般形式为。 if() 语法功能: 先判断的值,若该值为“真”, 则:执行; 否则:什么也不执行。 注意: 1. :一般为条件表达式或逻辑表达式。 2. if语句中的一般情况下都是以复合语句的形式出现,即用一对花括号将语句括起来。如果语句只有一条,则可以不需要花括号 3. if结构的流程图 :,4.1 if结构,4.1 if结构,例1:从键盘任意输入两个实数a和b,要求a的值总是小于或等于b的值,然后输出这两个数a和b的值。 分析

      2、:根据题意,要求ab。 方案:先输入一个较小的数,赋给变量a,再输入一个较大的数,赋给变量b。 问题:输入的限制对用户不合理。如果先输入的值较大,后输入的值较小,则结果为ab。 方案修正:不论输入的大小顺序怎样,总是会有ab的结果。,4.1 if结构,算法的流程图如图所示: 其中虚线框为if结构。 程序的难点:交换a,b的值。 程序见:example4_1.c 例2:从键盘输入一个整数,求该数的绝对值。 阅读例4-2的问题和程序。,4.1 if结构,4.1.2 if_else语句 if_else语句的一般形式为: if() else 式中 ,一般为条件表达式或逻辑表达式。 语法功能: 先判断的值,若其值为“真”, 则执行,否则执行。 注意: 结构中的、与的规定同if结构。 if_else结构的流程图如图所示。,4.1 if结构,例3:设计一个猜数游戏,由计算机产生一个随机数magic,从键盘输入一个数guess,若输入的数guess的大小等于随机数magic,则输出“Gratulation! You Are right.”。否则,输出“Sorry! You Are Wrong.”。 分

      3、析:计算机产生的随机数有两种: 伪随机数。真随机数。 伪随机数:实际上是一组预先排好的一个数列,可通过函数rand()获取; 真随机数:通过一个随机种子对伪随机数进行重新排列而得,该随机种子可以是任何数。如果取时间作为随机种子,则所得的随机数即为真随机数,真随机数可通过函数srand(unsigned seed)获取。 为简单起见,本题由计算机产生的数就用随机函数rand()直接取伪随机数。,4.1 if结构,算法流程图如图所示: 虚线框代表if_else结构。 程序:example4_3.c 思考: 怎样获取计算机的真随机数? 修改程序example4_3.c : example4_3a.c,4.1 if结构,4.1.3 if语句的嵌套 在if或else的分支下又可以包含另一个if语句或if_else语句。 嵌套的形式有两种:规则嵌套和任意嵌套。 1规则嵌套 规则嵌套的形式为: if() else if() else if () else if () else ,4.1 if结构,规则嵌套的流程图如图所示:,4.1 if结构,例4:从键盘输入+、*、/中的任一个,输出对应的英文单词:

      4、plus、minus、mutiply、divide,若输入的不是这4个字符中的任一个,则输出“Sorry you are wrong”。 算法的流程图如图所示: 程序,程序:example4_4.c,4.1 if结构,在if_else嵌套的结构中,else总是与离它最近的上一个if配对。 程序的书写可按缩进对齐方式,增加程序代码的美观和程序的可读性。 if_else结构的嵌套层次不提倡太多,否则会影响程序的执行效率,并且容易出现判断上的漏洞,导致程序出现不正确的结果。 良好的程序书写风格有助于对程序的理解,请注意程序的书写风格,养成良好的编程习惯。,注意,4.1 if结构,2任意嵌套 任意嵌套是在if_else结构中的任一执行框中插入if结构或if_else结构。 例5: 编写程序,通过输入x的值,计算阶跃函数y的值。,4.1 if结构,算法的流程图如图所示: 两个虚线框均为if_else结构。 程序:examle4_5.c,请思考规则嵌套的算法,并写出程序上机验证。,4.1 if结构,对多重if_else结构,最容易出现问题的是if与else配对错误。 阅读程序:example4_6

      5、.c 、example4_7.c 思考if与else的配对关系。,注意,4.2 switch结构,if语句适合两种分支情况进行选择。 如果多种分支的情况,可采用嵌套的if语句结构。 存在的问题: 当嵌套的分支较多时,程序的效率和可读性降低。 解决方案:用switch结构处理多路分支的情形。,4.2 switch结构,4.2.1 switch语句 switch语句的一般形式为: switch() case:语句序列1; case:语句序列2; case:语句序列n; default:语句序列(n+1); ,4.2 switch结构,注意: 的值必须是整型、字符型或者枚举类型; 语句序列i允许有多条语句,不需要将语句序列用一对花括号括起; 可以为任何表达式。 switch语句的语法规则是: 先计算的值; 再依次判断与哪一个的值相等; 若的值等于的值, 则:从语句序列i开始执行语句,直到语句序列(n+1)为止; 若的值不等于任何一个的值, 则:执行default后面的语句序列(n+1)。,4.2 switch结构,switch语句一般形式的流程图如图所示:,4.2 switch结构,例6:某

      6、班级准备周末举行一个班级活动,但活动内容要根据表中所示的天气情况来决定:,分析: 分别用整数1、2、3、4代表晴天、有风无雨、下雪和下雨这4种天气情况。 通过输入天气情况weather的值,来确定活动场所。,4.2 switch结构,算法流程图如图所示: 程序: example4_8.c 结论: 程序不完全正确; 不能正确表达每一种情况。 存在的问题: 程序不能正确分支; 解决方案: 使用分支语句break。,4.2 switch结构,4.2.2 break语句在switch语句中的作用 break语句起中断和跳出的作用。 可以用在switch分支语句和循环语句中。 使用方法: 在switch语句中,在需要独立执行的后面加上一条分支语句:break; switch条件分支互相独立的语句形式为:,4.2 switch结构,switch () case : ; break; case : ; break; case : break; case : ; break; default: ; ,4.2 switch结构,switch条件分支互相独立语句的流程图: 思考: 该结构的语法规则。,4.

      7、2 switch结构,例7:修改上面程序的算法,使其能满足实际的需要。 分析:参照图4-13所示的流程图,在每个分支的语句序列后面加上break语句即可。 程序:example4_9.c 深化性练习:画出该算法的流程图。,4.2 switch结构, switch结构的灵活应用: 可根据实际应用的需要,将两种不同形式的switch结构组合起来。 例8:从键盘输入一个字符,判断其是否为a(可代表abort)或r(可代表retry)或f(可代表fail),并输出相应信息(输入时不区分大小写)。 分析:问题的关键是对输入的字母a、r和f,不论它们是大写还是小写,所对应的操作都是一样的。 利用switch 结构的特点,设计出该问题的算法流程图如图所示。,4.2 switch结构,根据流程图不难写出其程序: example4_10.c,4.3 程 序 范 例,例9:求解一元二次方程ax2+bx+c=0的根(a0),a、b、c均为实数,其值由键盘输入。 分析:一元二次方程的一般解为:,其中a的值不能等于0,否则方程无解。 方程的求解需要考虑以下3种情况: b24ac0,方程有两个不等的实根:,4.3

      8、 程 序 范 例, b24ac=0 方程有两个相等的实根:, b24ac0 方程有两个共轭复根:,算法流程图如图所示: 程序: example4_11,4.3 程 序 范 例,程序是怎样实现三个判别条件的? 还可以设计怎样的算法?求出一元二次方程的根。,思考,4.3 程 序 范 例,例10: 运输费用的计算问题。货物的运输费用与距离和重量有关,距离S越远,每公里的运费越低。总运输费用Exp的计算公式为:Exp=P*W*S*(1d),式中P为每公里每吨货物的基本运费、W为货物重量(t)、S为运输距离(km)、d为折扣,折扣率d与距离有关,具体标准如下: 0S250 没有折扣(d=0) 250S500 折扣2%(d=2%) 500S1 000 折扣5%(d=5%) 1 000S2 000 折扣8%(d=8%) 2 000S3 000 折扣10%(d=10%) 3 000S 折扣15%(d=15%),4.3 程 序 范 例,分析:根据折扣率与距离的关系,折扣率发生变化时,距离为250km的倍数。从03 000km,将距离S按250km的倍数分段,一共可分为13段,每一段都对应着一个固定的折扣

      9、率,如表所示:,4.3 程 序 范 例,算法流程图如图所示: 程序: example4_12.c 思考: 程序中语句 default : d=100; 起什么作用? 怎样防止由于输入数据错误而发发生的错误? 是否还有其他算法? 阅读并分析【例4-13】,4.4 本 章 小 结,(1) 程序分支结构的几种形式: if语句、if_else语句、if嵌套语句和switch语句等。 (2) 分支语句的共同特点: 先进行条件判断,再决定下一步做什么。 (3) if的合理嵌套可以实现多分支选择,需注意else与if的配对。 (4)过多的if_else嵌套会降低程序的效率和可读性。 (5) switch是一种多分支选择语句,可读性比if语句要强。 (6)要注意在switch语句中正确地使用break语句,使程序能正常地从switch分支中跳出,避免发生逻辑错误。 (7)建议在switch语句中,都要设置default标号,避免出现逻辑错误。 (8)不提倡在if语句中内嵌一个switch结构语句,反之亦然。,本章练习,一、填空题 【题4.1】 【题4.13】中的奇数题号。 二、单选题 【题4.14】 【题4.27】中的奇数题号。 三、编程题 【题4.30】 【题4.32】 【题4.34】 【题4.36】 【题4.37】,

      《C语言程序设计教程 第4版 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李丽娟 C语言程序设计教程(第4版)_第4章_分支结构》由会员E****分享,可在线阅读,更多相关《C语言程序设计教程 第4版 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李丽娟 C语言程序设计教程(第4版)_第4章_分支结构》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.