《C语言程序设计教学资料》C程序设计chap02(2012秋季)s.pptVIP

《C语言程序设计教学资料》C程序设计chap02(2012秋季)s.ppt

  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文档。上传文档
查看更多
* * 程序设计过程的基本步骤(5) ——调试与运行 编写出的程序还需要测试和调试,只有经过调试后的程序才能正式运行。 所谓测试,是指通过一些典型例子,尽可能多地发现程序中的错误。 所谓调试,是指找出程序中错误的具体位置,并改正错误。 * * 关于流程图(1) ——传统流程图 流程图是用一些图框和带箭头的流程线表示各种操作。 起始框 输入输出框 判断框 处理框 流程线 连接框 注释框 用于将画在不同地方的流程线连接起来。 * * start 1=p 2=i p*i=p i+1=i i100 end 求100!的流程图 Y N 特点:直观形象。 弊端:不方便绘画; print: p 1 1 * * 三种基本结构 1966年,Bohre和Jacopini提出了三种基本结构, 用这三种基本结构或它们的组合表示一个程序 的逻辑。 顺序结构 a b A B 入口点 出口点 * * 选择结构 a b A B p Y N a b A p Y N 选取结构,分支结构 * * 循环结构 a b A p Y (1)当型循环结构 a b A p N Y (2)直到型循环结构 重复结构 作用:反复执行某部分的操作。 * * a b B p Y A N b A N M B … a 表达式 p=p1 p=p2 p=pm p=pn 派生结构 多分支选择结构 * * 流程图(2) ——N-S流程图 1973年美国学者I.Nassi和B.Shneiderman提出一种流程图形式,即N-S流程图。 N-S流程图特点:将全部算法写在一个矩形框内,完全没有带箭头的流程线。 * * A B 顺序结构 p 成立 不成立 A B 选择结构 流程图符号有三种 * * 循环结构 A 当p成立 当型 A 直到p成立 直到型 盒图(box diagram)。 * * 例1,求100!的流程图 1=p 2=i p*i=p i+1=i 直到i100 打印p * * 例2,判断闰年的流程图。 year被4整除 Y N year被100整除 N N Y Y 1=leap 0=leap 1=leap 0=leap leap=1 Y N Output: year is Output: year is not Input year year被400整除 * * 例3,判断素数的流程图。 N Input n 0=flag 2=i n/i=r r=0 Y N 1=flag i+1=i Until i?sqrt(n) or flag=1 flag=0 Y Output: n is prime Output: n is not * * 2. 程序设计的基本方法 自顶向下,逐步细化 模块化设计 结构化编码 基本思路:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 * * 自顶向下,逐步细化 * * 模块化设计 模块化设计的思想是“分而治之” 即把一个大任务分为若干个子任务。经过分解后的子任务比较简单,因此易实现,易调试。 模块是由一个或多个程序语句组成的集合。模块有一个名字,系统的其他部分可以通过这个名字来调用该模块。 * * 模块N 模块1 主模块 模块2 …… f11 f12 …… fn1 fn2 fn3 按什么原则划分模块? 如何组织好各模块之间的联系? * * 结构化编码 采用三种基本结构 顺序结构 选择结构 循环结构 * * 例1,求10!算法 1=p 2=i p*i=p i+1=i 直到i100 打印p #include stdio.h void main( ) { long int p=1; int i=2; while(i=10) { p=p*i; i++; } printf(“p=%ld\n , p); } * * 结构化程序的特点 以控制结构为单位,只有一个入口和一个出口,各单位之间的接口较简单。 缩小了程序的静态结构和动态执行之间的差异,使人们能方便、正确地理解程序的功能。 * * 程序设计语言是用户编写程序的语言,是人与计算机之间交换信息的工具。 程序设计语言 机器语言 汇编语言 高级语言 3. 程序设计语言 * * 4. 程序设计的风格 同学们应该养成良好的程序设计风格!! 你编制的程序主要是给别人看的; 你编制的程序主要是为以后看的。 设计的风格 语言运用的风格 程序文本的风格 输入/输出的风格 * * 程序设计的风格(1) ——设计的风格 程序设计的根本目标是要降低程序的复杂性和提高程序的可读性。 程序的复杂性主要来自两个方面: 问题固有的复杂性; 不良的设计风格人为地增加

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档