1. 从函数定义的角度看,函数可分为库函数和用户定义函数两种。
(1)
库函数
由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有
该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到 printf 、
scanf
、 getchar 、putchar、gets、puts、strcat
等函数均属此类。
(2)
用户定义函数
由用户按需要写的函数。对于用户自定义函数, 不仅要在程序中定义函数本身, 而
且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把
函数分为有返回值函数和无返回值函数两种。
(1)
有返回值函数
此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如数学
函数即属于此类函数。 由用户定义的这种要返回函数值的函数,必须在函数定义和函数
说明中明确返回值的类型。
(2)
无返回值函数
此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类
函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的
“
”
“
返回为 空类型 , 空类型的说明符为 void”
。
3. 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两
种。
(1)
无参函数
函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数
传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。
(2)
有参函数
也称为带参函数。在函数定义及函数说明时都有参数, 称为形式参数(简称为形参)。
在函数调用时也必须给出参数, 称为实际参数(简称为实参)
。 进行函数调用时,主调函
数将把实参的值传送给形参,供被调函数使用。
4.
C语言提供了极为丰富的库函数, 这些库函数又可从功能角度作以下分类。
(1)
字符类型分类函数
用于对字符按 ASCII
码分类:字母,数字,控制字符,分隔符,大小写字母等。
(2)
转换函数