1 / 94
文档名称:

C语言 第八章函数.ppt

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

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

分享

预览

C语言 第八章函数.ppt

上传人:mh900965 2018/4/22 文件大小:543 KB

下载得到文件列表

C语言 第八章函数.ppt

相关文档

文档介绍

文档介绍:第八章函数
函数定义的一般形式
函数参数和函数的值
函数的调用
数组作为函数参数
函数的嵌套调用/函数的递归调用
局部变量和全局变量
变量的存储类别
内部函数和外部函数
如何运行一个多文件的程序
§ 概述
一个较大的程序一般应分为若干程序模块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。
一个C程序可以由一个主函数和若干个函数构成,由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次
Main( )
scanf( )
printf( )
max( )
x( )
printf( )
y( )
getchar( )
max( )
main()
{
star();
message();
star();
}
star()
{
printf("*************\n");
}
message()
{
printf("game over!\n");
}
说明:
1、一个源文件由一个或多个函数组成,是一个编译单位
2、一个C程序由一个或多个源文件组成
3、C程序的执行由main函数开始,调用其他函数后回到main函数
4、所有的函数都是平行的,在定义的时候相互独立。一个函数并不从属于另一个函数,函数间可以相互调用
5、从用户角度看,函数有两种:标准函数(库函数)、用户自定义函数
有返回值
无返回值
无参函数:在调用无参函数时,主调函数并不将数据传送给被调用函数
有参函数:在调用函数时,在主调函数和被调用函数之间有数据传递
函数的分类:
1、根据有无返回值分:


2、根据函数有无参数来分:
§ 函数定义的一般形式

类型标识符函数名( )
{
说明部分
语句
}
例如:
nihao( ) /*nihao函数,功能:显示一字符串*/
{
printf(" How do you do!\n");
}
该函数无形式参数列表
类型标识符指定函数值的类型,即函数带回来的值的类型,无参函数一般不需要带回函数值,因此可以不写类型标识符
例如:

int max ( int x, int y)
{
int z; /*函数内部定义的变量*/
z = x>y ? x:y;
return (z); /*return语句使函数结束执行,返回主调函数,
括号内的z值作为函数带回的值(返回值)*/
}

类型标识符函数名(形式参数列表)
{ 说明部分
语句
}
类型标识符
函数名
形式参数列表,该函数有
两个形式参数,均为整型
3、函数定义的其他形式
1).可以有空函数
int dummy ( )
{
}
2).无返回值函数
[void] doit (...)
{
... ...
}
类型标识符说明为void,表示函数无返回值,即该函数执行后不返回任何值。
无形式参数
函数体中无任何语句,称为“空函数
§ 函数参数和函数的值
一、形式参数和实际参数
形式参数:在定义函数时使用的参数, 简称“形参”, 形参是一个变量.
实际参数:在调用函数时使用的参数,简称“实参”,实参是一个表达式.

主调用函数与被调用函数之间的数据传递,就是通过形参与实参之间的数据传递实现的。
、输入两个整数,求它们的最大值。求最大值用函数max实现。
main ()
{

int a, b, c;
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max is %d\n",c);
}
int max(int x,int y)
{
int z;
z = x>y ? x:y;
return( z);
}
max(a ,b)
main ( )函数
max函数
max(x,y)
return(z)
计算z
x和y是形式参数
a和b是实际参数
关于形参与实参的说明:
1、在定义函数中指定的形参,在未发生函数调用时,不占内存空间。它们是动态分配的 2、实参可以是常量、变量或表达式,但是要求有确定的值,在函数调用时,将实参的值传给形参变量(如果形参是数组名,则传递的是数组首地址而不是数组的值) 3、在被定义的函数中,必须指定形参的类型如:int max(int x,int y)