1 / 62
文档名称:

C语言 函数.ppt

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

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

分享

预览

C语言 函数.ppt

上传人:1640869425 2015/10/19 文件大小:0 KB

下载得到文件列表

C语言 函数.ppt

相关文档

文档介绍

文档介绍:第六章函数与预编译处理
教学目的要求:
1、掌握函数的一般概念和使用的时机
2、了解模块化程序设计的基本概念
3、掌握标准函数库的使用
4、掌握函数定义的形式、调用以及参数和参数传递
5、掌握编译预处理,尤其是宏定义
6、能灵活运用函数进行编程
重点·难点:
1、模块化的概念及其设计原则
2、标准函数的使用方法
3、函数的概念、定义的形式、参数的传递以及实参、形参的区别
4、编译预处理中的带参宏定义
5、函数的嵌套调用
函数
1、概述
2、函数定义的形式
3、函数的参数
5、函数的调用
4、函数的值
7、函数的存储类别
8、内部函数和外部函数*
9、多文件的程序的运行*
6、变量的作用范围
概述
一件事情往往要实现多个功能
一个程序
多个函数
一个C程序可由一个主函数和若干个函数构成。
main
a
b
c
d
e
f
g
h
h
i
e
g
i
由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
关于函数的几点说明
1、一个源程序文件由一个或者多个函数组成。
一个源程序文件是一个编译单位,而不是以函数为单位进行编译.
2、一个C程序由一个或者多个源文件组成。
3、从用户使用的角度看,函数有两种:
标准函数和用户自己定义的函数.
4、从函数的形式看,函数有两种:
无参函数和有参函数.
print_star( )
{
printf( “* * * * * * * * * * * * * * * * * *”);
}
概述
* * * * * * * * * * * * * * * * *
How do you do!
* * * * * * * * * * * * * * * * *
print_message( )
{printf( “\nHow do you do ! \n”);
}
main( )
{
printf_star( ); /* 调用printstar函数*/
print_message( ); /* 调用print_message函数*/
printf_star( ); /* printstar函数*/
}
2、有参函数的定义形式
类型标识符函数名(形式参数表列)
{
声明部分
语句
}
函数定义的形式(1)
1、   无参函数的定义形式
类型标识符函数名()
{
声明部分
语句
}
int max( int x,int y )
{ int z ;
z = x > y ? x : y ;
return( z ) ;
}
函数类型函数名(参数类型参数名,……, 参数类型参数名)
print_message( )
{
printf( “How do you do ! \n”);
}
关于定义的说明(1)
int max( int x , int y )
{
int z ;
z = x > y ? x : y ;
return( z ) ;
}
1、函数类型
函数类型就是函数的返回值类型。
如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。
因此上面定义的max函数左端的int可以省写。
说明:
(1) 既然函数有返回值,这个值当然应属于某一个确定的类型,
应当在定义函数时指定函数值的类型。
(2) 凡不加类型说明的函数,一律自动按int处理。
(3) 在定义函数时return语句中的表达式类型一般应该和函数
说明的类型一致。
int max( int x , int y )
{
int z ;
z = x > y ? x : y ;
return( z ) ;
}
3、参数表
括号中出现的为参数表。上例有两个形式
参数x和y,均是整型。在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系。主调函数把实参的值传递给被调用函数max中的形参x和y,这时x和y才获得相应的存储单元。其本质是进行值的复制.
形式参数:在定义函数时函数后面括弧中的变量名称为“形式参数”(简称“形参”),int max( int x , int y )
实际参数:在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(简称“实参”),
c = max( a , b )。
2、函数名
即函数的标识符,用于函数的调用与声明。如:max为函数名
例(2)
例2 调用函数时的数据传递
通过函调用,使两个函数中的变量发生联系.
main( )
{
int a,b,c;
scanf(“%d,%d”,&a,&b);
c=max(a,b);
printf(“Max i