- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 函数7.1 函数概述7.2 使用函数7.3 使用参数7.4 返回值7.5 局部变量7.6 全局变量7.7 递归7.8 库函数7.9 库函数数值运算7.10 小结7.1 函数概述函数是C语言程序组成的重要部分。函数的本质是将一个语句块通过命名的方式独立出来。通过调用函数,可以实现对部分代码反复重用,这样可以避免大量类似代码的书写。对照图函数与循环结构函数类似于循环结构,可以节约大量重复的代码。不同的是,函数在使用时不需要连续使用,而循环结构必须是连续使用。7.2 使用函数7.2.1 定义函数7.2.2 调用函数7.2.3 函数说明7.2.1 定义函数函数由函数首部与函数体组成。函数首部由void 函数名()组成,函数体为大括号组成的语句块。语法形式如图所示。7.2.2 调用函数调用函数是通过语句实现的,即函数名、小括号与分号组成函数调用语句,如下所示。函数名();7.2.3 函数说明函数在使用时默认为先定义函数,后调用函数,其语法如图所示。如果调用函数语句在定义函数之前,此时需要在main()函数中对函数进行声明,其语法形式如图所示。7.3 使用参数7.3.1 声明参数7.3.2 传递参数7.3.1 声明参数声明参数是指在带参函数的首部对参数进行声明,语法形式如下所示。void 函数名(类型 形式参数)多个形参如果要声明多个形参,它们之间需要用逗号分割,其语法形式如图所示。7.3.2 传递参数传递参数是指将数据通过参数传递到函数的形参中。传递方式为通过函数调用语句,将值传递到函数中,语法形式如下所示。函数名(实际参数);在多个实参在传值时,遵循从左向右依次进行运行和传值。函数名(实参1,实参2,实参3,……);7.4 返回值7.4.1 声明返回类型7.4.2 传递返回值7.4.1 声明返回类型声明返回类型是指声明函数返回值的类型。语法形式如图所示。7.4.2 传递返回值传递返回值需要使用到return语句。通过return语句可以将函数的返回值进行传递,语法形式如下return 返回值;完整的函数声明语法形式如图所示。7.5 局部变量局部变量是指在一定范围内有效的变量。函数内定义的变量以及形参都属于局部变量。如图所示。1、作用域作用域是指变量可以使用的范围。局部变量的作用域是从声明开始一直到所在语句块的结束为止,如图所示。2、生命周期生命周期是指变量处于存活状态的时间长短。局部变量只有在当次调用时才会存在,如果没有调用时,局部变量是处于“死亡”状态的。7.6 全局变量全局变量是指在整个文件内都有效的变量,也可以被成为外部变量。全局变量在函数外部进行声明。全局变量的作用域是从声明语句开始到所在的整个源文件结束为止。代码中的变量c就是一个全局变量,它的作用域范围如图所示。7.7 递归7.7.1 什么是递归7.7.2 实现递归7.7.1 什么是递归递归在计算机编程语言中属于一种编程思路。递归由递推、终止递推条件、回溯以及递归方式四个部分组成。递推:是将复杂数据进行简化的过程,终止条件:是指递推过程的终止界限。回溯:是指将简化的所有数据进行回推的过程。递归方式:递推与回溯过程中都需要遵循的简化数据和回推数据的规律。下面我们以计算10!(10的阶乘)的值为例进一步讲解递归思路。按照数学的解题思路,我们会将10!转换为一个等式,然后计算机10!的值,如下所示。10!=10*9*8*7*6*5*4*3*2*1如果使用递归计算10!的值。首先我们需要找到递归方式,这样才能进行递归。从数学解题思路中我们可以发现,如下所示的规律10!=10*9!9!=9*8!8!=8*7!... ...1!=1如果使用变量n来代替数字,则可以转换为n=10 n!=n*(n-1)!n=7 n!=n*(n-1)!n=8 n!=n*(n-1)!... ...n=1 1!=1所以,递归方式应该为n!=n*(n-1)!。数据递归的终止条件是,n=1时。为了更好理解我们用图进行展示递归的过程7.7.2 实现递归在C语言中,递归是通过函数反复调用自身来实现的。其语法如图所示。函数sum递归7.8 库函数7.8.1 使用库函数7.8.2 常见系统库7.8.3 库函数printf()和scanf()7.8.1 使用库函数不同的头文件中包含了不同类型的库函数。如果想要使用库函数,需要将对应的头文件引入到代码中。引入头文件的语法如下所示。#include文件名尖括号可以使用一对英文的双引号代替,如下所示。# include “文件名”7.8.2 常见系统库C语言中提供了很多系统库,不同的编译器支持的系统库不同。常用的几个系统库进行展示,如表所示。系统库文件名库函数功能math.h数学库
您可能关注的文档
- 零基础学C语言程序设计PPT课件(共15章)第1章 第一个C语言程序.pptx
- 零基础学C语言程序设计PPT课件(共15章)第2章 数据.pptx
- 零基础学C语言程序设计PPT课件(共15章)第3章 数据运算.pptx
- 零基础学C语言程序设计PPT课件(共15章)第4章 执行顺序.pptx
- 零基础学C语言程序设计PPT课件(共15章)第5章 选择执行.pptx
- 零基础学C语言程序设计PPT课件(共15章)第6章 循环结构.pptx
- 零基础学C语言程序设计PPT课件(共15章)第8章 地址和指针.pptx
- 零基础学C语言程序设计PPT课件(共15章)第9章 数组.pptx
- 零基础学C语言程序设计PPT课件(共15章)第10章 字符串.pptx
- 零基础学C语言程序设计PPT课件(共15章)第11章 结构体、共用体和.pptx
- 零基础学C语言程序设计PPT课件(共15章)第12章 文件.pptx
- 零基础学C语言程序设计PPT课件(共15章)第13章 变量存储.pptx
- 零基础学C语言程序设计PPT课件(共15章)第14章 编译预处理.pptx
- 零基础学C语言程序设计PPT课件(共15章)第15章 迷宫游戏.pptx
- 零基础学C程序设计-新书资料.doc
- 零基础学C语言程序设计-习题答案.doc
最近下载
- 江苏2026届高三语文复习:写作课时作业.doc VIP
- 第3课《雕塑着色变彩身》-2025-2026学年岭南美版(2024)美术新教材八年级上册.pptx VIP
- 肾上腺囊肿的护理业务学习.pptx VIP
- 冀教版七年级上册数学精品教学课件 第五章 一元一次方程 项目学习——主题活动(一) 做个小小会计师.ppt VIP
- 临时用电及防爆-授课版.pdf VIP
- CH3.5.5.11自研软件网络安全研究报告.doc VIP
- 自动扶梯调试手册YSTS-0001-C.docx VIP
- 2022年历史学研究发展报告.docx VIP
- T_CITS 233-2025 液相色谱-质谱联用用于脂溶性维生素检测通用技术要求.pdf VIP
- 中建建筑给排水工程施工方案.pdf VIP
文档评论(0)