网站大量收购独家精品文档,联系QQ:2885784924

Lect_专题一、模块化程序设计与递归函数.pptxVIP

Lect_专题一、模块化程序设计与递归函数.pptx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内容大纲 专题一 模块化程序设计与递归函数 1.1 编码规范 1.2 模块化开发 1.3 递归函数 专题二 结构/链表与堆栈 专题三 图形程序设计基础 专题四 查找/排序与算法分析 课程综合总结 第2章 学习目标 认识把单个程序分为多个单独模块的重要性 理解在一个模块里需要在多个函数调用之间保存状态信息 能够使用全局变量来表示在跨函数调用中所需维护的状态信息 认识到过度使用全局变量的危险性 能够使用static关键字来保证一个模块中的函数和全局变量的私有性 2.1 编码规范 什么是高质量的程序 正确性:语法正确、功能正确。使之可行 可读性:通用的、必需的习惯用语和模式可以使代码更加容易理解。使之优雅 可维护性:程序应对变化的能力。使之优化 …… 《C编码规范》 《C本学期作业代码自检规范》 不直接使用基础类型,应该使用指示了大小和符号的typedef以代替基本数据类型。 比如,《MISRA—C-2008工业标准》建议为所有基本数值类型和字符类型使用如下的typedef。对于32位计算机,它们是: 若干C代码规范 typedef char char_t; typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef signed long int64_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long uint64_t; typedef float float32_t; typedef double float64_t; typedef long double float128_t; 变量、函数的命名符合编码规范 Pascal命名规则:当变量名和函数名称是由二个或二个以上单字连结在一起,而构成的唯一识别字时,第一个单字首字母采用大写字母,后续单字的首字母亦用大写字母,例如:FirstName、LastName。 若干C代码规范 小心使用全局变量 多线程代码中非常数全局变量是禁止使用的。内建类型的全局变量是允许的,但使用时务必三思。 用访问器子程序来取代全局数据 把数据隐藏到模块里面。用static关键字来定义该数据,写出可以read读、write和initialize初始化该数据的子程序来。要求模块外部的代码使用该访问器子程序来访问该数据,而不是直接操作它。 若干C代码规范 应用自顶向下的设计 把一个相对复杂的功能,划分成相对独立的子功能,直到每个子功能相对简单。每个子功能用一个函数来实现。 一个函数实现一个简单的功能 编程中:如果一个函数的代码行数很大(比如150以上),最好的方法是把它分成几个相互调用的小函数来完成任务。 一个源(实现)文件包含功能相对集中的若干函数定义 如果一个源文件中包含很多个函数(比如50个以上),最好的方法就是把程序再分成几个更小的源文件。每个源文件都包含一组功能相关的函数 2.2 模块化开发 头文件:为了方便模块中的函数被别人调用,专门形成一个头文件,内容是函数声明(函数原型要求)、常量定义等。如:Utility.h 正确使用头文件可令代码在可读性、文件大小和性能上大为改观。 头文件的使用:如果一个源文件如:Utility.c中,要使用Utility.h中声明的函数、类型和具名符号等,在该源文件开始处: #include “Utility.h” #include stdio.h 头文件 模块 模块:较小的源文件称为模块,包含main函数的模块叫主模块(main module)。 独立编译单元:Utility.cUtility.obj Example:通信管理数据库系统 好的函数名字:描述函数所做的所有事情。如:checkOrderInfo(...)、calcMonthlyRevenues(...) 内聚性高,一个函数只实现一个功能 函数参数: 按照输入-修改-输出的顺序排列参数 考虑对参数采用某种表示输入、修改、输出的命名规则 使用所有的参数 把状态或出错变量放在最后 不要把函数的参数用作工作变量 在接口中对参数的假定加以说明 把函数的参数个数限制在大约7个以内 高质量的函数 头文件由三部分内容组成: -头文件开头处的版权和版本声明 -预处理块 -函数、结构和枚举类型声明、外部变量声明、具名常量定义、 typedef和宏等。 头文件应该只用于声明,而不应该包含或生成占据存储空间的变量或函数

文档评论(0)

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

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

1亿VIP精品文档

相关文档