c++教程第6章函数.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文档。上传文档
查看更多
c教程第6章函数

第6章 函数 C++中的模块份分为函数(function)和类(class)。C++程序一般是将程序员编写的新函数与C++标准库(standard library)中提供的预装函数,以及新类与各种类库中提供的预装类组合而成的。 6.1 函数的概念和定义 函数可以被看作是程序员定义的操作,每个函数都会实现一系列的计算,然后(大部分时候)生成一个计算结果。在后面提到的面向对象技术中,可以看到函数是对功能的抽象。在一个程序文件中可以包含若干个函数。无论把一个程序划分为多少个程序模块,只能有一个main函数。程序总是从main函数开始执行。在程序运行过程中,由主函数调用其他函数,其他函数也可以互相调用。 要想实现函数具体的功能,就必须进行函数定义。函数的定义是由返回类型、函数名、一组操作数类型和函数体构成的。 6.2 函数原型 同变量的使用一样,函数的使用也需要遵循先声明后使用的原则,在调用函数之前需要声明。函数原型由函数返回类型、函数名和形参列表组成, 6.3 函数参数 在C++语言中,主调函数可以使用函数名和一组由逗号分割开来的实参来对函数进行调用。函数调用的结果就是该函数返回值的类型。 6.3.1 函数参数传递方式 函数名使用的是形参,而当主调函数调用函数时,在函数名后面的是实参,那么实参是如何向形参传递的呢? 在C++语言中,函数参数传递的方式有两种,即值传递和引用传递。下面来介绍值传递,引用传递将留在第7章中进行详细描述。 6.3.2 main()函数的参数 到目前为止,所涉及的main函数都都未使用到参数列表。但是,在大多情况下需要给main函数传递实参。例如,在DOS环境下,各种命令所需要的参数是需要传递给main函数的。 6.3.3 省略符形参 当无法列举出函数所有形参的类型和数目的时候,就需要使用省略符形参,其语法结构如下。 类型标识符 函数名(…); 类型标识符 函数名(形参1,…); 6.4 函数作用域规则 在前面的讨论中,发现只有在调用函数时形参才会被分配内存空间,当函数调用结束后,形参分配的空间即被释放,由此可见形参只有在函数中才有效。在C++中,变量的作用范围和生命期是不一样的,按照变量的作用范围来分,变量可以分为局部变量和全局变量。 6.4.1 作用域 在函数和类(后面将介绍类的概念)之外定义的变量具有全局的作用,称为全局变量。C++函数体一般是包含在一对花括号中,称为语句块。在语句块中定义的变量只具有局部的作用域,即该函数体中,将这些变量称为局部变量,因此形参也是局部变量。局部变量只有在其局部的作用域中有效。 6.4.2 局部变量 变量的生存周期是从定义时开始,到退出作用域时销毁。局部变量只有在作用域内才可以使用它们,作用域外不可以使用这些变量。 主函数中的变量也是局部变量,其只在主函数中有效,不能被其他函数使用,同样,主函数也不可以使用其他函数的局部变量。在相同的作用域中,变量不可以同名。在不同的作用域中,可以使用相同的变量名,它们使用不同的内存,互不打扰。 6.4.3 全局变量 全局变量定义在函数或类的外面,其作用域从定义位置起到源文件结束。全局变量之后的所有函数都可以使用全局变量。 6.5 函数的嵌套与递归调用 函数的嵌套调用就是主调函数调用被调函数时,被调函数又调用了另外函数,在函数中形成嵌套关系,如图所示。 6.6 内联函数 函数的引入可以实现代码的共享,减少程序的代码量,可是函数的调用又需要一些时间和空间上的开销,主调函数调用被调函数时,需要保护现场,然后转入被调函数中,在被调函数中要分配内存,在函数执行结束后返回并恢复现场。当函数的代码很短的时候,这样的开销是不可忽略的。 6.7 函数的模板 函数模板是指建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。 6.8 应用程序举例 编写一个程序,由键盘输入两个整数,求出这两个数的最大公约数和最小公倍数。 6.9 小结 在调用之前对被调用函数进行声明。在调用函数时,函数定义和函数调用的形参和实参的个数、类型、顺序和返回值类型应该相符。 1-* 1-*

文档评论(0)

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

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

1亿VIP精品文档

相关文档