结构化程序设计综合训练.pptVIP

  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文档。上传文档
查看更多

层次图用来描述软件的层次结构,图中的一个矩形框代表一个模块,方框之间的连线表示调用关系。层次图很适合在自顶向下设计软件的过程中使用。第28页,共73页,星期日,2025年,2月5日第29页,共73页,星期日,2025年,2月5日程序流程图是历史最悠久使用最广泛的描述软件设计的方法。它的主要优点是对控制流程的描述很直观,便于初学者掌握。第30页,共73页,星期日,2025年,2月5日第31页,共73页,星期日,2025年,2月5日盒图是一种很好的支持结构化程序设计思想的图形工具,也称为N-S图。第32页,共73页,星期日,2025年,2月5日顺序结构块1块2块3块4条件TF块1块2选择结构CaseI=1,2,3T块1块2多分支选择结构F块3块当条件成立时当型循环块直到条件成立时直到型循环第33页,共73页,星期日,2025年,2月5日伪代码图形工具表示设计比较直观,但画起来比较费劲,所以描述设计还可以使用伪代码这个常用的语言工具。伪代码是一种“混合”语言,它使用一种语言——通常是某种自然语言的词汇,同时却使用某种结构化程序设计的语法。第34页,共73页,星期日,2025年,2月5日伪代码if九点以前do私人事务;else9点到18点工作else下班;第35页,共73页,星期日,2025年,2月5日编码应注意的问题第36页,共73页,星期日,2025年,2月5日全局变量全局变量的作用增加了函数间数据联系的渠道。但是全局变量使函数的通用性降低了,因为函数在执行时要依赖于其所在的全局变量。如果将一个函数移到另一个文件中,还要将有关的全局变量以及其值一起移过去。但若该全局变量与其它文件的全局变量同名时,就会出现问题,降低了程序的可靠性和通用性。第37页,共73页,星期日,2025年,2月5日全局变量另外使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出每个瞬间每个全局变量的值。在各个函数执行时都可能改变全局变量的值,程序容易出错。对于大型程序,模块多,常常由不同的人来完成不同的模块,如果全局变量随意使用,更容易出现问题,造成程序的混乱。因此,更应该限制使用全局变量。第38页,共73页,星期日,2025年,2月5日变量的名字名字应具有足够的说明性,以便使读者能够记住它们是干什么的。给每个全局变量声明附一个简短的注释也是非常有帮助的。第39页,共73页,星期日,2025年,2月5日变量的名字按常规方式使用的局部变量可采用极短的名字,如用i、j作为循环变量,p、q作为指针,s、t表示字符串等。第40页,共73页,星期日,2025年,2月5日变量的名字现实中存在许多命名约定或者本地习惯。常见的如:指针采用以ptr结尾的变量名;全局变量用大写开头或者g_开头做变量名;常量用完全由大写拼写的变量名等。命名约定能使代码更易理解。第41页,共73页,星期日,2025年,2月5日表达式和语句同样,我们也应该以尽可能一目了然的形式写好表达式和语句。第42页,共73页,星期日,2025年,2月5日采用缩进程序结构,是使程序呈现出结构清晰的最省力的方法。比较:n=0;for(n++;n100;field[n++]=’\0’);或for(n++;n100;field[n++]=’\0’);for(n=1;n100;n++)field[n]=’\0’;第43页,共73页,星期日,2025年,2月5日使用表达式的自然形式。否定运算的条件表达式比较难理解,比较:if(!(block_idactblks)||!(block_id=unblocks))…if((block_id=actblks)||(block_idunblocks))…第44页,共73页,星期日,2025年,2月5日分解复杂的表达式。C有很丰富的表达式语法结构和很丰富的运算符,因此应该避免将一大堆东西塞进一个结构中。比较:*xp+=(x=2*k(n-m)?c[k+1]:d[k--]));if(2*k(n-m))x=c[k+1];elsex=d[k--];*xp+=x;第45页,共73页,星期日,2025年,2月5日当心副作用。像++这一类运算符具有副作用,它们除了返回一个值外,还将隐含地改变变量的值。这类表达式有时用起来很方便,但有时也会成为问题,因为变量的取值操作和更新操作可能不是同时发生。第46页,共73页,星期日,2025年,2月5日宏#defineisup

文档评论(0)

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

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

1亿VIP精品文档

相关文档