C++第三章精编.pptVIP

  • 2
  • 0
  • 约2.37万字
  • 约 94页
  • 2018-04-26 发布于湖北
  • 举报
在结构化程序设计中,函数是将任务进行模块划分的基本单位。一个函数实现一项功能。 在面向对象程序设计中,函数是对数据的一项操作,也是实现一项功能。 第三章 函数 要掌握函数的使用,必须理解函数调用时的内部实现机制,以及与此相关的内存分配机制、变量生命期和作用域。 本章还将介绍关于函数重载的概念,介绍递归算法、内联函数、默认参数函数以及多文件组织、编译预处理、工程文件的概念和运行库函数。 第三章 函数 3.1 函数的定义与调用 3. 5 作用域与标识符的可见性 3.4 函数调用机制 3.3 全局变量和局部变量 3.2 函数的参数传递,   返回值及函数声明 3.10 编译预处理 3.9 头文件与多文件结构 3.6 存储类型与标识符的生命期 3.8 函数的一些高级议题 3.7 函数的递归调用 3.1 函数的定义与调用 3.1.1 函数概述 3.1.2 函数的定义 3.1.3 函数的调用 3.1.1 函数概述 函数是C++程序的基本组成模块。 通过函数,可以把一个复杂任务分解成为若干个易于解决的小任务。充分体现逐步细化的设计思想。 组成C++程序的若干函数中,有一个称为main()(Winmain())函数,是程序执行的入口,它可以调用其他函数,但不可以被调用。而其他一般函数既可以调用也可以被调用。 函数概念的引入: 入口函数: 3.1.1 函数概述 3.1.1 函数概述 3.1.1结束 库函数和自定义函数: 库函数或标准函数,是由编译系统预定义的,如一些常用的数学计算函数、字符串处理函数、图形处理函数、标准输入输出函数等。 库函数都按功能分类,集中说明在不同的头文件中。用户只需在自己的程序中包含某个头文件,就可直接使用该文件中定义的函数。 用户根据需要将某个具有相对独立功能的程序定义为函数,称自定义函数。 3.1.2 函数的定义 无参函数定义格式为: 《数据类型》函数名(《void》){函数体} 说明: 数据类型指函数返回值类型,可以是任一种数据类型,默认为返回整型值(但新标准要求写明,不用默认方式)。没有返回值应将返回值类型定义为void。 函数名采用合法标识符表示。 对无参函数,参数括号中的void通常省略,但括号不能省略。 函数体由一系列语句组成。函数体可以为空,称为空函数。 1 无参函数 3.1.2 函数的定义 //打印一个表头 void TableHead ( ) { cout″****************″endl; cout″* example *″endl; cout″****************″endl; } int input ( ){ //输入满足要求的数据 int n; cout″输入一个大于5的整数:″endl; do cinn; while(n=5); return n; } 2 有参函数 有参函数的定义格式为 《数据类型》函数名 (参数类型1 形式参数1《,参数类型2 形式参数2,…》{函数体} //返回两个整数中的较大值 int max (int a, int b){ return(a=b?a:b); } 有参函数的参数表中列出所有形式参数的类型和参数名称。各参数即使类型相同也必须分别加以说明。 形式参数简称形参,只能是变量名,不允许是常量或表达式。 void delay(long n){ int i; for (i=0;in;i++); } //延时一段时间 问题:定义函数时究竟哪些变量应当作为函数的参数?哪些应当定义在函数体内? 原则:函数在使用时被看成 “黑匣子”,除了输入输出外,其他部分可不必关心。从函数的定义看出,函数头正是用来反映函数的功能和使用接口,它所定义的是“做什么”。即明确了“黑匣子”的输入输出部分,输出就是函数的返回值,输入就是参数。因此,只有那些功能上起自变量作用的变量才必须作为参数定义在参数表中;函数体中具体描述“如何做”,因此除参数之外的为实现算法所需用的变量应当定义在函数体内。 C++中不允许函数的嵌套定义,即不允许在一个函数中定义另一个函数。 提示 3.1.3 函数的调用 函数调用: 所谓函数调用,就是使程序转去执行函数体。 在C++中,除了主函数外,其他任何函数都不能单独作为程序运行。任何函数功能的实现都是通过被主函数直接或间接调用进行的。 无参函数的调用格式: 函数名( ) 有参函数的

文档评论(0)

1亿VIP精品文档

相关文档