- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch程序开发和结构化程序设计
第九章 程序开发和结构化程序设计 goto和标号 空语句 结构化程序设计原则 程序风格 程序的正确性 可移植性 文档 自顶向下逐步求精的程序设计技术 受限排列组合——穷举法与试探法 本章小结 goto和标号 goto 语句是强制改变程序正常执行顺序的手段。但是我们事先声明 频繁使用goto语句不是好的程序设计习惯,不符合结构化程序设计原则 除有特殊需要外,尽量不要使用goto语句和标号 标号的语句 标号 : 语句 label1: statement; goto 语句 goto 标号 goto label1; 标号就是带标号语句中用的标号,是一个标识符; goto 是保留字,表示转向。 goto 语句的意义是中断正常的程序执行顺序,转到本函数内标号标出的语句处,并从其开始继续向下执行 goto 语句与带标号语句配合使用,达到改变程序正常执行顺序的目的。 【例9-1】前述第5章例5-8中迭代法求解方程根的问题,不改造流程图, 可以用如下右端的程序片段表示 虽然C允许使用 goto 语句转向本函数内任何语句,但是下述转向是极其不好的程序设计习惯。它使程序逻辑混乱,同时也给编译优化带来麻烦。 从if语句外转入if语句的“then”或“else”子句之中; 在if语句的“then”或“else”子句之间转向; 从switch语句之外转入switch语句之内; 从循环语句之外转入循环语句之内; 从复合语句之外转入复合语句之内。 空语句 空语句(empty-statement)只由一个分号“;”组成,表记没有任何操作动作。其语法是: <空语句> → ; 空语句也是一种语句。只不过在程序正文上看它只有一个分号。在语义上看它没有任何操作动作,其作用只是占据一个语句的位置。 结构化程序设计原则 由于计算机硬件技术的不断发展,以及计算机的广泛应用,计算机软件系统也日益发展 软件在计算机系统中所占比重也越来越大 使得作为软件主要组成部分的程序系统越来越庞大,复杂度越来越高,造价也越来越昂贵,同时出错率也不断增加,系统的可靠性越来越难以保证,维护也越来越困难。 最后终于在20世纪60年代中期引起了一场所谓的软件危机。在该背景下,1968 年 Dijkstra 提出了结构化程序设计思想。这种思想的基点是: “清晰,易懂地书写程序逻辑,使程序结构表现得简单、明快” 从这点出发,人们经过艰苦实践,总结出了一套结构化程序设计原则。这套原则要求程序员写出的程序应该是结构良好的,即: 易于保证和验证程序的正确性 易于阅读、维护和调试。 这种良好结构的程序具体体现在:对任意程序段来讲 仅有一个入口,一个出口 没有死循环 没有死码区。 为了达到上述目的,强调程序员在写程序时应该: 利用自顶向下、逐步求精的技术设计程序 具有良好的程序设计风格 尽量利用标准的顺序、分支、重复控制结构。保证程序仅有一个入口、一个出口。 限制使用 GOTO 语句。可能一个坏程序的缺点都是由 GOTO 语句引起的。 结构化程序设计的发展,使程序设计从技艺走向工程,为软件工程学发展奠定了有力基础。使软件生产由个体作坊式的艺术创作方式发展成为千千万万人参加的工程方式,达到了“系列化、产品化 、工程化 、标准化”。“软件工程”也从这一时期开始逐步发展起来。 能够反映结构化程序设计要求,便于书写结构化程序的程序设计语言,称结构化程序设计语言。可以认为C是结构化程序设计语言。 结构化程序设计方法是20世纪60年代末70年代初逐渐发展起来的,目前程序设计领域的热点是“面向对象程序设计”和“基于构件的程序设计”等。但是它们的主要特长在于程序的组织、信息封装、软件重用等,而最终对于足够小程序模块的编码,它们没有给人们带来益处。 结构化程序设计方法针对每个小模块的设计起着十分关键的作用。所以尽管目前面向对象程序设计技术和基于构件的程序开发技术受到人们广泛关注与重视,但是结构化程序设计技术仍然是十分重要和不可缺少的。可以说结构化程序设计是一切程序设计技术的基础,是任何软件工作者必须掌握的技术。 程序风格 程序风格是指程序的书写格式等与易读性、清晰性、互相交流有关的,而与程序执行无关或关系不大的一些的问题。 写程序不仅仅是为了与计算机进行交流,而且也是为了与人进行交流,进一步还为了给自己或别人阅读,同时程序员自己也需要不断地查阅自己编出的程序,更何况程序的维护很可能由别人来做。 在写程序时要考虑到:程序既是为了在计算机上运行,也是为了今后的交流和阅读,同时还是为了留下有用的参考文件。 为此,程序必须是宜于阅读的,也就是必须是结构良好或风格优美的。 程序设计风格不好不利于产生正确、高效、易读、易维护的程序。风格不好的程序会使程序维护
文档评论(0)