- 1、本文档共107页,可阅读全部内容。
- 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语言谭浩强第5章节
第5章函数 第5章函数 5.1 程序的模块结构 5.2 函数的分类 5.3 函数的定义和调用 5.4 函数间的参数传递 5.5 函数的嵌套与递归 5.6 系统函数 5.7 变量的存储类别、作用域、生存期 5.1 C程序的模块结构 5.1.1 C程序的模块化结构概念 5.1.2 函数的概述 5.1.1 C程序的模块化结构概念 C语言使用函数来支持模块化程序设计。 一个C程序由一个具有固定名称main()的主函数和若干个以标识符命名的其他函数组成。 通常用main()函数描述程序的总体框架,其他函数则完成某种特定的子功能。 C函数是一种独立性很强的程序模块,所有的函数都处于平等地位,不存在从属关系,即在程序运行时,任何函数都可以调用其他函数,又可以被其他函数调用(主函数除外),甚至还可以自我调用(主函数除外)。 5.1.2 函数的概述 函数本质上是一个完成特定功能的段程序,该段程序可以被其他函数调用。 除了主函数之外,其他的函数是不能独立运行的。 ?例5.1?一个简单函数调用的例子: #includestdio.h main() { hello(); /* 调用hello函数*/ } hello() /* hello函数 */ { printf (Hello,human \n); } 5.2 函数的分类 1. 从函数定义的角度进行分类 2. 从函数形式的角度进行分类 3. 从函数的作用范围进行分类 4. 从有无返回值的角度进行分类 1.从函数定义的角度进行分类 从函数定义的角度看,函数可分为用户函数和系统函数两种。 (1)用户函数:是用户按需要编写的函数。 (2)系统函数:由C语言系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。 2.从函数形式的角度进行分类 从函数形式上来看,可以将函数分为无参函数和有参函数两种。 (1)无参函数:无参函数即在函数定义、函数说明及函数调用中均不带参数。 (2)有参函数:有参函数也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。 3.从函数的作用范围进行分类 如果从函数起作用的范围来分,又可以将函数分为外部函数和内部函数。 (1)外部函数:可以被任何编译单位调用的函数称为外部函数。 (2)内部函数:只能在本编译单位中被调用的函数称为内部函数。 4.从有无返回值的角度进行分类 从有无返回值的角度看,又可把函数分为有返回值函数和无返回值函数两种。 (1)有返回值函数:有返回值函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。 (2)无返回值函数:无返回值函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。 应该指出的是;在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。 但是函数之间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数。 函数还可以自己调用自己,称为递归调用。 main函数是主函数,它可以调用其他函数,而不允许被其他函数调用。 C程序的执行总是从main函数开始,完成对其他函数的调用后再返回到main函数,最后由main函数结束整个程序。 一个C源程序必须有且只能有一个主函数main。 5.3函数的定义和调用 5.3.1函数的说明 5.3.2函数的定义 5.3.3有参函数和无参函数 5.3.4函数的调用 5.3.1函数的说明 函数说明的一般形式为: 函数类型 函数名(数据类型 形式参数1, 数据类型 形式参数2,…,数据类型 形式参数n); 其中:函数类型是该函数返回值的数据类型,可以是整型、浮点型、字符型以及无值型(表示函数没有返回值)等,也可以是随后将要学习的指针型。 例如: int sql1(int m,int n,char c); /*说明一个整型函数*/ float sum(); /*说明一个浮点型函数*/ void stu(int n); /*说明一个无返回值的函数*/ 5.3.2函数的定义 1.现代格式 2.传统格式 1.现代格式 函数的类型说明 函数名(带有类型说明的参数表) { 函数体; } 2.传统格式 函数的类型说明 函数名(不带类型说明的参数表) 参数的类型说明; { 函数体; } 1)函数名 函数名是编译系统识别函数的依据,除了main()函数有固定名称外,其他函数由用户按标识符的规则自行命名。 函数名与其后的圆括号之间不能留空格,C编译系统依据一个标识符后有没有圆括号来判定它是不是函数。 和数组名一样,函数名也是一个常数,代表该段程序代码
您可能关注的文档
- 浙教版五年级语文下册“火烧云3”ppt演示课件.ppt
- 浙教版二年级语文下册“数星星的孩子1”ppt演示课件.ppt
- 浙教版八年级“数学”下册.ppt
- 浙教版八年级上2-2等腰三角形.ppt
- 浙教版八年级数学上册教学演示课件-1-5三角形全等的判定4.ppt
- 浙教版八年级数学上册教学演示课件-5-4一次函数的图像.ppt
- 浙教版八年级“数学”上册.ppt
- 浙教版六年级语文下册“鸟的天堂1”ppt演示课件.ppt
- 浙教版小学语文一年级上册“bpmf”ppt教学演示演示课件.ppt
- 浙教版四年级上册第三单元第四课集体力量大演示课件.ppt
- 2025-2030中国茼蒿种植行业发展现状及投资前景建议研究研究报告.docx
- 2025-2030中国茶饮料行业市场深度调研及竞争格局与投资策略研究报告.docx
- 2025-2030中国草净津市场竞争力剖析及供需形势分析研究报告.docx
- 2025-2030中国草制工艺品行业市场现状分析及竞争格局与投资发展研究报告.docx
- 企业励志文案策划方案.docx
- 2025-2030中国茶籽行业深度调研及投资前景预测研究报告.docx
- 2024年湖北十堰中考语文试题及答案.pdf
- 2025-2030中国茶艺会馆行业市场发展前瞻及投资战略研究报告.docx
- 2025-2030中国茶艺会馆行业市场发展现状分析及发展趋势与投资前景研究报告.docx
- 2025-2030中国茶行业市场现状供需分析及投资评估规划分析研究报告.docx
文档评论(0)