第6章 C51的函数
函数是C51语言的重要组成部分,是从标准C语言中继承而来的。C51语言不限制程序中的函数个数。任何一个完整的C51程序都必须有且仅有一个主函数(main函数),主函数是C51程序的入口,所有的C51程序都是从主函数开始执行的。为了有利于程序的模块化,促进资源的共享,C51语言允许用户使用自定义函数。同时,C51提供了大量的功能强大的库函数。这些库函数都是编译系统自带的已定义好的函数,用户可以在程序中直接调用,而无需再定义。合理使用库函数可以简化程序设计,加快程序执行速度。
6.1 函数
实际中求解复杂问题时,常将一个大问题划分成若干子问题,即采用模块化程序设计方法,将整个程序划分为若干个程序模块,每个模块解决一个特定的子问题,各模块间相互独立,最后再把所有的程序模块组合起来解决所有的问题。
C51语言中引入了函数的概念。模块化程序设计一般采用函数来实现,一个函数对应一个功能模块,在程序中要实现相应的功能,直接调用该功能对应的函数即可。使用函数不仅可以实现程序的模块化设计,而且可以减少实现相同的功能重复编码的工作量,因为各程序模块之间是相互独立的,这样还提高了程序的可读性和维护性。
6.1.1 函数的概述
函数是指能够执行特定功能和任务的程序代码段。一个完整的C51程序通常由一个主函数和若干个其他功能函数组成。其中主函数即是main()函数,一个C51源程序有且只能有一个主函数(main()函数)。程序的执行总是从主函数开始,依次完成对其他函数的调用,最后再返回到主函数,访问完主函数则整个程序执行结束。
C51本身就提供了大量的功能强大的库函数。C51语言也允许用户自定义函数,用户可以将比较常用的自定义函数存入函数库中,在以后的程序设计中,可以直接从库中调用常用的函数而无需再编译,系统会自动装载所需的程序。
在C51程序中使用函数时,应注意以下几点。
❑在一个函数的函数体内,不能再定义其他函数,C51不允许函数嵌套定义。
❑在C51语言中,对所使用的函数数目是不限的。
❑main()函数是主函数,其可以调用其他函数,而不允许被其他函数调用。
❑除主函数外,其他函数之间允许相互调用,也允许嵌套调用。
❑除主函数外,其他函数可以调用其函数本身,即可以递归调用。
❑除主函数外,同一个函数可以被一个或多个函数同时调用,且调用次数不限。