- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从总体上看,C程序是由函数构成的,每个函数是一个逻辑功能块。本章主要介绍C语言中函数的定义形式,调用方法;函数的嵌套和递归;变量的作用域和生存期。此外,还将学习几个预处理命令。 学习重点: ? ?函数的定义与调用 ? ?变量的作用域和生存期 ? ?宏定义 5.1.1 模块与函数 在编制程序时,经常遇到这样的情况,即有些运算经常重复进行,或者许多程序中都可能要进行同类的运算操作。这些重复运算的程序段功能相同,只是每次都以不同的参数进行。如果多次重复书写执行这一功能的程序段,将使程序变得冗长、繁琐,这不但会浪费大量的时间和更多的存储空间,程序又容易出错,调试起来也更困难。 解决这类问题的有效办法是将重复使用的程序段独立出来,使其成为一个可以反复调用的模块。C语言程序中除了需要重复执行的程序段可以独立为模块外,即使只执行一次的程序段也可以使其写成独立模块。这样,就可以把程序应该完成的主要功能都分配给各模块去完成,只需在主程序中调用它们,从而使程序结构更清晰,且程序编制的分工也更加明确。 在C语言中,模块是由函数来实现的。一个C程序可由一个主函数和若干其他函数构成,由主函数调用其他函数,其他函数间可以相互调用,同一个函数也可以被一个或多个函数调用任意多次。通过这种调用可以实现程序的总体功能。图5-1是一个C程序中函数调用的示意图。 说明: (1) 一个C程序由一个或多个源程序文件组成。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别存放在若干个源文件中,再由若干源程序文件组成一个C程序。这样便于分别编写与分别编译,可提高调试效率。一个源程序文件可以为多个C程序所公用。 (2) 一个源程序文件是一个编译单位,它是由一个或多个函数以及其他有关内容(如命令行、数据定义等)组成的。程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。 (3) ?C程序的执行是从main函数开始的,即在main函数中调用其他函数,调用后流程再返回main函数,最终在main函数中结束整个程序的运行。 (4) 所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。一个函数并不从属于另一函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数由系统调用。 图5-1 C程序函数调用示意图 5.1.2 函数分类 在C语言中,可以从不同的角度对函数进行如下分类。 1.从有无返回值的角度 (1) 有返回值函数。此类函数被调用执行完成后向调用者返回一个执行结果,称为函数返回值。用户定义这种函数时,必须在函数定义和函数说明中明确返回值的类型。 (2) 无返回值函数。此类函数用于完成某项特定的任务,执行完成后不向调用者返回函数值。这类函数类似于其他语言的过程。由于无返回值,用户在定义此类函数时可指定它的返回值为“空类型”,其说明符为“void”。 2.从主调函数和被调函数之间数据传送的角度 (1) 无参函数。?此类函数在定义、说明及调用中均不带参数。主调函数和被调函数之间不进行参数传送。通常用它来完成一组指定的功能,可以返回或不返回函数值。 (2) 有参函数,也称为带参函数。此类函数在定义及说明时都有参数,称为形式参数(简称为形参);在调用时也必须给出参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参值传送给形参,供被调函数使用。 3.从函数定义的角度 (1) 库函数。此类函数由C编译系统提供,用户无需定义,也不必在程序中作类型说明。只需在程序前包含有该函数原型的头文件,即可在程序中直接调用。在前面各章的例题中用到的printf、scanf等均属此类函数。 C语言提供了极为丰富的库函数,这些库函数又可从功能角度分成不同种类,如字符处理函数、转换函数、输入/输出函数、数学函数等。程序员应多熟悉库函数(通过C编译系统的帮助),熟练掌握函数的调用方法,以便能充分利用这些函数,减少编程的工作量。 (2) 用户自定义函数。此类函数由用户按自己的需要编写。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该函数进行类型说明,然后才能调用该函数。如何定义及正确调用一个函数正是本章所要讲述的主要问题。 5.2.1 函数定义 1.无参函数的定义 无参函数定义的一般形式为: 类型说明符 函数名(void) { 声明部分; 执行部分; } 其中,第一行称为函数首部;“类型说明符”指明了本函数的类型,实际上就是函数返回值的类型,它可以是第二章介绍的各种数据类型之一;“函数名”是用户定义的标识符;函数名
您可能关注的文档
- CorelDRAW X4图形设计教程 1DVD 双色印刷 作者 王维 项目六.ppt
- CorelDRAW X4图形设计教程 1DVD 双色印刷 作者 王维 项目十.ppt
- CorelDRAW X4图形设计教程 1DVD 双色印刷 作者 王维 项目四.ppt
- CorelDRAW X4图形设计教程 1DVD 双色印刷 作者 王维 项目一.ppt
- CorelDRAW X5实例教程 第2版 作者 侯全军 陈茹 1.ppt
- CorelDRAW X5实例教程 第2版 作者 侯全军 陈茹 6.ppt
- CorelDRAW X5实例教程 第2版 作者 侯全军 陈茹 7.ppt
- CorelDRAW X5实例教程 第2版 作者 侯全军 陈茹 8.ppt
- CorelDRAW平面设计应用教程 1CD 作者 王艳梅 1.ppt
- CorelDRAW平面设计应用教程 1CD 作者 王艳梅 4.ppt
- C程序设计与实例教程 作者 曾令明 全书教案_ 第6章.ppt
- C程序设计与实例教程 作者 曾令明 全书教案_ 第8章.ppt
- C程序设计与实例教程 作者 曾令明 全书教案_ 第9章.ppt
- C及C++程序设计 第3版 张富 第7章-数组与字符串.ppt
- C及C++程序设计 第3版 张富 第8章-指针.ppt
- C及C++程序设计 第3版 张富 第9章-函数.ppt
- C及C++程序设计 第3版 张富 第11章-用户定义数据类型.ppt
- C及C++程序设计 第3版 张富 第12章-C语言的预处理器.ppt
- C及C++程序设计 第3版 张富 第13章-磁盘文件操作(IO系统).ppt
- C及C++程序设计 第3版 张富 第15章-类.ppt
最近下载
- 代谢相关(非酒精性)脂肪性肝病防治指南(2024年版) .pdf VIP
- 大连理工大学22春“计算机科学与技术”《数据结构》期末考试高频考点版(带答案)试卷号4.pdf VIP
- 新生儿机械通气常规.pptx
- 全国通用版高考语文一轮复习论述类文本阅读论述类文本筛选并整合文中信息教案.pdf VIP
- 光伏电站建设与施工技术 课件 第一章 光伏电站项目建设前期准备.ppt
- 代谢相关(非酒精性)脂肪性肝病防治指南(2024年版)解读.pptx VIP
- 2024届高考语文论述类文本阅读考点训练:分析概括观点、态度.pdf VIP
- (完整版)生命与健康常识八年级下册教案.pdf VIP
- 高考语文一轮复习:信息类文本阅读之概念类(原卷版+解析).pdf VIP
- (通用版)2019年高考语文一轮复习论述类文本阅读论述类文本筛选并整合文中信息教案.doc VIP
文档评论(0)