- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第10章课件,c语言课件,c语言ppt课件,c语言程序设计课件,c语言课件谭浩强,c语言课件下载,c语言课件非常详细,数据结构c语言版课件,c语言ppt课件下载,苏小红c语言课件
10.1 文件包含 程序文件模块 为了避免一个文件过长,可以把程序分别保存为几个文件。 一个大程序会由几个文件组成,每一个文件又可能包含若干个函数。 保存有一部分程序的文件称为程序文件模块。 程序-文件-函数 大程序-若干程序文件模块 各程序文件模块分别编译,再连接 整个程序只允许有一个main()函数 文件包含 格式 # include 需包含的文件名 # include “需包含的文件名” 作用 把指定的文件模块内容插入到 #include 所在的位置,当程序编译连接时,系统会把所有 #include 指定的文件拼接生成可执行代码。 注意 编译预处理命令,以#开头。 在程序编译时起作用,不是真正的C语句,行尾没有分号。 例10-2 将例10-1的5个函数分别存储在2个.C文件上,要求通过文件包含把它们联结起来。 常用标准头文件 ctype.h 字符处理 math.h 与数学处理函数有关的说明与定义 stdio.h 输入输出函数中使用的有关说明和定义 string.h 字符串函数的有关说明和定义 stddef.h 定义某些常用内容 stdlib.h 杂项说明 time.h 支持系统时间函数 10.2 递归函数 10.2.1 程序解析 10.2.2 递归函数基本概念 10.2.3 递归程序设计 10.2.1 程序解析 例10-3 用递归函数求n!。 #include stdio.h double fact(int n); int main(void) { int n; scanf (%d, n); printf (%f, fact (n) ); return 0; } double fact(int n) /* 函数定义 */ { double result; if (n==1 || n == 0) /* 递归出口 */ result = 1; else result = n * fact(n-1); return result; } 10.2.2 递归函数基本概念 递推法与递归法求阶乘 递推法 n!=1*2*3*....*n for (result = 1, i = 1; i = n; i++) result = result * i; 递归法 递归定义 n! = n * (n-1)! (n 1) n! = 1 (n = 0,1) 递归函数 fact(n) 例9-3分析 求n! 递归定义 n! = n * (n-1)! (n 1) n! = 1 (n = 0,1) 递归函数 fact( n )的实现过程 fact(3)= 3*fact(2)= 2*fact(1)= fact(1)=1 例10-4 写输出结果 # include stdio.h long fib(int g) { switch(g){ case 0: return(0); case 1: case 2: return(2); } printf(g=%d,, g); return ( fib(g-1) + fib(g-2) ); } void main() { long k; k = fib(4); printf(k=%ld\n, k); } 10.2.3 递归程序设计 用递归实现的问题,满足两个条件: 问题可以逐步简化成自身较简单的形式(递归式) n! = n * (n-1)! n n-1 Σi = n +Σ i i=1 i=1 递归最终能结束(递归出口) 两个条件缺一不可 解决递归问题的两个着眼点 例10-5 汉诺(Hanoi)塔 将64 个盘从座A搬到座B (1) 一次只能搬一个盘子 (2) 盘子只能插在A、B、C三个杆中 (3) 大盘不能压在小盘上 分析 分析 分析 算法 hanio(n个盘,A→B) // C为过渡 { if (n == 1) 直接把盘子A→B else{ hanio(n-1个
您可能关注的文档
- chap4-信源编码1.ppt
- chap4企业使命与战略目标.ppt
- Chap4-控制系统的频率特性.ppt
- chap5-资金成本.ppt
- Chap6 国际商务.ppt
- chap6(完全竞争市场).ppt
- CHAP5-信道编码.ppt
- Chap6-控制系统的误差分析和计算.ppt
- chap5 频率特性.ppt
- Chap7振动与波-2.ppt
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 糖尿病视网膜病变临床诊疗指南(2022)解读.pptx
- 300T汽车吊性能说明书-XCA300_1全地面起重机技术规格书+[主臂风电臂加超起].pdf
- 读书分享《教育的细节》PPT课件.pptx
- 新冠病毒及新冠肺炎.pptx VIP
- 第9课 改变世界的工业革命【课件】--2023-2024学年中职高一下学期高教版(2023)世界历史全一册.pptx
- 【精】新人教版七年级历史上册第一、二、三单元分单元测试题(带答案).docx VIP
- 普通中小学校建设标准DGTJ08—12—2004.pdf
- 灯泡的亮度问题.ppt
- 文华财经指标公式源码大全期货多空趋势指标源码顶底买卖点.doc
- 幼儿园每月食品安全调度会议纪要.doc
文档评论(0)