欢迎来到天天文库
浏览记录
ID:40238511
大小:1.06 MB
页数:100页
时间:2019-07-28
《C语言程序设计 吴赟婷 卢钢 第7章 函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章函数7.1函数的分类及其定义的一般形式7.2函数参数和函数值7.3函数的调用7.4函数的嵌套调用7.5函数的递归调用7.6数组作为函数参数7.7变量的作用域和存储类别小结7.1函数的分类及其定义的一般形式函数的分类和函数定义的一般形式是函数最基本的知识,这是学习函数知识的基础。本节介绍函数的3种分类方法以及有参形式函数定义、无参形式函数定义和空函数3种函数定义形式。7.1函数的分类及其定义的一般形式7.1.1函数的分类在C语言中可以从不同的角度来对函数进行分类:1.从函数定义的角度看,函数可分为库函数和用户自定义函数两种①库函数是由系统提供的,用户无须定
2、义。用文件包含命令将库函数包含到当前文件中即可在程序中直接调用它,不必在程序中进行类型说明。例如,printf()、scanf()等函数就是最常用的库函数。②用户自定义函数是用户按需要自己写的函数。这类函数在程序设计中最常见,对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明(特殊情况下,可以省略),然后才能使用。7.1函数的分类及其定义的一般形式2.C语言的函数分为带返回值和不带返回值两种①有返回值函数:此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。这种要返回函数值的函数,必须在函数定义和函
3、数说明中指定返回值的类型。②无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。用户在定义此类函数时可指定它的返回值为“空类型”,空类型的说明符为void。7.1函数的分类及其定义的一般形式3.从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种①无参函数:函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传递。此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。②有参函数:也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。在函数调用时也必须给出参数,称为
4、实际参数(简称为实参)。进行函数调用时,主调函数将把实参的值单向传递给形参,供被调函数使用。7.1函数的分类及其定义的一般形式C语言提供了极为丰富的库函数,例如,转换函数、目录路径函数、输入输出函数、数学函数及其他函数,等等。由于各类库函数数量较多,要想全部掌握需要一个较长的学习过程。因此应首先掌握一些最基本、最常用的函数(C语言中常用的库函数及其使用方法详见本教材附录D)。在C语言中,所有的函数定义,包括主函数main()在内,都是平行的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之间允许相互调用,也允许嵌套调用。习惯上把
5、调用者称为主调函数。函数还可以自己调用自己,称为递归调用。main()函数是主函数,它可以调用其他函数,而不允许被其他函数调用。因此,C程序的执行总是从main()函数开始,而无论其在程序代码中处于什么位置,在完成对其他函数的调用后再返回到main()函数,最后由main()函数结束整个程序。一个C源程序必须有也只能有一个主函数main()。7.1函数的分类及其定义的一般形式7.1.2函数定义的形式函数的定义包括有参函数的定义无参函数的定义及空函数定义。下面详细介绍。1.无参函数无参函数定义的一般形式如下:类型标识符函数名(){声明部分语句}7.1函数的分类及
6、其定义的一般形式其中,类型标识符和函数名为函数首部。类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。函数名是由用户定义的,只要符合C标识符的命名规则就可以,但最好做到见名知意。函数名后有一个空括号,其中无参数,但括号不可少。{}中的内容称为函数体。在函数体中声明部分,是对函数体内部所用到的变量的类型说明。在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。7.1函数的分类及其定义的一般形式例如:voidHello(){printf("Hello,dear!");}这里,Hello函数是一个无参函数,当其被其他函数调用时,
7、输出“Hellodear!”字符串。7.1函数的分类及其定义的一般形式2.有参函数有参函数定义的一般形式如下:类型标识符函数名(形式参数表列){声明部分语句}7.1函数的分类及其定义的一般形式有参函数比无参函数多了一个内容,即形式参数表列。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号分隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,则必须在形参表中给出形参的类型说明。7.1函数的分类及其定义的一般形式例如,定义一个函数,用于求两个数中的大数,可写为:intmax(inta,intb){if(a>b)re
8、turna;elsereturnb;}
此文档下载收益归作者所有