- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
zd2010c第7章-1
第七章 函数 7.1 概述 7.2 函数定义的一般形式 7.3 函数参数和函数的值 7.4 函数的调用 7.5 函数的嵌套调用 7.6 函数的递归调用 7.7 数组作为函数参数 7.8 局部变量和全局变量 7.9 动态存储变量与静态存储变量 7.10 内部函数与外部函数 习题 返回 使用函数的好处: 1. 简化程序设计的过程,减少工作量,节省时间; 2. 源程序缩短,从而节省汇编时间和存储目标码的存储空间; 3. 增强源程序的可读性,便于调试和维护; 4. 有利于程序模块化、结构化,符合自顶向下的程序设计思想; 5. 编制好的函数,可供其它开发软件调用。 7.1 概述--6 一、C语言程序结构 一个较大的程序一般应分为若干个程序模块。 每一个模块用来实现一个特定的功能,一个函数就是一个功能模块。 在C语言中,函数的作用对应于其计算机语言中的子程序。 一个C程序可由一个主函数和若干个函数构成。由主函数调用其它函数,其它函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。 说明 1.一个程序由一个或多个源程序文件组成。 对较大的程序,一般不希望全放在一个文件中,而将函数和其它内容(如预定义)分别放到若干个源文件中,再由若干源文件组成一个C程序。这样可以分别编写,分别编译,提高调试效率。一个源文件可以为多个C程序公用。 2.一个源程序文件由一个或多个函数组成。 一个源程序文件是一个编译单位,即以源文件为单位进行编译,而不是以函数为单位进行编译。 3. 程序的执行从main函数开始,在main函数中结束。 途中可能调用其他函数,一般最终回到main函数 4. 函数不能嵌套定义,可以嵌套调用。 但main函数不能被其他函数调用。 二、函数分类 主要有三种分类方法 1、根据来源分类,分为库函数和用户自定义函数。 ⑴库函数 库函数由系统提供,无须用户定义,也不必在程序中作类型说明,但必须在程序最前面使用包含有该函数原型的头文件。 库函数如:printf、scanf、getchar、putchar、gets、puts。 ⑵自定义函数 由用户自己编写的函数。它不仅要在程序中定义,而且必须在调用它的函数模块中进行类型说明。 2、根据返回值情况,分为返回值函数和无返回值函数。 ⑴有返回值函数 函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。如数学函数即属于此类函数。 用户定义的有返回值的函数,必须在函数定义和函数说明中明确返回值的类型。 ⑵无返回值函数 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。由于函数无返回值,在定义时可指定它为“空类型”, 空类型的说明符为“void”。 3、根据参数传递分类 从主调函数和被调函数之间数据传送的角度可分为无参函数和有参函数 ⑴无参函数 调用函数与被调函数之间没有数据传送。则此类函数在定义、说明及调用中均不带参数。 ⑵有参函数 调用函数与被调函数之间有数据传送。则此类函数在定义、说明及调用中均带参数。 float f(int x,int y,float z,char c) {…} 例如: printstar() /*printstar函数*/ { printf(“********************\n”); } print_message() /*print_message函数*/ { printf(“how do you do\n”); } main() { printstar(); /*调用printstaar函数*/ print_message(); /*调用print_message函数*/ printstar(); /*调用printstar函数*/ } 函数设计时,需要考虑的问题 7.2 函数定义的一般形式--9 一、有参数函数的定义形式 类型标识符 函数名(形式参数表) { 局部变量说明部分 执行部分 } 例如: int max(int x, int y) {
您可能关注的文档
- GB2760讲解8.6.ppt
- Excel2003函数的应用.ppt
- GIC公司简介(最新).pdf
- Global Automotive Transfer Case Market 2016 Research全球汽车转移案例市场2016研究 报告.docx
- HD3F003-2012 安全生产责任合同管理办法(2012第一版).pdf
- G第九章 合同订立及履行中的风险防范.ppt
- http协议权威详细教程.pdf
- i2应用案例介绍.pdf
- iData_涉烟犯罪的罪数形态认定_析_关于_省略_案件具体应用法律若干问题的解.pdf
- h物权法 2012-13下 第七章 所有权概述.ppt
- 2023年注册会计师之注册会计师会计模拟卷包括详细解答.docx
- 2023年注册会计师之注册会计师会计检测卷附答案.docx
- 2023年注册会计师之注册会计师会计练习题库附答案详解.docx
- 2023年注册会计师之注册会计师会计模拟题库包含答案.docx
- 2023年注册会计师之注册会计师会计模拟题库含答案讲解.docx
- 2023年注册会计师之注册会计师会计模拟考试试卷和答案.docx
- 教师资格之小学教育学教育心理学通关训练试卷提供答案解析.docx
- 教师资格之小学教育学教育心理学通关练习题库.docx
- 教师资格之小学教育学教育心理学通关模拟题库包含答案.docx
- 教师资格之小学教育学教育心理学综合提升测试卷附答案.docx
文档评论(0)