1 / 41
文档名称:

c语言第八章函数.ppt

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

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

分享

预览

c语言第八章函数.ppt

上传人:shujukd 2018/6/2 文件大小:1.13 MB

下载得到文件列表

c语言第八章函数.ppt

相关文档

文档介绍

文档介绍:我的程序有上百行,如何调试最方便?
我想设计一个程序完成下面的计算:
其中,m、n为正整数且m>n
该如何设计程序最有效?
m!n! (m-n)!
?
内容提要:
概述
函数的定义
函数参数(变量、数组)和函数值
函数的调用
函数的嵌套调用
局部变量和全局变量及变量的存储类别
第八章函数
概述
C程序的结构如图所示
一个C程序可以分为若干个函数
每个程序有且只能有一个主函数(main),其它函数都是“子函数”
子函数可以互相调用,但主函数不能被调用
一个C程序由一个或多个文件构成,一个源程序文件是一个编译单位
说明:
C程序的执行从main函数开始,调用其它函数后仍回到main函数,程序在main函数结束时结束。
所有子函数都是平行的,任何子函数都不属于其它函数。
从用户角度看,函数可分为:
标准函数,即库函数
自定义函数
从函数形式看,可分为:
无参数函数:如printstar( )
有参数函数:如printf( )
例8-1
#include “”
void printstar( ) { printf(“*****************\n”); } void printmessage( ) {printf(“Hello,world.\n”); printstar( ); } void main( ) {printstar( ); printmessage( ); }
***************** Hello,world. *****************
函数定义的一般形式:
类型说明函数名([形式参数说明]) {函数体}
形式参数说明方法:
类型说明变量名[,类型说明变量名]……
1、无参数的定义形式
类型说明函数名( ) {函数体}
2、有参数的定义形式
类型说明函数名(形式参数说明) {函数体}
3、空函数的定义形式
类型说明函数名([形式参数说明]) { }
#include “stdio” int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } void main( ) { int a,b,c; scanf(“%d%d”,&a,&b); c=max(a,b) printf(“Max is%d\n”,c0); }
函数定义的一般形式
例如: int sum(int x,int y) { int z; z=x+y; return(z); } 又如 void printhello(char name[]) { printf(“Hello,%s\n”,name);
}
函数定义的一般形式:
类型说明函数名([形式参数说明]) {函数体}
一般情况下,函数体由两部分组成: {[局部变量说明]} 语句 }
局部变量: 函数体内定义的变量。其有效范围仅
限于所在函数的内部,离开函数体则无
意义。
例如: int sum(int x,int y) { int z; z=x+y; return(z); }
又如
void printhello(char name[]) { printf(“Hello,%s\n”,name);
}
函数参数和函数的值
一个C程序由若干个函数组成,
各函数调用时经常需要传递一些
数据。即调用函数把数据传递给
被调用函数,经被调用函数处理
后,得到一个确定的结果,在返
回调用函数时,把这结果带回调
用函数。
a,b
z
各函数间的信息往来是由参数传递和返回语句实现的
主调函数
被调函数
一、形式参数和实际参数
函数参数:用于函数间数据的传递 形式参数:定义函数时使用的参数 实际参数:调用函数时使用的参数

函数max有两个形式参数x和y 形参x和y只是在函数max中使用
a和b是主函数中定义的变量 main调用函数max a和b为函数max的实参
#include “stdio” int max (int x,int y) { int z; z=(x>y)?x:y; return(z); } void main( ) { int a,b,c; scanf(“%d%d”,&a,&b); c=max(a,b) printf(“Max is%d\n”,c0); }
59 95 Max is 95
一、形式参数和实际参数
说明:
1、定义函数时,必须说明形参的类型。
形参只能是变量或数组
2、函数被调用前,形参不占用内存;
函数调用结束后,形参所占用的内存
也将被收回。
3、实参可以是常量、变量或表达式。
4、实参也形参的类型必须一致。字符
型和整型可以互相匹配。
5