书名:《编程解决问题之程序设计语言(c语言)》 《编程

书名:《编程解决问题之程序设计语言(c语言)》 《编程

ID:35783342

大小:56.00 KB

页数:4页

时间:2019-04-18

书名:《编程解决问题之程序设计语言(c语言)》 《编程_第1页
书名:《编程解决问题之程序设计语言(c语言)》 《编程_第2页
书名:《编程解决问题之程序设计语言(c语言)》 《编程_第3页
书名:《编程解决问题之程序设计语言(c语言)》 《编程_第4页
资源描述:

《书名:《编程解决问题之程序设计语言(c语言)》 《编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章函数的定义与使用在编程时,如果程序的代码量很大,我们可以按照功能将程序分块:提取出相应的程序代码,加入必要成分形成一个主程序的子程序,这个子程序通常又就被称为函数。我们在主程序里可以像调用其它已知函数一样,调用该子程序。这样做,既可以减少重复利用该功能书写代码的工作量,方便多次调用,又可以为程序出错时查找错误带来便利。对于规模很大的程序而言,程序按模块设计,既便于程序员间的分工合作,又有利于程序后期的调试和维护,是软件开发设计中的一个很重要的设计思想。8.1、函数的定义函数的定义就是按照需要,将原来主程序中的部分代码提取出来,补

2、充出一些辅助内容,使之形成一个子程序的过程。函数定义的一般形式:类型标识符函数名(){声明部分语句}说明:1、类型表示符可以是任何一种数据类型,标明函数返回值的数据类型,也可以直接放置“void”标识符,标明函数不需要返回任何数据类型的函数值。2、函数名就是为这段代码给子程序定义的名字,函数名后边的括号内可以放置函数被调用时所需的别要参数。3、函数的主体部分,就是函数所要完成的功能,以及必要的变量定义等程序必备的内容。4、函数也可以作为一个主体调用其它函数,一个函数调用另外一个函数称为嵌套,一个函数调用自己(形式上是自己,执行的初始参

3、数会有所不同)称为递归。示例1、求最大值函数intmax(inta,intb){if(a>b)returna;elsereturnb;}功能:求两个数中的最大值的函数,return向调用函数返回最大值。示例2、在函数中求1+2+3+…+n的和,并直接输出。Voidsum(intn){inti=0,s=0;3for(i=1;i<=n;i++)s=s+i;printf(“sum=%d”,s);}示例3、求四个数中的最大值。intmax1(inta,intb){if(a>b)returna;elsereturnb;}intmax4(){

4、inta,b,c,d,x1,x2;scanf("%d%d%d%d",&a,&b,&c,&d);x1=max1(a,b);x2=max1(c,d);printf("max4=%d",max1(x1,x2));}示例4*、求1+2+3+…+n的和,递归实现。Intsum(intn){ints;if(n==1)s=1;elses=sum(n-1)+n;returns;}8.2、函数的引用实例8.1、求四个数中的最大值。#include#includeintmax1(inta,intb){if(a>b

5、)returna;elsereturnb;}intmax4(){inta,b,c,d,x1,x2;3scanf("%d%d%d%d",&a,&b,&c,&d);x1=max1(a,b);x2=max1(c,d);printf("max4=%d",max1(x1,x2));}main(){max4();system("pause");}实例8.2、求组合数C(n,m)=n!/((m!)*(n-m)!)#include#includeintp(intk){inti,jch=1;for(i=2;i<

6、=k;i++)jch=jch*i;return(jch);}voidc(intn,intm){intresult;result=p(n)/(p(n-m)*p(m));printf("P(n,m)=%d",result);}main(){intn,m;printf("Inputn,m:");scanf("%d%d",&n,&m);c(n,m);system("pause");}实例8.3*、汉诺塔游戏,有A,B,C三根柱子,A柱子上套有若干由小到大(小的在上)不同的圆环,要求,.每次移动一个圆环,小的只能叠在大的上面,把所有圆环从A

7、柱子经过B柱子全部移到C柱子上。#include#includevoidhanuo(intn,chara,charb,charc){if(n==1)printf("1--%c--%c",a,c);3else{hanuo(n-1,a,c,b);printf("%d--%c--%c",n,a,c);hanuo(n-1,b,a,c);}}main(){intn;printf("Inputn:");scanf("%d",&n);hanuo(n,'A','B','C');system("pause"

8、);}知识扩展:本章内容,同学们可以参考参考书目1的第八章。除了本章所述内容外,参数传递、全局变量和局部变量的等相关内容,同学们也可以在本章找到,这些内容对于熟练使用函数都是非常有帮助的内容。上机实践:练习实例8.1、8

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

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

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