- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* main() { int a,b; int c; scanf(%d,%d,a,b); c=max(a,b); printf(Max is %d\n,c); } max(int x, int y) { int z; z=xy?x:y; return(z); } int型函数可不作函数说明 (Borland C++,VC++不行) float add(float x, float y) { float z; z=x+y; return(z); } main() { float a,b,c; scanf(%f,%f,a,b); c=add(a,b); printf(sum is %f,c); } 被调函数出现在主调函数 之前,不必函数说明 下列情况下,可不作函数声明: 被调用函数定义出现在主调函数之前 被调用的函数类型为整型,也可省略声明。 * #inlude stdio.h main() { int i, a, b, c , s1, s2, s3; s1=s2=s3=1; scanf(%d,%d,%d, a, b, c); for (i=1;i=a;i++) s1=s1*i; for (i=1;i=b;i++) s2=s2*i; for (i=1;i=c;i++) s3=s3*i; printf(“a!+b!+c!=%f\n, s1+s2+s3); } 编程 :求a!+b!+c!=? 方法一: * #inlude stdio.h main() { int fac(int x); int a,b,c; int s1,s2,s3; printf(“请输入 a,b,c:\n); scanf(%d, a); scanf(%d, b); scanf(%d, c); s1=fac(a); s2=fac(b); s3=fac(c); printf(“a!+b!+c!=%f, s1+s2+s3); } int fac(int x) { int i, n=1; for (i=1;i=x;i++) n=n*i; return (n); } 方法二: * 作 业 1、求1+2+……+100。(要求:用函数实现) 2、在主函数中输入两个实数,在add()函数算出两数之和,结果返回到主函数中输出。 4.2.3 函数调用的形式 按函数调用在程序中出现的形式和位置来分,可以有以下3种函数调用方式: 3. 函数参数 函数调用作为另一函数调用时的实参 如m=max(a,max(b,c)); 其中max(b,c)是一次函数调用,它的值作为max另一次调用的实参 4.3 函数调用时的数据传递 1.形式参数和实际参数 在调用有参函数时,主调函数和被调用函数之间有数据传递关系 定义函数时函数名后面的变量名称为“形式参数”(简称“形参”) 主调函数中调用一个函数时,函数名后面参数称为“实际参数”(简称“实参”) 实际参数可以是常量、变量或表达式 4.3 函数调用时的数据传递 2. 实参和形参间的数据传递 在调用函数过程中,系统会把实参的值传递给被调用函数的形参 或者说,形参从实参得到一个值 该值在函数调用期间有效,可以参加被调函数中的运算 4.3 函数调用时的数据传递 先编写max函数: int max(int x,int y) { int z; z=xy?x:y; return(z); } 4.3 函数调用时的数据传递 在max函数上面,再编写主函数 #include stdio.h int main() { int max(int x,int y); int a,b,c; printf(“two integer numbers: ); scanf(“%d,%d”,a,b); c=max(a,b); printf(“max is %d\n”,c); } 实参可以是常量、变量或表达式 4.3 函数调用时的数据传递 c=max(a,b); (main函数) int max(int x, int y) (max函数) { int z; z=xy?x:y; return(z); } 4.3 函数调用的过程 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
文档评论(0)