1 / 37
文档名称:

第五章 函数.ppt

格式:ppt   页数:37
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第五章 函数.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

第五章 函数.ppt

文档介绍

文档介绍:5
第五章
函数
本章讨论的主要问题
要编好程序,就要合理地划分程序中的各个程序块,C++中称这种程序块为函数。
本章介绍函数的定义及调用方法,变量的存储方式;掌握全局变量、静态变量和局部变量之间的区别。
函数(Function)是按给定的任务,把相关语句组织在一起的程序块,也称为例程或过程。
函数分为标准库函数和用户自定义函数。
标准库函数:可以在任何程序中使用的公共函数,由C++
编译器提供。
用户自定义函数:必须按C++要求通过函数定义、函数说明、才能被调用,由用户自定义。
程序从main( )开始,一个函数可以调用其他函数,也可以被其他函数调用。
函数与函数之间通过传递参数和返回值相联系。
C++不允许函数嵌套定义。在一个函数中再定义一个函数是非法的。
§ 函数概述
一、函数定义
定义的一般形式:
类型标识符函数名(形式参数表)
{
函数体
}
其中:
函数名—给自定义的函数取的名字。
形式参数表—函数被调用时,接收调用函数传递的实参数。
函数体—执行功能的语句块。
函数返回值—通过函数调用获得的函数返回值,其值由 return语句返回。
例如:
int area_s(int a ,int b)
{
return(a*b)
}
二、函数调用
(1)函数调用的形式:
函数名(实参数表);
(2)调用实质:
程序执行流程转向由函数名指定的被调用函数。
实参数一一对应地传递给函数定义中的形参数。
执行函数定义中的函数体。
执行结束,通过return语句将值返回到调用处。
程序执行流程返回调用处。执行后面的语句。
(3)函数调用的几种情况
函数语句
printstar( );
函数表达式
C=2*area_s(l,w);
函数参数
m=max(a,max(b,c));
如:
int area_s(int ,int);
也可包含形参数变量名:
int area_s(int a,int b);
注意
函数原型和函数定义中的函数返回类型、函数名和形参数表必须完全一致,否则,编译器会报告有编译错误。
§
函数原型(Function Prototyping)是一条程序语句,必须以分号结束。它由函数返回类型、函数名和参数表构成,其形式与函数定义的头部相似。
格式: 返回类型函数名(参数表);
对于用户自己定义的函数,只要函数调用点在自定义函数之前,程序员必须在源代码中说明函数原型。函数原型可不包含形参数变量名,只包含形参数类型名。
一、程序的内存区域
程序在系统中运行时,操作系统为其分配的存储空间可划分为如下的四个区域,每个区域存放不同的数据。
程序代码
全局数据,静态数据
动态数据
局部数据
Code area
Data area

Heap area
Stack area
§
数据区——全局生命期及作用域
静态生命期及作用域
栈区——局部生命期及作用域
堆区——动态生命期
当数据存放在不同区域时,具有不同的生命期和作用域。
生命期也称为生存期,即标识符在程序运行中的时限。
全局生命期指标识符在程序运行的全过程中存在。
局部生命期指标识符在程序运行的局部阶段存在。
作用域是指标识符在程序中的有效范围。作用域开始于标识符的说明处。
可见性是分析在某一位置标识符的有效性,即表示该标识符在该位置是否可以被调用。它是从另一角度表现标识符的有效性。
标识符的生命期和作用域与标识符在内存中的存储方式密切相关。
二、全局变量(Global Variable)
全局变量是在函数之外定义的变量,具有全局生命期
和作用域,程序中的每个函数都是可见的。
全局变量存放在内存的全局数据区。
定义全局变量时,若无显示初始化,编译器将全局变
量初始化为0。
全局变量通常在main( )函数之前定义,一旦被定义可
被后面函数访问。
尽管全局变量是可以在程序任何函数之外定义,但定
义点之前的函数是不可知的。