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

第四章电机学.pptVIP

  1. 1、本文档共101页,可阅读全部内容。
  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)分析 我们将新建、打开、关闭、打印等文件处理功能描述成四个相对独立的函数,分别是: 3)调用结构 main函数分别调用了new、open、close、print四个函数。 2.函数的作用 函数是特定子功能的实现,也即将大程序分割成若干个小程序(子程序)。每个子程序就是一个函数,这样既便于理解也便于实现。 3.函数的分类 通常分为:标准函数、用户自定义函数、类的成员函数三大类。 4.2 函数定义 程序中使用函数就象使用数据对象一样,必须先定义后使用。定义函数也称为声明函数。 解释: 类型标识符:用来说明函数的数据类型,也即函数调用后所返回的调用结果的数据类型,可以是int、char、float、double、void等。如果省略类型标识符的话,则缺省类型是int。如果该函数的类型无关紧要,一般表示成void。 ? 参数表:用来说明函数的参数,函数的参数是函数所提供的数据接口,用来与调用者传递数据。因此参数说明必须给出参数的名称、类型。允许一个函数包含0到多个参数,参数之间用逗号分隔。 ? 数据说明部分:位于函数体内,用来说明函数内部所用到的数据对象(变量等),如果函数没有内部数据,则此部分可以省略。 执行部分,位于函数体内,由若干可执行语句组成,该部分不能省略。 4.3 函数原型 函数原型是一条特殊的说明语句,用来说明程序中所引用的函数的名称、函数返回值类型和参数类型。 2.函数原型的语法 函数原型的格式与函数定义的头部格式大同小异,其语法如下: (3) 标准库函数的原型都在对应的头文件中(*.h)。如果程序中使用到某些标准库函数,必须在程序顶部,使用#include命令将对应的文件包含进来。 注意:当所调用的函数是标准函数或该函数不在本程序中,定义和调用的一致性问题就更加重要了。 函数的功能是通过调用实现的,调用时必须提供与函数定义相对应的各个参数的实际值,调用的返回值存放在函数名中,因此函数调用结果可以视为一个数据对象。 解释: (1)函数是“按名调用”的,所以函数名必须准确无误,尤其是在调用标准库函数时,一定要保证函数名一字无误。 (3)函数调用时所提供的实参其形式可以是常量、变量、表达式、函数调用等。但其值必须是确定的。请看以下一些函数调用: 2.函数调用的形式 1)表达式 函数调用出现在表达式中,参加所在表达式的运算。 3.函数调用机制和调用过程 p1程序的执行过程如下图所示 : 分析程序的执行过程,可以发现以下特征: (1)main最先执行、最后结束,f2最后执行却最先结束,正所谓“先进后出”; (3)每一个被调用的函数执行结束后,必须能返回主调函数调用处的下一执行点,也即调用前必须保留返回地址。 能够满足以上要求的函数调用机制可以概括为:中断+运行栈,也即c++借助于中断机制和栈来实现函数调用。 2)运行栈 3)调用过程 (1)在运行栈的栈顶建立被调函数的栈空间; 4)参数传递 可以看出(1)—(4)属于初始化阶段、(5)是执行阶段、(6)—(8)是善后阶段。 (2)参数的传递方式 b. 传地址 c. 传名 5)实例 1)分析: 我们可以在例4-2所编写的upper函数的基础上增加一个主函数,该函数循环调用upper函数。 4.函数的嵌套调用 虽然C++不允许在函数内部定义新的函数(嵌套定义),但却允许函数内部调用另一函数,也即允许函数之间相互调用,这种调用形式称为嵌套调用。 通过嵌套调用动态地建立函数之间的关系,使得程序的层次化的功能结构得以实现。 1)概念 2)实例 例4-8所给的程序是函数的单重嵌套调用,并且是并列单重调用。下面分析其调用关系和调用过程。 4.5 递归函数 在客观世界中,很多问题的处理方法是递归的,例如“折半查找”问题,其处理方法描述为: 再比如阶乘问题,n!=n*(n-1)*(n-2)*……*1,这种递推问题也可以用递归调用来实现,即: n!=n*(n-1)! fact函数的执行部分,出现自身的直接调用—直接递归调用。 调用过程中,提供给fact的实参按:n,n-1,n-2,…,1 的规律递减; 1.递归的概念 注意:程序设计语言通常只支持递归调用,C+

文档评论(0)

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

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

1亿VIP精品文档

相关文档