《书名:《编程解决问题之程序设计语言(c语言)》 《编程.doc》由会员分享,可在线阅读,更多相关《书名:《编程解决问题之程序设计语言(c语言)》 《编程.doc(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第八章第八章 函数的定义与使用函数的定义与使用在编程时,如果程序的代码量很大,我们可以按照功能将程序分块:提取出相应的程序代码, 加入必要成分形成一个主程序的子程序,这个子程序通常又就被称为函数。我们在主程序里可以像 调用其它已知函数一样,调用该子程序。这样做,既可以减少重复利用该功能书写代码的工作量, 方便多次调用,又可以为程序出错时查找错误带来便利。对于规模很大的程序而言,程序按模块设 计,既便于程序员间的分工合作,又有利于程序后期的调试和维护,是软件开发设计中的一个很重 要的设计思想。8.18.1、函数的定义、函数的定义函数的定义就是按照需要,将原来主程序中的部分代码提取出来,补充出一些
2、辅助内容,使之 形成一个子程序的过程。 函数定义的一般形式: 类型标识符 函数名()声明部分语句 说明: 1、类型表示符可以是任何一种数据类型,标明函数返回值的数据类型,也可以直接放置“void”标识符,标明函数不需要返回任何数据类型的函数值。 2、函数名就是为这段代码给子程序定义的名字,函数名后边的括号内可以放置函数被调用时所 需的别要参数。 3、函数的主体部分,就是函数所要完成的功能,以及必要的变量定义等程序必备的内容。 4、函数也可以作为一个主体调用其它函数,一个函数调用另外一个函数称为嵌套,一个函数调 用自己(形式上是自己,执行的初始参数会有所不同)称为递归。 示例 1、求最大值函数i
3、nt max(int a,int b) if(ab)return a;else return b; 功能:求两个数中的最大值的函数,return 向调用函数返回最大值。 示例 2、在函数中求 1+2+3+n 的和,并直接输出。 Void sum(int n) int i=0,s=0;1for(i=1;ib)return a;else return b; int max4() int a,b,c,d,x1,x2; scanf(“%d%d%d%d“, x1=max1(a,b); x2=max1(c,d); printf(“max4=%dn“,max1(x1,x2); 示例 4*、求 1+2+3+n
4、 的和,递归实现。 Int sum(int n)int s; if(n=1) s=1;else s=sum(n-1)+n; return s; 8.28.2、函数的引用、函数的引用实例 8.1、求四个数中的最大值。 #include #include int max1(int a,int b) if(ab)return a;else return b; int max4() int a,b,c,d,x1,x2;2scanf(“%d%d%d%d“, x1=max1(a,b); x2=max1(c,d); printf(“max4=%dn“,max1(x1,x2); main()max4();sy
5、stem(“pause“); 实例 8.2、求组合数 C(n,m)=n!/(m!)*(n-m)!) #include #include int p(int k)int i,jch=1;for(i=2;i #include void hanuo(int n,char a,char b,char c)if(n=1) printf(“1-%c-%cn“,a,c); 3else hanuo(n-1,a,c,b);printf(“%d-%c-%cn“,n,a,c);hanuo(n-1,b,a,c); main()int n;printf(“Input n:“);scanf(“%d“, hanuo(n,A,B,C);system(“pause“); 知识扩展:本章内容,同学们可以参考参考书目1的第八章。除了本章所述内容外,参数传递、 全局变量和局部变量的等相关内容,同学们也可以在本章找到,这些内容对于熟练使用函数都是非 常有帮助的内容。上机实践:上机实践:练习实例 8.1、8.2,8.3 选作。