C语言程序是由多个零件组合而成的,而函数就是最主要的组合零件。C语言程序的主体部分就是一个 main( ) 函数,它在 C语言程序中是必不可少的,每一个 C 程序都首先从 main( ) 函数开始执行。
在前面的学习中,我们知道在 main( ) 函数中可以通过 printf( ) 函数实现屏幕输出显示的功能,通过 scanf( ) 函数实现读取键盘输入信息的功能。另外,我们还可以使用 abs(x)、sqrt(x) 等函数实现各种数学运算功能。
这些都是由 C语言提供的库函数,我们在编程过程中直接拿来使用就可以了,不过在使用之前需要在程序开头部分,用#include引入包含这些库函数的头文件。
此外,我们可以根据需要自己创建各种函数,称为自定义函数。
而 C语言程序基本上就是用这些函数像搭积木一样搭建起来的(见图 1)。
总结:函数可以理解为能够执行特定功能的“魔法盒”,将多个处理步骤集中在一起并且可能重复使用时可以使用函数。
函数的定义由多个部分构成(见图 2)。其一般格式如下:
返回类型 函数名 (形参声明) //函数头 { 函数体; //一条或多条 C 语句 }
下面的代码定义了一个函数 Max2,其功能是接收两个整数,返回较大的值:
int Max2 ( int a, int b )
{
if(a>b)
return a;
else
return b;
}
函数头部分包含函数的返回类型、函数名以及一个或多个形式参数(简称形参)。它指出了该函数的使用方法(函数调用的形式)。
一般函数都会返回一个值(return 后面跟随的值),这个返回值的数据类型,就是函数的返回类型。也有一些函数没有返回值,只是执行一些具体的操作(比如打印输出等),这些没有返回值的函数在定义时其返回类型为 void 型(见图 2)。
函数头部分中用小括号括起来的,是函数需要接收的变量的声明,即形式参数(简称形参)声明,多个形参用逗号分隔。也有不接收任何形参的函数,此时,在小括号中需写入 void。
函数体部分是用花括号{ }括起来的复合语句。仅在某函数内部使用的变量,应在该函数的函数体中声明和使用。
return 表示从被调函数返回到主函数继续执行,它后面跟随的就是函数返回值。