[数学]八函数.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]八函数

1.一个源程序文件由一个或多个函数组成。一个源程序文件是一个编译单位。 2.一个C程序有一个或多个源程序文件组成。 3.C程序的执行从main函数开始,调用其他函数后返回到main函数。在main函数中结束程序的执行。 4.函数之间可以相互调用,但不能调用main函数。 5.从用户角度:标准函数,自定义函数。 6.从函数的形式:有参函数,无参函数。 7.函数类型说明符指出函数中return语句返回的值的类型 。 8.函数名后的一对圆括号是函数的象征,即使没有参数也不能省略 . 9.形式参数表列是写在园括号中的一组变量名,称为形式参数,形式参数之间用逗号分隔。 10.函数体中可以既无变量定义,也无语句,但一对花括号是不可省略的。 void null(void) { } 定义形式 1、无参函数的定义形式 类型标识符 函数名() { 声明部分 语句} 2、有参函数定义形式 类型标识符 函数名(形式参数表列) { 声明部分 语句} 3、可以有“空函数” 类型标识符 函数名() {} 函数的返回值 函数返回有两种方法: ⑴函数执行结束遇到最后面的“}”后,返回到调用它的函数中。 ⑵用return语句从函数中任何位置退出,返回到调用它的程序中。 return 语句有双重作用: ⑴从函数中退出,返回到调用它的函数中。 ⑵向调用函数返回一个值。 例2:求两个数中的最大数。 int max(int x,int y) { int z; if(xy)z=x; else z=y; return(z); } main() { int a,b,c ; scanf(“%d,%d”,a,b); c=max(a,b); printf(“max=%d\n”,c); } 8.3函数的调用 一、调用的一般形式 函数名(实参表列) 二、调用的方式 1、函数语句 2、函数表达式 3、函数参数 三 函数的嵌套调用 函数中又调用函数(其它或自身)。 例: 用弦截法求方程的根。设:x3-5x2+16x-80=0 算法: 1. 任取 x1、x2 ,得到 f(x1)、f(x2),并使 f(x1) f(x2) 0 (异号),则在[x1, x2] 上必有(至少有)一根。 2. 连f(x1)、f(x2)两点,截 x 轴得 xc1 点和f(xc1) 。程序中用下列公式计算xc1 3. 若f(xci)与 f(x1)同号,则根在[xci , x2]上,用 f(xci) 作新 f(x1), 反之亦然。 4. 若:|f(xci)|? 则转第 2步循环。 函数调用关系 四、 函数的递归调用 一过程(c中为函数)直接或间接地自己调用自己。 (1)直接调用 eg. int f(int x) {int y,z; z=f(y); return(2*z); } 例1、三人说年龄。 1)按递推算法 age(n)=age(n-1)+2 从n=1 递推。 2)按递归算法 int age(int n) { int c; if (n= =1) c=10; /* 递归函数中必须有终止嵌套的语句。 */ else c=age(n-1)+2; return (c); } main( ) { printf(“%d”,age(5)); } 例2、用递归算法求最大公约数 例3、用递归方法求n! float fac(int n) { float f; if (n0) printf(“n0,dataerror!”); else if (n==0||n==1) f=1; else f=fac(n-1)*n; return(f); } 例4、Hanoi塔问题。 (1)借助c把n-1个盘子从A移到B; (2)把第n个盘子移到c; (3)将B上的n-1个盘子借助A移到c上; Hanoi(int n,char one,char two,char three) { If (n==1) move (one,three); Else { hanoi(n-1,one,three,two); Move (one,three); Hanoi(n-1,two,one,thre

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档