- 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程序的模块结构;三. 函数分类
1. 从用户角度
标准函数(库函数):由系统提供
用户自定义函数; §6.2 函数的定义
一. 一般格式; 一. 形式参数与实际参数
形式参数:定义函数时函数名后面 括号中的变量
(简称形参)
实际参数:调用函数时函数名后面括号中的表达式
(简称实参);3. 关于形参和实参的说明:
形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放
实参可以是常量、变量或表达式,但它们必须有确定的值
在定义函数时,必须指定形参的类型
形参与实参应类型一致,个数相同,若形参与实参类型不一致,自动按形参类型转换—函数调用转换
调用函数时,将实参变量的值传送给形参变量
;例6-2 计算x的立方; 二. 函数的返回值
◆ 返回语句
1. 形式: return(表达式);
或 return 表达式;
或 return;
2. 功能:使程序控制从被调用函数返回到调用函数中,同时把
返回值带给调用函数
3. 说明:
●函数中可有多个return语句
●若无return语句,遇 }时,自动返回调用函数
●若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换
●void型函数;例6-3 函数返回值类型转换;§ 6.4 函数的调用
一. 调用形式:
函数名(实参表);
★ 说明:
实参与形参个数相等,类型一致,按顺序一一对应
实参表求值顺序,因系统而定(Turbo C 自右向左);int f(int a, int b)
{ int c;
if(ab) c=1;
else if(a= =b) c=0;
else c=-1;
return(c);
}
void main()
{ int i=2,p;
p=f(i,++i);
printf(%d,p);
};二. 函数调用方式
1. 函数语句:
例 printstar();
printf(“Hello,World!\n”);
2. 函数表达式:
例 c= 2 * max(a,b);
3. 函数参数:
例 printf(“%d”,max(a,b));
m=max(a,max(b,c));;三. 函数声明
1. 对被调用函数要求:
必须是已存在的函数
库函数: #include *.h
用户自定义函数: 函数类型声明
2. 函数声明的一般形式:
函数类型 函数名(形参类型 [形参名],….. );
( 或 函数类型 函数名(); )
3. 函数声明的作用: 告诉编译系统函数类型、参数个数及类型,以便检验;4. 函数声明位置:程序的数据说明部分(函数内 或外)
5. 函数声明与函数定义不同
6. 下列情况下,可不作函数声明
若函数类型是 int 型(tc和vc++中通不过)
被调用函数定义出现在主调函数之前
如果已在所有函数定义之前,在函数的外部已做了函
数声明,则在各个主调函数中不必对所调用的函数再做声明;例6-5 函数声明举例;课堂练习;课堂练习;课堂练习; §6.5 函数的嵌套与递归调用
一. 嵌套调用
C规定:函数定义不可嵌套可以嵌套调用函数;例6-6 求三个数中最大数和最小数的差值;例6-7 用弦截法求方程根;输入x1、x2,求f(x1) 、f(x2),直到f(x1)、f(x2)异号;;结果:
Input x1,x2:
2,6?
A root of equation is 5.0000;二. 递归调用
1.定义:函数直接或间接的调用自身叫函数的递归调用;2. 关于递归调用的说明
① C编译系统对递归函数的自调用次数没有
限制
② 每调用函数一次,就要在内存区分配空间,用于存放函数变量、返回值等信息,所以递归次数过多,可能会引起时间和空间的耗费过多;3.能够采用递归方法须满足的条件:;例6-8: 求n的阶乘;输出3!=6
结束;;分析;#include stdio.h
int age(int n)
{ int c;
if(n==1) c=10;
else c=age(n-1) +2;
return(c);
}
main()
{ int n;
print
您可能关注的文档
- 怎样做一个优秀的物理教师( 浙师大).ppt
- 增长极理论与区域经济发展核心区的确定.ppt
- 长安大学《测量学》第八章__大比例尺地形图测绘.ppt
- 长春恒盛项目营销策划报告.pdf
- 长沙环境保护职业技术学院毕业论文-农业废弃物对铅的吸收.doc
- 招聘渠道汇集及优缺点分析.doc
- 沼气产业化调研报告.doc
- 浙江红波ONPOW开关按钮&指示灯选型手册.pdf
- 整合资源_建立县_乡级反家庭暴力的支持性社会环境.pdf
- 整体橱柜的设计流程.doc
- 2012天津市大学软件园专升本c语言_第七章_编译预处理.ppt
- 2012天津市大学软件园专升本c语言_第三章_最简单的C程序.ppt
- 2012天津市大学软件园专升本c语言_第四章_C程序流程设计.ppt
- 2012天津市大学软件园专升本c语言_第五章_数组.ppt
- 2012天津市大学软件园专升本c语言_第一章_c语言概述.ppt
- 2012职业技能实训平台(单机版)_基础会计答案_最全.doc
- 2013-2017年中国暖气片行业专项调研及投资前景研究报告.doc
- 2013-2017年中国汽车车厢板行业专项调研及投资前景研究报告.doc
- 2013-2017年中国汽车顶蓬行业专项调研及投资前景研究报告.doc
- 2013-2017年中国汽缸垫行业竞争格局与市场前景研究报告.doc
最近下载
- 高中数学《集合的概念及其基本运算》导学教案.doc VIP
- 人教版八年级下英语单词默写表格(整理打印).pdf VIP
- 九年级下册数学《二次函数》二次函数的性质.doc VIP
- 第一批产学合作协同育人项目简介.doc VIP
- 女性生育力保存PPT课件.pptx VIP
- STEAM跨学科课程整合的理念、模式构建与实施挑战研究.docx VIP
- 产学合作协同育人创新创业教育改革项目申报书模板(包含内容).docx VIP
- 110千伏输电线路工程专业监理实施细则.doc VIP
- 智慧乡村、智慧农业产供销一体化、可追溯平台建设方案.pdf VIP
- 产学合作协同育人教学内容和课程体系改革项目申报书模板—基于计算思维的大学计算机课程思政案例构建与实践(包含申报书内容、合作方案、合作协议).docx
文档评论(0)