- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]C语言程序设计教程 第6章
第六章 函数与编译预处理 6.1 模块化程序设计与函数 6.2 函数的定义与调用 6.3 函数的递归调用 6.4 变量的作用域与存取方式 6.5 编译预处理 6.1模块化程序设计与函数 在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。 基本概念 模块与函数 C语言程序由基本语句和函数组成,每个函数可完成相对独立的任务,依一定的规则调用这些函数,就组成了解决某个特定问题的程序。 模块与函数 把大任务分解成若干功能模块, 用多个函数来实现这些功能模块。 通过函数的调用来实现完成大任务的全部功能。 模块与函数 模块设计的原则 算法的描述 例6.2 设计算法:找出a,b两数中的较大者,并输出 分析: 这个问题分三个步骤: 输入两个数; 找出其中的大数; 输出大数。 6.2 函数的定义与调用 在C语言中,函数(Function)是一个处理过程,可以进行数值运算、信息处理、控制决策,即一段程序的工作放在函数中进行,函数结束时可以携带或不带处理结果。 库函数(标准函数):系统提供自定义函数:用户自己写 C语言程序处理过程全部都是以函数形式出现,最简单的程序至少也有一个main函数。函数必须先定义和声明后才能调用。 标准库函数 C语言有丰富的库函数,这些函数的说明在不同的头文件(*.h)中。 自定义函数 “函数”的主要知识点 函数的定义 函数的参数和返回值 函数的调用 嵌套和递归 变量的作用域 函数举例 #include conio.hmain(){ int a,b,m; ???????????? ? /*说明变量*/? int max(int a,int b);?? /*函数声明*/? scanf(%d,%d,a,b);?? /*调用库函数scanf*/? m=max(a,b); ?????????? ?? /*调用字定义函数max*/? printf(max=%d\n,m));? /*调用库函数printf*/? getch(); ????????????? ?? /*调用库函数getch*/} 函数举例 int max(int a,int b)????? /*定义函数max*/{? int y;? y=(ab)? a:b; /*条件表达式 */ return y;} 自定义函数的声明 求1!+2!+3!+…+10! 算法 i =1; s=0; 当 i = 10 s=s+ i! 定义求 i! 的函数 求1!+2!+3!+…+10! 程序 void main() { long mm( int ); /*自定义求阶乘函数应先声明 */ int i; long s=0; for (i =1; i =10; i ++) s+= mm(i ); /*调用求阶乘函数,求I的阶乘 */ printf(“\n%ld”,s); } 定义求 n! 的函数 long mm( int n) { long t=1; int i; for (i =1; i =n; i ++) t *= i ; return t ; } 函数的参数 int max(int a,int b) {? int y;? y=(ab)? a:b;? return y; ??????????????} 形式参数与实际参数的关系 形式参数在函数中是变量名,?在函数调用时,形参被分配相应的内存 实际参数是表达式??负责向对应的形参标识的内存单元传递数据 实参与形参必须个数相同 对应的形参和实参的类型必须一致 实参给形参传递值得时候,按顺序传递,与形参名无关。所以实参与形参可以不同名。 实参与形参 例:主调函数中有如下语句: ? scanf(%d,%d,a,b);? m=max(a,b+3); 如果输入 6,2 函数 int max(int a,int b) 形参 a 得到第一个实际参数a的值 6 形参 b 得到第二个实际参数b+3的值 5 函数返回值 函数返回值通过return语句获得 函数返回值的类型就是函数的类型 ? return y;? ? 将变量y的值返回给调用者? return y+3;? ? 将表达式的值返回给调用者 return 的数据类型与函数的类型矛盾时,自动将数据
您可能关注的文档
- [理学]04 简单的优化模型.ppt
- [理学]03章_热力学第二定律.pdf
- [理学]04参数估计.ppt
- [理化生]高中化学实验.pdf
- [理学]04-程序控制结构.ppt
- [理化生]高考二轮专题系列专题五:电路和电磁感应.doc
- [理学]04模电--场效应管放大电路康华光.ppt
- [理学]05 语法分析-自下而上分析.ppt
- [理学]06病毒防范与防火墙.ppt
- [理学]07-2热力学第一定律2.ppt
- 生成式人工智能在初中历史课堂中的历史事件复现与教学策略教学研究课题报告.docx
- 《数据仓库在智慧城市应急管理决策支持系统中的突发事件预测与应急处理》教学研究课题报告.docx
- 农村土地流转与农业规模化经营中的农业信息化发展研究教学研究课题报告.docx
- 高中艺术展览与艺术史教学融合的实践与反思教学研究课题报告.docx
- 《新型冠状病毒肺炎康复患者心理干预中心理干预效果与康复心理康复成本相关性研究》教学研究课题报告.docx
- 《食品企业生产现场精益生产实施与产品质量控制优化》教学研究课题报告.docx
- 初中阶段人工智能教育大数据安全审计与监管的挑战与对策教学研究课题报告.docx
- 《金融科技在金融监管中的技术创新与风险控制研究》教学研究课题报告.docx
- 新时代初中物理教学中的社会主义核心价值观融入研究教学研究课题报告.docx
- 《家政服务行业职业素养提升培训的培训效果与培训内容实用性关系研究》教学研究课题报告.docx
文档评论(0)