分而治之-模块化程序设计(1).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文档。上传文档
查看更多
函数原型 前面是采用把函数的定义放在使用者之前, 现在都是在main中使用其它函数,因此就是要把要使用的函数定义统统都放在main函数之前, 这样有什么不好? 如果放到main函数的后面可以不?回答是肯定的 函数在使用之前,只需告诉编译器那个函数的一些基本信息就可以了,这些基本信息就是函数原型,它包括函数的返回值类型、函数名称和函数的参数列表等三要素,实际上它基本上就是函数定义的头了。 例如: 函数max2的原型: int max2( int, int )?; //这种形式足够,更好 或 int max2( int a, int b )?; 把函数原型放在使用函数之前就可以使用了,通常放在main函数之前。 有函数原型对要使用的函数进行声明,函数的定义就可以放在使用它的函数如main函数的后面了 函数原型举例 重新看max2和printRectangle的测试程序 猜数游戏的函数版本 函数测试 一个函数设计好之后必须对其进行测试, 函数测试也称功能测试, 由于它是相对独立的单元,所以这种测试也称单元测试。 由于这种功能测试不关心函数的内部实现细节,只看结果,因此也称这种函数测试为黑盒测试。 函数测试就是要写一个main函数,驱动你要测试的函数,因此常称这样的main函数为驱动(driver)函数,或者叫测试函数。 函数测试举例 重新看max2和printRectangle的测试程序 小结与作业 一个函数从定义,到声明(原型),再到函数测试(包含函数调用),是C/C++(函数)程序设计的三个重要的内容,不仅要清楚每个概念,还要熟悉它们之间的关系和具体用法。 学生成绩管理的初步实现 前面已经给出主流程,并实现了主函数 各个功能子模块如何实现呢? 如果对逐个模块进行加细求精,就能写出相应的函数定义。 但是由于现在能力所限,还不能真正给出各个子模块的算法和程序 用一个框架代替该函数来测试主函数是否正确,这个框架函数称为树桩或存根(stub) 初步实现的完整代码 每一个模块再进一步细化,写出相应的算法 每一个模块用一个函数实现,附在主函数的后面 下面详细讨论 模块化程序设计的几个基本问题 模块函数的定义 函数的调用 函数的原型 函数的参数传递 函数测试 函数的定义 /* * 函数注释 */ 返回值类型 函数名( 参数列表 ) //函数头 { 函数体 【return语句】 } 函数头的几点说明 (1)返回值类型就是通常的数据类型,如整型int,实型float、double,字符型char,逻辑型bool等,这里是用来说明函数能够返回的值是什么类型的,因此也有人说它是函数的类型;如果没有要返回的值,就要用void代替。 (2)函数名是函数的标识符,其命名规则同变量名的命名规则,在C语言中两个不同的函数不能同名(C++允许,称之为函数重载)。 (3)一对圆括号是函数的关键特征,只有看到圆括号,才能确定其前面的名字是函数名;一对花括号封闭了函数的主体。它们都是必不可少的。 (4)参数列表是逗号隔开的,所含的列表项可多可少,每一项说明一个参数。参数的说明的格式是: 参数类型 参数名称,参数类型 参数名称,… 例如 int max2(int a, int b) 有两个参数 int max2( a, b ) 是错误的 参数名是没有被初始化的、没有实际值的变量,在形式上定义了该种类型的变量,因此常常把函数定义中的参数称为形参 参数列表也可以没有,但一般用void代替 函数体的几点说明 (1)函数体是一些语句的集合 变量定义的声明语句 赋值语句 函数调用语句 判断选择语句 循环语句 等等。 各种语句都可以在函数体中出现,表达了该模块的算法 (2) return (表达式); 返回一个变量或表达式的值,返回值的类型与函数返回类型一致。 当返回值类型是void的时候,可以省略return后面的表达式或者省略返回语句。 表达式的括号可以省略 函数的注释 给一个函数写注释是非常必要的。注释风格也不尽相同 /* * 函数功能: * 入口参数: * 返回值: */ /* * 函数名称: * 使用方法:给出具体的调用形式 * ------------------------------- * 函数功能描述(包括有什么样的参数,什么样的输出结果) */ 几个例子: 例1 求两个整数的最大值函数 /* * 函数功能:求两

文档评论(0)

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

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

1亿VIP精品文档

相关文档