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

5分而治之-模块化程序设计.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5分而治之-模块化程序设计

学生成绩管理的各个功能子模块 如何定义各个功能子模块呢? 现在还不能真正给出各个子模块的算法和程序 用一个框架代替该函数来测试主函数是否正确,这个框架函数称为树桩或存根(stub) 函数调用 模块函数之间呈现一种层次结构 ,一般来说下一层的模块函数是为上一层的模块函数服务的, (当然如果需要的话,下一层的模块函数也是可以使用上一层的函数模块的,同层的模块函数也可互相使用)。 除了main函数具有特殊的地位之外,其它所有函数都是彼此独立的,均可以彼此调用用。在一个函数中使用另一个函数称之为函数调用(Call),使用者称为主调函数(或调用函数),被使用者称被调用函数。 调用一个函数需要从三个方面着手 : 知道函数的名字是什么,函数具有什么功能 函数有无参数 有几个参数, 参数都是什么类型, 参数的先后顺序如何; 函数的返回值是什么,什么类型的 函数调用的一般形式 函数名(实参列表) 实参列表是与形参列表完全对应的具有真实数值的常量或变量或表达式列表。 函数调用的过程是是用实参的值去初始化形参,因此称为传值调用 切记:函数调用之前,函数必须先定义。 函数要先定义后使用 就是在函数调用之前,编译器要知道有那样的函数,怎么样才能让编译器知道呢?方法之一就是把函数定义的代码放在main函数之前 例1:使用打印矩形函数和求最大值函数 函数调用错误的用法 参数处理顺序是从右向左 例2 参数类型转换和处理顺序 对于无参数函数的调用 input( ); magic = makeMagic( ); 主调函数调用被调函数的具体执行过程 int max2(int a, int b) { … } void printRectangle(int h, int w) { … } int main(void) //从这里开始执行 { … max= max2(x, y); … printRectangle(m, n); … } 思考题 1)实参变量传给形参,如果形参的值发生了改变,实参变量的值会怎样? 2)实参变量的名字与形参变量的名字相同可不可以? 3)函数调用的结果可以返回一个值,也可以不返回值,能否返回多个值? 函数原型 把要使用的函数定义统统都放在main函数之前, 有什么不好! 如果放到main函数的后面可以不? 函数在使用之前,只需告诉编译器那个函数的一些基本信息就可以了,这些基本信息就是函数原型,它包括函数的返回值类型、函数名称和函数的参数列表等三要素,实际上它基本上就是函数定义的头了。 例如: 函数max2的原型: int max2( int, int )?; //这种形式足够,更好 或 int max2( int a, int b )?; 把函数原型放在使用函数之前就可以使用了,通常放在main函数之前。 有函数原型对要使用的函数进行声明,函数的定义就可以放在使用它的函数如main函数的后面了 函数测试 一个函数设计好之后必须对其进行测试, 函数测试也称功能测试, 由于它是相对独立的单元,所以这种测试也称单元测试。 由于这种功能测试不关心函数的内部实现细节,只看结果,因此也称这种函数测试为黑盒测试。 函数测试就是要写一个main函数,驱动你要测试的函数,因此常称这样的main函数为驱动(driver)函数,或者叫测试函数。 小结与作业 一个函数从定义,到声明(原型),再到函数测试(包含函数调用),是C/C++(函数)程序设计的三个重要的内容,不仅要清楚每个概念,还要熟悉它们之间的关系和具体用法。 跟随机数有关的问题很多 碰运气游戏模拟 游戏者每次投掷两个骰子,把两个朝上的点数相加。第一次投掷时如果得到的和为7或11,游戏者就赢了;如果得到的和为2、3或12游戏者就输了(即计算机这个“东家”就赢了);如果得到的和为4、5、6、8、9或10,那么这个和就作为游戏者的点数,要想赢必须再次投掷,一直到取得自己的点数为止,如果投掷出7点,游戏者就输了。 小学生算术练习问题: 小学生100以内的整数加法练习程序。首先计算机想两个10以内的整数a,b,显示“a + b =”,等待小学生回答。如果回答正确,显示“ok”,回答错误,显示“try again!”,直到正确为止。如果回答正确,再出一题, 重复上述过程。如果10次计算都通过,则显示“very good!”,升级为两位整数的加法,重复一位整数加法练习的过程。如果10次练习都通过,则显示“very very good!”,然后问继续练习吗?

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档