- 1、本文档共115页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 函 数 6.1 函数的定义和调用6.1.1 函数概述 C语言源程序是由函数组成的;函数是C语言程序的基本模块;一个C语言程序通常有多个函数构成。C语言程序的这种结构,允许人们在解决一个复杂问题时,可以先把这个问题分解成若干个相对简单的小问题。然后针对每一个小问题,编写一个函数去解决它。最后通过函数之间的相互调用,就可以比较容易地解决这个复杂问题了。这种利用模块搭建程序的方法称为结构化程序设计方法。采用这种方法,不但可以使程序易于编写,而且编写出的程序结构清晰,也便于程序的调试和阅读。 在C语言中可从不同的角度对函数分类。从函数定义的角度看,函数可分为库函数和用户定义函数两种。 (1) 库函数:由C系统提供的函数,用户无须定义,也不必在程序中作类型说明,只需在程序前引用包含有该函数原型的头文件,即可在程序中直接调用。 (2) 用户定义函数:由用户按需要编写的函数。对于用户定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。 C语言的函数兼有其他语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。 (1) 有返回值函数:此类函数被调用执行完后将向调用者返回一个执行结果,该执行结果称为函数返回值。 (2) 无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。这类函数类似于其他语言的过程。由于函数无需返回值,因此用户在定义此类函数时可指定它的返回为“空类型”。空类型的说明符为“void”。 从主调函数和被调函数之间数据传递的角度看,又可将函数分为无参函数和有参函数两种。 (1) 无参函数:函数定义、函数说明及函数调用中均不带参数。主调函数不需要向被调函数传递数据。 (2) 有参函数:也称为带参函数。在函数定义及函数说明时都有参数,该参数称为形式参数(简称形参);在函数调用时也必须给出参数,该参数称为实际参数(简称实参)。进行函数调用时,主调函数需要向被调函数传递数据,供被调函数使用。 6.1.2 函数的定义 C语言的函数定义由函数首部和函数体两部分组成。函数首部包括三个内容:函数名、函数形式参数的个数及类型、函数返回值类型。函数体由语句构成,这些语句完成函数的功能。一个完整的函数定义如下所示: 返回值类型 函数名(形式参数定义表) { 函数体 } 在定义一个函数时,首先要考虑的就是函数的功能,也就是这个函数用来解决一个什么样的问题。函数的功能决定了这个函数的形式参数、返回值以及函数体中的语句。一个函数就像一个小型的加工厂一样,形式参数就是原料,返回值就是产品,而函数体中的语句描述从原料到产品的加工过程。 例如要编写一个函数,功能是求出两个整数中较大的一个。把这个功能描述转换成一个问题,就是“已知两个整数,求其中较大的一个”。如此一来,就可以明确要编写的这个函数应该有两个形式参数,它们都是int型的。这个函数的返回值也是int型的。有了这些信息,只需要再给函数和形式参数起好名字,就可以写出这个函数的框架了: int max(int a, in b) { ... } 然后再考虑如何得到a和b中较大的一个,这就是算法的问题了。这个问题的算法很简单,可以描述为: 若ab,则以a的值作为函数返回值; 否则,以b的值作为函数返回值。 把以上算法转换成C语言的语句,填充在函数体中,得到完成的函数定义: int max(int a, in b) { if (ab) return a; else return b; } 以上程序中,使用了return语句,它的一般形式为: return 表达式; return语句的功能首先是终止函数调用,程序执行流程返回到主调函数;其次是把表达式的值带回给主调函数,以便做进一步的计算和处理。 一个函数也可以没有返回值,这样的函数在定义时,用关键字“void”来指定返回值类型。例如,编写一个函数,功能是在同一行打印输出指定个数的“*”,函数定义如下: void print_star(int n){ int i; for(i=1; i=n; i++) printf(*); printf(\n); return;} 说明: (1) 函数体中定义的变量i是属于该函数的内部变量,它和函数的形式参数都可以在函数体中使用,但它们的作用不同。函数的形式参数是预留的数据入口,其作用是接收主调函数传递的数据;而内部变量的作用是辅助算法的实现。 (2) 因为
您可能关注的文档
- 操作系统( 第三版) 高职计算机应用技术专业 吉书朋 操作系统 第三版教材部分习题参考答案.doc
- 常用工具软件 项目教学 教学课件 郑平 袁云华 项目八 磁盘工具.ppt
- 城市轨道交通系统概论 教学课件 作者 李建国 2.ppt
- 操作系统( 第三版) 高职计算机应用技术专业 吉书朋 操作系统 第三版教材配套教学大纲.doc
- 仓储管理实务课件 宋雷修改后 仓储管理实务 大连理工大学出版社课件 宋雷 单元4货物入库作业组织.ppt
- 操作系统( 第三版) 高职计算机应用技术专业 吉书朋 第1章 操作系统概述.ppt
- 常用工具软件 项目教学 教学课件 郑平 袁云华 项目二 网络通信工具.ppt
- 操作系统( 第三版) 高职计算机应用技术专业 吉书朋 第2章 用户与操作系统的接口.ppt
- 城市轨道交通系统概论 教学课件 作者 李建国 3.ppt
- 常用工具软件 项目教学 教学课件 郑平 袁云华 项目九 系统维护工具.ppt
- Unit 6 Understanding ideas Reading 课件 外研版(2024)英语七年级上册.pptx
- 外研版四年级英语上《Unit 1 I love sports Part 2》PPT课件.pptx
- Module+3+Heroes+(复习课件)英语外研版九年级上册.pptx
- Starter Welcome to Junior high! Get ready 课件 外研版(2024)英语七年级上册.pptx
- Welcome to schoolPart 1 课件 外研版英语三年级上册.pptx
- Unit 7 Happy Birthday第1课时(Get ready) 课件 译林英语三年级上册.pptx
- Unit 5 We’re family Part 2 课件 外研版英语三年级上册.pptx
- 三角形的概念课件 2025—2026学年人教版数学八年级上册.pptx
- 统编版语文六年级上册课件《竹节人》.pptx
- 外研版四年级英语上《Unit 2 Helping at home Part 1》PPT课件.pptx
文档评论(0)