1 / 16
文档名称:

第16讲_函数的调用、函数的说明.ppt

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

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

分享

预览

第16讲_函数的调用、函数的说明.ppt

上传人:所以所以 2012/7/10 文件大小:0 KB

下载得到文件列表

第16讲_函数的调用、函数的说明.ppt

文档介绍

文档介绍:第16讲
函数的调用、函数的说明
说明:
(1) 调用函数时,其名字必须与定义的名字相同。
(2) 函数调用时的实参只写名字不需要在名字前再带实参类型。如上面main函数中对max2函数的调用不能写成: max = max2(int a,int b);
§ 函数的调用 1. 函数调用的一般形式: 函数名(实参表);
说明:
(3) 实参与形参,个数应一致。若实参少,则必有形参未得到值(不确定值),影响结果。若实参多,则多余的无效(TC)。
如:c=max2(3); 则c的值为:761(随机值)
若:c=max2(3,5,8); 则c的值为: 5
(4) 实参与形参的类型应一一对应相匹配。若不匹配,程序仍能运行,但得不出正确结果(TC)。
如:c=max(,); 则c的值为: 0
若:c=max(3L,5L); 则c的值为: 3
函数调用说明(续)
(5) 函数必须先定义,后调用。将要被调用的函数定义在前,调用在后。返回值类型为int或char的函数可例外。
(6) 函数可直接或间接地自己调用自己(递归调用,)
函数调用说明(续)
(7) 实参表求值顺序,因系统而定(Turbo C 自右向左)
#include ""
void main()
{ int p=2;
printf("%d,%d,%d\n",p,++p,p);
} /*TC: 3,3,2 VC: 3,3,2*/
#include ""
void main()
{ int p=2;
printf("%d,%d,%d\n",p,p++,p);
}/*TC: 3,2,2 VC: 2,2,2*/
2. 函数调用的方式
1. 函数表达式: 例 m=max(a,b)*2;
2. 函数语句: 例 printstar();
printf("Hello,World!\n ");
3. 函数参数: 例 printf("%d ",max(a,b));
m=max(a,max(b,c));
§ 函数的说明
在C语言中,除了主函数外,对于用户定义的函数要遵循“先定义,后使用”的规则。凡是未在调用之前定义的函数,C编译程序默认函数的返回值为int类型。对于返回值为其它类型的函数,若把函数的定义放在调用之后,应该在调用之前对函数进行说明(或称为函数原型说明)。
C语言对被调用函数要求:
必须是已存在的函数
库函数: #include <*.h>
用户自定义函数: 函数类型说明
1. 函数说明一般形式
函数类型函数名(形参类型[形参名],….. );
函数类型函数名( );

main( )
{float a,b,c;
float max2(float x, float y); /* 函数的说明*/
scanf("%f%f ",&a,&b);
c=max2(a,b); /* 函数的调用*/
printf("%f\n",c);
}
float max2(float x,float y) /* 以下为函数的定义*/
{float z;
if(x>y) z=x;
else z=y;
return(y);
}
例如:
函数说明语句
作用:告诉编译系统max2函数是float类型的、有2个float类型的参数。
可选
在VC中不允许
说明
(1)函数说明可以是一个独立的语句;如上面例子中就是采用独立语句的形式。
(2)函数说明中的形参名是一种虚设,它们可以是任意的用户标识符,既不必与函数首部中的形参名一致,又可以与程序中的任意用户标识符同名。因此,参数名也可以省略。
如上面的例子中函数说明可写成: float max2(float,float);