电子科技大学-第三讲 函数.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  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文档。上传文档
查看更多
电子科技大学-第三讲 函数

4.1 函数的定义和声明 4.1.1 函数的定义   函数是一个命名的程序代码块,是程序完成其操作的场所,是将功能重复的程序段抽象出来所形成一个独立的、可重复使用的功能模块。  定义函数的一般格式为: 4.1 函数的定义和声明 在C++程序中,使用函数前首先需要对函数原型进行声明,告诉编译器函数的名称、类型和形式参数。 在C++中,函数原型声明原则如下: (1) 如果函数定义在先,调用在后,调用前可以不必声明; 如果函数定义在后,调用在先,调用前必须声明。 (2) 在程序设计中,为了使程序设计的逻辑结构清晰,一般 将主要的函数放在程序的起始位置声明,这样也起到了 列函数目录的作用。 声明函数原型的形式如下: 例如: int max(int x,int y)?; int max(int,int)?; 函数调用的一般形式为: 各实际参数表中的实际参数应与形参表中的形参一一对应,即个数相等且对应参数的数据类型相同。 函数调用是一个表达式,函数名连同括号是函数调用运算符。表达式的值是被调函数的返回值,它的类型是函数定义中指定的函数返回值的类型,即函数的类型。 如果函数的返回值为void,说明该函数没有返回值。 例如: coutmax(a,b)endl; 第一步:函数调用; ① 将函数调用语句下一条语句的地址保存在一种称为“栈”的内存中空间中,以便函数调用完后返回。将数据放到栈空间中的过程称为压栈。 ② 对实参表从后向前,依次计算出实参表达式的值,并将值压栈。 ③ 转跳到函数体处。 第二步:函数体执行,即逐条运行函数体中语句的过程。 ④ 如果函数中还定义了变量,将变量压栈。 ⑤ 将每一个形参以栈中对应的实参值取代,执行函数的功能体。 ⑥ 将函数体中的变量、保存在栈中的实参值,依次从栈中取出,以释放栈空间。从栈中取出数据称为出栈,x出栈用pop(x)表示。 第三步:返回,即返回到函数调用表达式的位置。 ⑦ 返回过程执行的是函数体中的return语句。 函数参数传递过程的实质是将实参值通过栈空间一一传送给实参的过程,这种把实参表达式的值传送给对应的形参变量传递方式称为“按值传递”。 4.2.4 嵌套调用 在一个函数中调用其它函数叫函数的嵌套。 4.2.4 递归调用 在调用一个函数的过程中又直接或间接地调用该函数本身的这一现象,叫做函数的递归调用。 ? 1 (n=0) n!= n(n-1)! (n0) 递归可以分为直接递归调用和间接递归调用。 直接递归调用:是在调用函数的过程中又调用该函数本身; 间接递归调用:是在调用f1()函数的过程中调用f2()函数,而f2()中 又需要调用f1()。 4.2.4 递归调用 递归函数设计的一般形式是: 4.3 内联函数 内联函数的定义形式如下: 4.3 内联函数 4.4 带默认形参值的函数 例如: 4.5 函数重载 4.6 函数模板 4.7 C++系统函数 4.8 本章小结 int max(int,int); int max(int,int,int); float max(float,float); double max(double,double); 函数重载: 就是两个以上的函数,取相同的函数名,但是形参的个数和类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动决定调用哪一个函数。 #includeiostream using namespace std; int add(int x,int y) { cout(int, int)\t; return x+y; } double add(double x,double y) { cout(double, double)\t; return x+y; } int add(int x,double y) { cout(int, double)\t; return int(x+y); } 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 函数重载 函数重载 函数重载 double add(double x,int y) { cout(double,int)\t; ret

文档评论(0)

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

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

1亿VIP精品文档

相关文档