- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ans_函数调用.
函数间的调用关系:由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
函数间可以互相调用,但不能调用main函数。main函数是系统调用的。
在定义函数时是分别进行的,是互相独立的。一个函数并不从属于另一函数,即函数不能嵌套定义。
#include stdio.h
void f2();
void f1();
void f2()
{
void f1()
{
printf(1\n);
}
f1();
printf(2\n);
}
main()
{
f1(); f2();
getch();
}
C语言规定,在程序中用到的所有函数,必须“先定义,后使用”。定义函数包括以下几个内容:
⒈指定函数的名字,以便以后按名调用。
⒉指定函数的类型,函数值的类型。
⒊指定函数的参数的名字和类型,以便在调用函数时向它们传递数据。对无参函数不需要这项。
⒋指定函数应当执行什么操作,也就是函数是做什么的,即函数的功能。
int max(int x,int y) /* 不能写成 int x,y */
{int z;/ *函数体中的声明部分*/
z=x>y?x∶y;
return(z);
}
关于形参与实参的说明:
形参并不占内存中的存储单元。
实参可以是常量、变量或表达式,例如:max(3,a+b);
实参向形参的数据传递是单向“值传递”,只能由实参传给形参,而不能由形参传回来给实参。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。
函数的返回值说明:
一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。
如return (z); 或return z;
如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。
不带返回值的函数,应当用“void”定义函数为“无类型”(或称“空类型”)。此时在函数体中写成return;或不出现return语句。
函数的“定义”和“声明”不是一回事。
函数的定义是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。
函数的声明的作用则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查。它不包含函数体。
# include stdio.h
void main()
{ float add(float x, float y);
/*对被调用函数add的声明*/
float a,b,c;
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sum is %f \n",c);
}
float add(float x,float y) /*函数首部*/
{ float z; /* 函数体 */
z=x+y;
return(z);
}
(1)如果被调用函数的定义出现在主调函数之前,可以不必加以声明。
(2) 如果已在文件的开头(在所有函数之前),已对本文件中所调用的函数进行了声明,则在各函数中不必对其所调用的函数再作声明 。
函数的嵌套调用(调用函数过程中,又调用另一个函数;不允许嵌套定义)
递归函数(直接或间接地调用该函数本身):
#include stdio.h
int age(int n) /*求年龄的递归函数*/
{ int c; /* c用作存放函数的返回值的变量 */
if(n==1) c=10;
else c=age(n-1)+2;
return(c);
}
void main()
{ printf(″%d″,age(3));
}
数组元素可以作为函数的实参,与用变量作实参一样,是单向传递,即“值传送”方式。
用数组名作函数参数,此时形参应当用数组名或用指针变量 ,传递的是数组首元素的地址。
在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。这称为“局部变量”。
不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。
形式参数也是局部变量。
在一个函数内部,可以
您可能关注的文档
- Android项目运行流程..doc
- Android项目需求文档模板..docx
- android驱动开发和移植详解..docx
- ANewAnonymousChannelProtocolinWirelessCommunications..doc
- anf无机轻质隔热保温材料..doc
- animalbiology,reviews..doc
- AnimalLifeCycles(动物的生命周期)..doc
- ANINVESTIGATIONONTHECOMFORTPROPERTIES翻译..docx
- ANNEXE1Entitésdugouvernementfédéral..doc
- AnOutpostofProgress英文原文..doc
文档评论(0)