- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
樊媛媛c语言程序设计08函数
8.2 函数的定义和调用
通过例子来说明如何定义和调用函数:
对于求两个数中的最大值,有三个步骤:
(1)从键盘输入两个数给a和b。
(2)求a和b中的最大值。
(3)输出结果。
把求最大值的算法部分定义成一个独立的函数:
;函数类型 函数名 函数参数(形参)
int max(int x,int y) main()
{ int z; { int a,b,c;
if(xy)z=x; scanf(“%d%d”,a,b);
else z=y; c=max(a,b);
return(z); printf(“%d”,c);
} }
eg8-01.c
x y z a b c;说明:
(1)程序由两个函数组成,它们逻辑上相互独立(功能、变量)。
(2)程序的执行总是从主函数开始,主函数总是被执行一次,其他函数只有在被调用时才获得控制。
(3)函数调用有两个作用:转移控制权和传递参数。
(4)return的作用也有两个:交回控制权和返回结果。
(5)实参可以是常量、变量或表达式,但类型要一致。; 定义一个函数除考虑算法外就是:如何设计函数的参数,通过何种途径交回结果。
例:求自然数1—100中的素数之和。eg8-02.C
? prime( ? ) main()
{ int i; { int i,s=0;
for(i=2;im;i++) for(i=1;i=100;i++)
if(m%i==0) ? if(prime(i) ) s+=i;
? printf(“\n %d”,s);
} } ;例:求5!+7!+4!的值。eg8-03.c
? fac( ? )
{ int i,s=1;
for(i=1;i=n;i++) s*=i;
return(s);
}
main()
{
printf(“\n%d”,fac(5)+fac(7)+fac(4));
}
;main()
{ int s,fac(); 对被调函数声明
s=fac(5)+fac(7)+fac(4);
printf(“\n%d”,s);
}
int fac(int n)
{ int i; int s=1;
for(i=1;i=n;i++) s*=i;
return(s);
} eg8-03-1.c
不需声明的情况:int char 主调函数在后(P165); 若被调用的函数是库函数,则应用#include命令将所调用函数的有关信息包含进来,如:
例:eg8-04.C
#include “math.h”
main()
{ float x,y;
scanf(%f”,x);
y=sin(x);
printf(“%f”,y);
}; 8.3 函数的嵌套调用
C语言的函数定???虽然相互平行、相互独立的,但可以嵌套调用,形如:
主函数 函数A 函数B
;
例:求多项式 S= ∑i!+ ∑i!+ ∑i!的值。
eg8-05.C
float fac(int n) {…}
? sum( ? )
{ int i; float s=0;
for( i=? ) s+=fac(i);
return(s);
} }
main()
{ printf(“%f”,sum(1,5)+sum(7,11)+sum(15,20); } ;8.4 函数的递归调用
在函数调用的过程中,出现直接或间接地调用该函数本身。如:
f1() f2() f
您可能关注的文档
- 影楼各种门市培训课件秀场快速谈单.pptx
- 浙教版科学七年级下册教学课件—31机械运动.pptx
- 水化学池塘养殖水体水质调控.pptx
- 拟肾上腺素药和抗肾上腺素.pptx
- 数据加密技术序列加密.pptx
- 新课标人教版初中数学八年级下册182勾股定理的逆定理.pptx
- 概率论与数理统计浙大四版习题解答.pptx
- 审计学杨振华购货与付款循环审计.pptx
- 保险学概论王彦晓保险的性质职能与.pptx
- 475输入系统与红外传感器.pptx
- 干预手术室环境,减少细菌感染风险.pptx
- 企业并购定价倍数差异剖析与经济自由度指数中国悖论的深度阐释.docx
- PMN-PT纳米线水热合成及其在柔性纳米发电机中的应用探索.docx
- 基于DMSP_OLS夜间灯光数据的中国与中亚五国区域网络建模及结构解析.docx
- 高分辨率遥感影像道路检测:技术演进与应用突破.docx
- 解析中国光肩星天牛种群:表型多样性与遗传变异的深度洞察.docx
- 高血压执业指南.pptx
- 窄缝通道过冷沸腾:流动换热与壁面核化特性的实验解析.docx
- 双碳目标下企业绿色经营理论架构与绩效评价体系研究.docx
- N⁺注入对保加利亚乳杆菌的多维度影响研究:生产特性与酶活性的新洞察.docx
文档评论(0)