第6章 C51的函数.pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 C51的函数 函数是C51语言的重要组成部分,是从标准C语言中继承而来的。C51语言不限制程序中的函数个数。任何一个完整的C51程序都必须有且仅有一个主函数(main函数),主函数是C51程序的入口,所由的C51程序都是从主函数开始执行的。为了有利于程序的模块化,促进资源的共享,C51语言允许用户使用自定义函数。同时,C51提供了大量的功能强大的库函数。这些库函数都是编译系统自带的已定义好的函数,用户可以在程序中直接调用,而无须再定义。合理使用库函数可以简化程序设计、加快程序执行速度。 6.1 函数 实际中求解复杂问题时,常将一个大问题划分成若干子问题,即采用模块化程序设计方法,将整个程序划分为若干个程序模块,每个模块解决一个特定的子问题,各模块间相互独立,最后再把所有的程序模块组合起来解决所有的问题。 C51语言中引入了函数的概念。模块化程序设计一般采用函数来实现。一个函数对应一个功能模块。在程序中要实现相应的功能,直接调用该功能对应的函数即可。使用函数不仅可以实现程序的模块化设计,而且可以减少实现相同的功能重复编码的工作量。因为各程序模块之间是相互独立的,这样还提高了程序的可读性和维护性。 6.1.1 函数的概述 函数是指能够执行特定功能和任务的程序代码段。一个完整的C51程序常由一个主函数和若干个其他功能函数组成。其中主函数即是main()函数,一个C51源程序有且只能有一个主函数(main()函数)。程序的执行总是从主函数开始,依次完成对其他函数的调用,最后再返回到主函数,访问完主函数则整个程序执行结束。 C51本身就提供了大量的功能强大的库函数。C51语言也允许用户自定义函数,用户可以将比较常用的自定义函数存入函数库中,在以后的程序设计中,可以直接从库中调用常用的函数而无需再编译,系统会自动装载所需的程序。 6.1.2 函数的分类 在C51语言中,从不同的角度可将函数进行分类,下面分别介绍函数的各种分类。 1.有无返回值角度 在C51中,从有无返回值角度,可将函数划分为无返回值函数和有返回值函数两种。 2.数据传送角度 在C51中,从主调函数和被调函数之间数据传送的角度,又可将函数分为无参函数和有参函数两种。 3.函数定义角度 在C51中,从函数定义的角度,又可将函数分为主函数、自定义函数和库函数三种。 6.1.3 函数的定义 在C51程序中使用函数时,与使用变量一样,要先定义才能使用。定义函数要相对复杂一些。一个完整的函数包括类型说明、参数定义、函数体说明三部分。函数定义的一般形式如下: 类型说明符 函数名(形参列表) 形参类型说明 { 语句 return语句 } 6.1.4 函数的参数 函数的参数是指主调函数与被调函数间进行的数据交换时所依赖的媒介。函数的参数是函数部分相当重要的内容。函数的参数包括形参和实参两种。在C51中,函数的参数可以采用多种数据类型,例如整型、字符型、浮点型,甚至可以是指针、数组以及多维数组等。下面就分别介绍参数的相关内容。 1.形参和实参 2.指针作为函数参数 3.数组作为函数参数 4.多维数组作为函数参数 6.1.5 函数的返回值 函数被调用之后,将实参变量的值传递给函数的形参变量,在被调函数体中对该值操作完成后,将所得的结果返回给主调函数,该结果即函数的返回值。函数的返回值只能在函数体中,通过return语句返回给主调函数。return 语句的一般形式为: return 表达式; 或者为: return (表达式); 6.2 函数的作用域 函数作用域包括两部分内容,一是函数本身的有效作用范围,二是函数内部变量的有效作用范围。函数内部变量的作用范围,即函数变量的作用域。关于变量的作用域,在变量数据类型部分已做了相关介绍,函数变量的作用域遵循变量作用域的规则,同时又有其自身的特点。下面分别就这两部分内容进行介绍。 6.2.1 函数的作用范围 函数的作用范围是指函数代码的使用范围。在C51语言中,每个函数都是独立的代码块,函数的内部代码及其数据是位于函数内部。使用函数时,除了要考虑其定义、参数、返回值等因素外,还要注意函数的作用范围。关于函数的作用范围,有以下几点说明: 在C51中,所有函数的作用范围都处于同一级别上,其作用范围是相互平行的,不可以在一个函数内再说明或定义另一个函数。 C51中主调函数对被调函数的调用是全程的,对于整个项目都是“可见”的。即使两个函数位于不同的文件中,也不必再附加任何说明语句,而可以直接调用被调函数。 定义在函数内部的数据与定义在其他函数内部的数据是相互独立的,不会相互影响,除非在源程序的开始定义全程变量。 在C51程序中,除了函数的调用以外,其他任何语句都不能访问该函数。 goto跳转语句只能在函数内部使用,而不能从一个函

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档