《第三章 C程序的流程设计》.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 C程序的流程设计 【计划课时】授课6课时+上机6课时(预习内容:教材第三~五章) ? 一、程序设计方法简述 ? 程序设计的难点在哪里——写程序?否。 1、计算机处理问题的过程 【例一】让某学生解方程 ax2+bx+c=0 求解过程:①分析问题 这是一个一元二次方程(代数问题,须中学代数知识) ②确定处理方案 用求根公式 ③确定解题步骤 确定a、b、c的值 求出b2-4ac的值 如果 b2-4ac0(双实根) X1=…… X2=…… 如果 b2-4ac=0(单实根) X1=X2=…… 如果 b2-4ac0(双复根) X1=…… X2=…… ④根据上述步骤计算 ⑤写出答案,整理、分析结果 ? ? ? ? ? ? ? N Y ? N Y ? ? ? ? ? ? ? ? ? (此图保留以便与N-S流程图对比) 对于计算机 ? ? ? ? ? ? ? ? ? ? ? 2、编程要诀——自上而下,逐步细化 “先大纲,后文章” 如同写文章:分几部分——每部分几个问题——每个问题几点…… 优点:不易顾此失彼;易于检查;减少后期修改工作量 对于面向过程的程序设计语言: 程序=数据结构+算法(做什么,如何做) 对比:文章=材料+构思 ? 二、算法与流程图 ? 算法——解题思路(解题步骤等) 写作提纲(越详细文章越好写) 流程图——用图示方式表示算法 编程依据(便于检查) 使用流程图的优点:不易出错/便于编程/便于别人阅读和检查程序 ? 1、传统流程图 (上页例题图) 特点:直观形象;使用流线。 缺点:占面积大,使用流线任意转移,易出现“乱麻”现象,造成编程与阅读程序困难。 ? 2、N-S结构化流程图 77年美学者I.Nassi和B.Scheiderman提出。 a、特点: ①取消流线 ③规定三种基本结构的流程图单元,由这些基本结构象搭积木似的组成各种算法(结构化设计) b、三种基本结构 P33 ①顺序结构 a块、b块顺序执行(每块代表一个或一组操作) 见图3.2 ②选择结构 条件p成立时执行a块,否则执行b块 见图3.3 ③循环结构 分当型和直到型两类 当型 先判断,只要条件为真就反复执行A块,为假则结束循环 见图3.4 直到型 先执行A块,再判断条件是否为真,为真则继续执行循环体,为假则结束循环 见图3.5(图中改为“直到条件为假”)。 c、优点:算法清晰,流程不会无规律乱转移 【例二】将例一的传统流程图改画为N-S流程图。 输入a、b、c值 求D= b2-4ac D0? Y N X1= D=0? Y N X2= X1=X2= X1=…… X2=…… 输出结果 输出结果 输出结果 ? ? 三、选择结构程序设计 ? 1、if语句 P52 三种形式: · if(表达式)语句; (图4.5a) ·if(表达式)语句1;else 语句2; (图4.5b) ·if(表达式1)语句1; (图4.6) else if(表达式2)语句2; …… else if(表达式n)语句n; else 语句n+1; e1?e2:e3是if … else 语句在特定情况下的变体。 ? 【例一】将小写字母转换为大写字母 main(){ char c; printf(“Input :”); scanf(“%c”,c); if (c=’a’ c=’z’) /* 这两句亦可写作:c=(c=’a’ c=’z’)?c-32:c; */ c=c-32; else c=c; printf(“%c”,c); } ? 【例二】上节一元二次方程求解 几点注意:①条件:if (a-2) …; a≠2时执行

文档评论(0)

taxe + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档