[理学]第四章 函数.pptVIP

  1. 1、本文档共71页,可阅读全部内容。
  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文档。上传文档
查看更多
[理学]第四章 函数

第四章 函 数 本章学习内容 掌握函数的声明和定义、函数的调用及函数的参数传递过程; 掌握关键字inline的含义与使用; 掌握嵌套函数和递归函数的使用; 掌握函数重载的使用方法; 掌握函数模板的使用方法。 本章目录 第八讲 函数的定义、调用、返回语句及函数声明 第九讲 函数的嵌套调用和递归调用 第十讲 内联函数、带默认形参的函数、函数重载及函数模板 本章小结 第八讲 函数的定义、调用、返回语句及函数声明 一、函数的定义和调用 二、函数参数的按值传递 练一练 一、函数的定义和调用 【实例4-1】 阅读下面程序,分析程序并写出运行结果。(提示:本程序定义一个函数,求两个整数的和。)注意函数的定义格式、返回语句、函数原型的声明语句及函数的调用语句形式。 点击打开【实例4-1】源程序。 程序运行结果如下: 1.函数的定义 C++中每一个函数的定义都是由4个部分组成的,即函数名、函数类型、形式参数表和函数体。其中函数名、函数类型、形式参数表所表示的第一行也被称为函数头部分。定义函数的一般格式为: 2.函数的调用 函数的调用语句一般格式为: 3.函数调用的执行过程 当调用一个函数时,整个调用过程分为三步进行,第一步是函数调用,第二步是函数体执行,第三步是返回,即返回到函数调用表达式的位置。 第一步:函数调用。 (1)将函数调用语句下一条语句的地址保存在一种称为“栈”的内存空间中,以便函数调用完后返回。将数据放到栈空间中的过程称为压栈。 (2)对实参表从后向前,依次计算出实参表达式的值,并将值压栈。 (3)转跳到函数体处。 第二步:函数体执行,即逐条运行函数体中语句的过程。 (4)如果函数中还定义了变量,将变量压栈。 (5)将每一个形参以栈中对应的实参值取代,执行函数的功能体。 (6)将函数体中的变量、保存在栈中的实参值,依次从栈中取出,以释放栈空间。从栈中取出数据称为出栈,x出栈用pop(x)表示。 第三步:返回,即返回到函数调用表达式的位置。 (7)返回过程执行的是函数体中的return语句。 4.函数返回语句 C++的函数根据函数返回值的有无,可分为两类:一类是有返回值的函数;另一类是无返回值的函数。所有函数都可以通过return语句,结束被调用函数的执行,返回调用函数。 return语句的一般格式。 1)有返回值的return有两种调用格式: 5.函数原型的声明 编译程序在处理函数调用时,必须从程序中获得完成函数调用所必需的接口信息。函数原型为函数调用提供接口信息,是一条程序说明语句。函数原型的基本格式就是在函数定义格式的基础上去掉函数体,再加上语句结束标识“;”。 定义格式如下: 在C++中,函数原型声明原则如下: (1)如果函数定义在先,调用在后,调用前可以不必声明;如果函数定义在后,调用在先,调用前必须声明。 (2)在程序设计中,为了使程序设计的逻辑结构清晰,一般将主要的函数放在程序的起始位置声明,这样也起到了列函数目录的作用。声明函数原型的形参表中可以是完整的数据类型加变量,也可以只将每个形参的类型写出,这两种函数原型的声明都是正确的。 int max(int x,int y); int max(int,int); 二、函数参数的按值传递 6.函数参数的按值传递 图4-1 函数参数值传递过程示意图 练一练 【练习4-1】 求xn(x的n次幂)。 解:数学上经常碰到求xn的问题,即计算n个x的乘积,当用C++求解方程时会经常用到。 (1)程序分析如下: 计算时根据指数运算的定义,用一个函数实现其运算,根据n的不同采取不同的计算方法:如果n=0,则结果为1;如果n0,则结果为1/xn;如果n0,则结果是xn,然后在主函数中调用此函数即可。流程图如图4-2所示。 (2)算法设计如下: ① 接受用户输入的指数和底数; ② 调用函数进行计算; ③ 输出结果。 图4-2 【练习4-1】的程序流程图 第九讲 函数的嵌套调用和递归调用 一、嵌套调用 二、递归调用 练一练 一、嵌套调用 【实例4-3】 求三个数中最大数和最小数的差值,要求用函数实现该功能。 程序分析: 设计一个求三个数的最大值的函数max,一个求三个数的最小值的函数min,再设计一个求两个数的差的函数dif。在主函数中调用求差值函数dif,dif函数在运行过程中会调用max函数和min函数,形成函数的嵌套调用。 点击打开【实例4-3】源程序。 程序运行结果如下: 1.函数的嵌套调用 在一个函数中调用其他函数叫做函数的嵌套。C++中函数的定义是平行的,除了主函数

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档