- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言讲义第06章
注意:递归调用时为了防止递归调用无休止地进行,必须在函数内有终止递归调用的手段。常用的办法是加条件判断,满足某种条件后就不再作递归调用,然后逐层返回。 【例6.8】用递归算法计算n!的值。 分析:用递归法计算n!可用下述公式表示: n!=1 n=0,1 n!=n*(n-1)! N1 即当n1时,n的阶乘等于n乘以n-1的阶乘,可以使用函数的调用完成此运算;函数收敛的条件是当n等于0或1时,n的阶乘是1。 long fact(int n) /* 计算阶乘的函数 */ { long f; if(n0) printf(n0,input error); else if(n==0||n==1) f=1; else f=fact(n-1)*n; return(f); } main( ) { int n; long y; printf(\ninput a integer number:\n); scanf(%d,n); y=fact(n); printf(%d!=%ld,n,y); } Y=fact(3) 计算3的阶乘的执行过程: fact(2)*3 fact(1)*2 1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 … … … … … … 【例6-9】用递归实现杨辉三角形的输出。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 … … … … … … main() { int i,j,n; clrscr(); /* 清屏 */ printf(Input n=); scanf(%d,n); for (i=1;i=n;i++) { for (j=1;j=i;j++) printf(%3d ,c(i,j)); printf(\n); } } int c(int x,int y) {int z; if (y==1||y==x) return 1; /* 如果y等于1或y等于x时,值为1 */ else { z=c(x-1,y-1)+c(x-1,y); /* 递归调用函数c */ return z; } } 改进:for (j=0;j=n-i;j++) printf(“ ”); /* 为了保持三角形态,此处输出多个空格 */ 6.6 变量的存储类别 C语言中的每个变量和函数都有两个属性,即数据类型和数据的存储类别。 一、基本概念 1、数据的存储类别:指的是数据在内存中的存储方法。数据在内存中的存储方法可分为两大类:静态存储类和动态存储类。 变量的存储类别确定了变量的作用域和生存期。 2、变量的作用域:指变量在程序中能够起作用的有效范围。 从作用域的角度区分,变量有局部变量和全局变量两种。 Main() {int a,b; a=0;b=12; {int a=9;b=b+a;} } 3、变量的生存期:指变量占用内存单元的时限。 静态变量:程序运行期间一直占用内存空间,这种变量存放在内存的静态存储区; 动态变量:只在某个函数的执行期间存在,这种变量存放在内存的动态存储区。 程序代码区 静态存储区 动态存储区 图6.8程序的存储分配 * * 第6章 函 数 6.1 函数的概述 6.2 函数的定义与调用 6.3 函数的嵌套调用与递归调用 6.4 变量的存储类别 在C语言中,函数是程序的基本组成单位。利用函数可以实现程序的模块化设计,提高程序的易读性和可
您可能关注的文档
- cjiaoxue2数据描述.ppt
- CKD包装软件使用说明.pptx
- cisco思科网络技术教程第二章.ppt
- College English (4-3)大学英语精读第四册.doc
- CMD55培训演示.ppt
- Covisint案例分析.ppt
- CPU卡的设定与读写操作.ppt
- cosco英文简介.ppt
- CRM 第三讲 客户管理技能.ppt
- cruise-chapter 3 现代邮轮旅游产品.ppt
- 六年级数学下册教学课件《解比例》.pptx
- 8.21.5 鸟类的生殖与发育(课件)八年级生物下册课件(苏教版).pptx
- 钠离子电池项目智能制造方案(范文参考).docx
- 2023-2024学年吉林省吉林市舒兰市七年级(上)期末语文试卷.docx
- 2024年吉林省吉林市丰满区亚桥实验学校中考数学三模试卷.docx
- 2023-2024学年吉林省辽源市东辽县七年级(上)期末英语试卷.docx
- 2023-2024学年吉林四平九年级数学第一学期期末水平检测试卷.docx
- 2023-2024学年吉林市蛟河市三校联考九年级(上)期末英语试卷.docx
- 2023-2024学年吉林松原九年级英语上册考场实战试卷.docx
- 电解液新材料项目智能制造方案.docx
文档评论(0)