[工学]第四章函数正式.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第四章函数正式

4.2 函数的定义与调用 4.2.1函数的定义 一般格式 1. 函数说明(即函数原型说明、声明 ) 对被调用函数要求: 必须是已存在的函数 库函数: #include *.h 用户自定义函数: 函数类型说明 函数说明 一般形式: 函数类型 函数名(形参类型 [形参名],….. ); 或 函数类型 函数名(); 作用:告诉编译系统函数类型、参数个数及类型,以便检验 函数说明与函数定义不是一回事 函数说明位置:程序的开始处(main( )函数之前) 下列情况下,可不作函数说明 被调用函数定义出现在主调函数之前 4.4 函数的嵌套与递归 4.4.1 函数的嵌套调用 函数的嵌套调用是指在一个函数调用另一个函数的过程中,被 调函数又调用了另一个函数。 习题4.1 #include stdio.h #include math.h int prime(int n); int main() { int i,n=0; for (i=2;i=1000;i++) if (prime(i)==1) { printf(%5d,i); n=n+1; if (n%10==0) printf(“\n”); } printf(\n); return 0; } int prime(int n) { int i; for(i=2;i=sqrt(n);i++) if (n%i==0) return 0; return 1; } 习题4.4 #include stdio.h void pcn(char c,int n); int main() { int i,n; char c; scanf(%c %d,c,n); pcn(c,n); printf(\n); return 0; } void pcn(char c,int n) { int i; for (i=1;i=n;i++) printf(%c,c); } 习题4.8 #includestdio.h int f(int x,int n); int main() { int a,b; scanf(%d,%d,a,b); printf(%d^%d=%d\n,a,b,f(a,b)); return 0; } int f(int x,int n) { if (n==1) return(x); else return(x*f(x,n-1)); } 4.4.2 函数的递归调用 函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。 在递归调用中,主调函数又是被调函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层。 long fac(int n) { long f; if(n= =1) f=1; else f=n*fac(n-1); return(f); } 递归调用 函数直接或间接地调用自身叫函数的递归调用 f( ) 调f 调f2 调f1 f1( ) f2( ) 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); } 例4.10 用递归法计算n!。 分析:求解n的阶乘实际上有两种方法,一种是递推法,它是基于公式: n!=1*2*3*┅*n 实现方法是用循环完成。 另一种方法是递归方法,它是基于公式: 1 (n=0,1) n!= n*(n-1)! (n1) 可以看出,这是一个递归的定义。按公式可编程如下: #includestdio.h long fac(int n); /* 求阶乘函数原型声明 */

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档