《函数c语言》ppt课件

《函数c语言》ppt课件

ID:40024688

大小:118.00 KB

页数:19页

时间:2019-07-17

《函数c语言》ppt课件_第1页
《函数c语言》ppt课件_第2页
《函数c语言》ppt课件_第3页
《函数c语言》ppt课件_第4页
《函数c语言》ppt课件_第5页
资源描述:

《《函数c语言》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章函数内蒙古科技大学实训中心实参与形参的对应关系有四种情况:⑴形参和实参都用数组⑵实参用数组名,形参用指针⑶实参形参都用指针⑷实参用指针,形参用数组名例编写一个判断字符串是否为“回文”的函数,如果是回文数则函数的返回值为1,不是回文数则返回0。所谓“回文”数是指顺读与倒读都相同的字符串,例如“ABCDCBA”。abcdcbaa[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]main(){chara[20];intf;gets(a);f=func(a);if(f==1)printf(“它是回文数”);else

2、printf(“它不是回文数”);}引入——求1+2+3+……+n的值#includeintsum(intn);main(){intn;ints=0;scanf(“%d”,&n);/*例如输入50,则n为50*/for(i=1;i<=n;i++)s=s+i;printf(“heis%d”,s);}sum(n);s=#includeintsum(intn);main(){intn;intresult;scanf(“%d”,&n);/*例如输入50,则n为50*/result=sum(n);p

3、rintf(“heis%d”,result);}intsum(intn){inti;ints=0;for(i=1;i<=n;i++)s=s+i;return(s);}改进——求1+2!+3!+……+n!的值jc(i)intjc(intn){inti;intt=1;for(i=1;i<=n;i++)t*=i;return(t);}答案——求1+2!+3!+……+n!的值#includedoublesum(intn);doublejc(intn);main(){intn;doubleresul

4、t;scanf(“%d”,&n);result=sum(n);printf(“1+2!+3!+……+%d!=%f”,n,result);}doublejc(intn){inti;doublet=1;for(i=1;i<=n;i++)t*=i;return(t);}doublesum(intn){inti;doubles=0;for(i=1;i<=n;i++)s=s+jc(i);return(s);}8.8函数的嵌套调用函数的嵌套调用——在调用一个函数的过程中,又调用另一个函数。1.C语言的函数定义是平行的、独立

5、的,一个函数内不能再定义另外一个函数。2.C语言不能嵌套定义函数,但可以嵌套调用函数。main(){a();}a(){b();}b(){}作业整理笔记认真阅读148~149页152~167页自主编程170页8.5用调用函数的方法求:链接两个字符串(参考在后)用两种方法完成1!+2!+3!+……+n!用调用函数方法,实现两个字符串的连接。main(){chara[50],b[20];gets(a);gets(b);func(a,b);puts(a);}main(){chara[50],b[20];char*p,*q;gets(a);g

6、ets(b);p=a;q=b;func(p,q);puts(a);}eraoohuoyab预习在后8.9函数的递归调用f函数调用f函数调用f1函数f1函数调用f2函数f2函数递归调用在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。直接调用本函数间接调用本函数例——求n!main(){intn;doubleresult;doublefun(intn);scanf(“%d”,&n);result=fun(n);printf(“%d!=%f”,n,result);}d

7、oublefun(intn){inti;doublet=1;for(i=1;i<=n;i++)t*=i;return(t);}例——间接递归调用求n!如果我们定义fun()这个函数为求阶乘函数,则fun(n)=n*fun(n-1)当n==1或n==0时,阶层值为1当n>=2时,阶层值为fun(n)=n*fun(n-1)现在用递归法求n!,方法是:5!=4!*54!=3!*43!=2!*32!=1!*21!=1通式为:n!=(n-1)!*n数学模型(公式):fun(0)=1,fun(1)=1;fun(n)=n*fun(n-1

8、);/*n>=2*/求出n!的值。(用递归法)doublefun(intn){if(n==1

9、

10、n==0)return(1);elsereturn(n*fun(n-1));}main(){intn;doubleresult;doubl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。