- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#include stdio.h long sum(int a, int b); long factorial(int n); main() { int n1,n2; long a; scanf(%d,%d,n1,n2); a=sum(n1,n2); printf(a=%1d,a); } long sum(int a,int b) { long c1,c2; c1=factorial(a); c2=factorial(b); return(c1+c2); } long factorial(int n) { long rtn=1; int i; for(i=1;i=n;i++) rtn*=i; return(rtn); } long sum(int a, int b); long factorial(int n); 文件包含编译预处理命令 函数类型说明 函数定义 函数调用 函数调用 函数返回值 形参 实参 例子解析 嵌套调用 C规定:函数定义不可嵌套,但可以嵌套调用函数 main( ) 调用函数a 结束 a函数 b函数 调用函数b ? ? ? ? ? ? ? ? ? 6.6 函数的嵌套与递归调用 #include stdio.h int dif(int x,int y,int z); int max(int x,int y,int z); int min(int x,int y,int z); void main() { int a,b,c,d; scanf(%d%d%d,a,b,c); d=dif(a,b,c); printf(Max-Min=%d\n,d); } Ch7_202.c int dif(int x,int y,int z) { return max(x,y,z)-min(x,y,z); } int max(int x,int y,int z) { int r; r=xy?x:y; return(rz?r:z); } int min(int x,int y,int z) { int r; r=xy?x:y; return(rz?r:z); } main( ) 调用函数dif 输出 结束 dif函数 max函数 调用函数max 调用函数min min函数 例 求三个数中最大数和最小数的差值 定义:函数直接或间接的调用自身叫函数的递归调用 f( ) 调f 调f2 调f1 f1( ) f2( ) 说明 C编译系统对递归函数的自调用次数没有限制 每调用函数一次,在内存堆栈区分配空间,用于存放函数变量、返回值等信息,所以递归次数过多,可能引起堆栈溢出 int f(int x) { int y,z; …… z=f(y); ……. return(2*z); } int f1(int x) { int y,z; …… z=f2(y); ……. return(2*z); } int f2(int t) { int a,c; …… c=f1(a); ……. return(3+c); } 递归调用 /*ch7_8.c*/ #include stdio.h int fac(int n) { int f; if(n0) printf(n0,data error!); else if(n==0||n==1) f=1; else f=fac(n-1)*n; return(f); } main() { int n, y; printf(Input a integer number:); scanf(%d,n); y=fac(n); printf(%d! =%15d,n,y); } 例 求n的阶乘 6.7 数组作为函数参数 数组元素作函数实参——值传递 例 两个数组大小比较 4 3 2 1 0 5 a 56 23 12 10 76 88 4 3 2 1 0 5 b 21 23 43 98 66 54 n=0 m=0 k=0 i n=0 m=0 k=1 i n=0 m=1 k=1 i n=1 m=1 k=1 i n=1 m=1 k=2 i n=2 m=1 k=2 i
您可能关注的文档
最近下载
- (某某公司)某某煤矿灾害治理三年规划(OA).docx VIP
- 幼儿园办园章程加入党建工作【3篇】.doc VIP
- 新外研版高二英语选择性必修二unit3Emoji a new language课件.pptx
- 天翼云从业者认证练习试题.doc
- 哈弗-哈弗H6-产品使用说明书-哈弗H6 1.5T自动两驱精英型-CC6460RM07-哈弗H6(升级版)-使用说明书-中文-01-16.01-01M.pdf
- 毕业论文(设计)薄壁筒型零件的工艺研究.doc VIP
- 《施耐德变频器ATV71说明书》.pdf
- 汉语言文学(师范)《修辞学》课程教学大纲.pdf
- 钢材运输航行船舶货物系固手册.docx VIP
- 2024知识考核消防设施操作员中级监控操作方向真题考试(含答案).docx
文档评论(0)