在程序设计的过程中,有一个很重要的思想是:程序功能模块化。就是对程序的功能进行划分,每一个功能模块使用一个函数来封装实现。
例如,开发一个图书馆管理系统,这个系统涉及到学生借书、还书的操作。那么,把借书和还书分解成一个独立的功能模块,每个功能模块使用独立的函数来实现。
所以,下面我们介绍函数的定义和使用,灵活使用函数来设计程序。
在讲解第一个C语言程序例子的时候,我们就接触到了“函数”;并且知道,函数就像是一个工具,我们可以用它来完成某项工作。我们再来看看这个程序的代码,代码如下:
可以看到,在这个程序中,用到了三个函数,有main函数、printf函数、system函数;其中,main函数是我们自己定义的函数,printf函数和system函数是Linux系统提供的函数。其中Linux系统提供的函数会封装到一个库中,通过库的方式给用户使用,所以,也称为:库函数。
所以,从函数定义的角度来讲,函数可以分为:用户自定义函数和库函数。
(1) 用户自定义函数:就是我们自己使用C语言来编写定义和实现的函数,例如main函数,就是我们自己定义的函数。
(2) 库函数:就是C语言系统提供的函数,例如printf函数,我们不需要定义和实现它;可以直接使用它。
举个例子,我们在吃饭的时候,都需要使用筷子;那么,想方便的话,可以直接到超市买一次性的筷子,此时,我们就拥有了一双筷子,可以用来吃饭。可以看到,筷子就是一个工具,我们可以使用这个工具来完成吃饭。
但是,有一天,我们觉得超市的一次性筷子不卫生健康,那么,就到山上砍了竹子,自己做了一双纯天然的筷子。此时,我们就拥有了自己做的一双筷子,它也是一个工具,我们可以用它来完成吃饭。但是,这双筷子是我们自己做的筷子,而不是从超市买来的筷子。
那么,通过这个例子,我们可以归纳类比:
(1) 我们从超市买来的筷子,就如同库函数,不需要自己定义,可以直接拿来使用;
(2) 我们自己做的筷子,就如同用户自定义函数,是用户自己定义制作出来的函数;
(3) 无论是从超市买来的一次性筷子,还是我们制作的筷子,都是一个工具,都可以用来完成吃饭。所以,函数也就是一个工具,我们可以用它来完成某一项工作;