- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1
掌握函数的定义与调用方法,函数参数的传递方式
2
变量存储类型及变量的生存期和有效范围
3
掌握函数的嵌套调用与递归调用
4
了解带参数的main函数
教学目的与要求
函数定义
函数调用
函数声明等基本概念
函数的嵌套调用与递归调用
函数参数的值传送
变量的存储类别与作用域
难点:
函数的递归调用
静态变量
重点与难点
重点:
引例:设计学生信息管理的程序
学生信息管理系统
录入
查询
修改
删除
01.
02.
03.
04.
【引例】编写程序计算组合数:
n!
C(n,k)=────
k!(n-k)!
4.1概述
模块化程序设计思想:将一个大的程序按功能分解成一些小模块,使每一模块成为:
功能单一
结构清晰
接口简单
容易理解
的子程序。
C语言中的函数
f
main
x
y
z
01
02
例1.求2个数中较大者。
#includestdio.h
voidmain()
{inta,b,max;
scanf(%d,%d,a,b);
if(ab)max=a;
elsemax=b;
printf(max=%d\n,max);
}
4.1程序解析
#includestdio.h
voidmain()
{intmax(intx,inty);
/*对被调用函数max的声明*/
inta,b,c;
scanf(%d,%d,a,b);
c=max(a,b);
/*调用max函数,将得到的值赋给c*/
printf(max=%d\n,c);
}
/*max函数的定义*/
intmax(intx,inty)
{intz;
if(xy)z=x;
elsez=y;
return(z);
}
01.
例2.输入圆柱体的高和半径,求圆柱体积,volume=π*r2*h。
02.
要求定义和调用函数cylinder(r,h)计算圆柱体的体积。
#includestdio.h
intmain(void)
{
doubleheight,radius,volume;
doublecylinder(doubler,doubleh);/*函数声明*/
printf(Enterradiusandheight:);
scanf(%lf%lf,radius,height);
/*调用函数,返回值赋给volume*/
volume=cylinder(radius,height);
printf(Volume=%.3f\n,volume);
return0;
}
/*定义求圆柱体积的函数*/
doublecylinder(doubler,doubleh)
{
doubleresult;
result=3.1415926*r*r*h;/*计算体积*/
returnresult; /*返回结果*/
}
Enterradiusandheight:3.010
Volume=282.743
例3.输出n个空格的函数。
输出空格
#includestdio.h
voidmain()
{voidspc(intn);
inta;
scanf(%d,a);
spc(a);
}
voidspc(intn)
{inti;
for(i=0;in;i++)printf();
return;
}
有一个空格
【引例】编写程序计算组合数:
阶乘引例
#includestdio.h
main()
{intn,k,c;
printf(pleaseinput(n,k)\n);
scanf(%d,%d,n,k);
c=fac(n)/(fac(k)*fac(n-k));
printf(C(n,k)=%d\n,c);}
intfac(intm)
{
inti,s=1;
for(i=1;i=m;i++)
s*=i;
return(s);
}
n!
C(n,k)=────
k!(n-k)!
说明:
(1)(2)一个源程序文件(.c)由一个或多个函数构成。
(3)c程序的执行从函数开始;执行过程中调用其他函数,该函数执行结束后返回
您可能关注的文档
最近下载
- 急性胰腺炎护理查房课件(完整版).pptx VIP
- 如何做合格的研究生导师.ppt VIP
- GB50084-2001(2005版)自动喷水灭火系统设计规范.docx VIP
- 绿色“垃圾不落地城市更美丽”节能环保树立垃圾分类新观念PPT模板课件.pptx VIP
- 铁路栅栏改移重点项目施工专项方案.doc
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.8.pdf VIP
- 精品解析:北京市八中2023-2024学年九年级上学期期中考试物理试题(解析版).docx VIP
- 大数据互联网科技PPT模板 .pptx VIP
- (人教版)九年级英语第一次月考试卷(含答案).pdf VIP
- 隐球菌性脑膜炎护理.pptx VIP
文档评论(0)