靳润昭C语言教程讲义 2001年2月17日 2)用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定 义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能 使用 2.C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为 有返回值函数和无返回值函数两种。 1)有返回值函数:此类函数被调用执行完后将向调用者返回一个执行结果,称为函数 返回值。如数学函数即属于此类函数。由用户定义的这种要返回函数值的函数,必 须在函数定义和函数说明中明确返回值的类型。 2)无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返 回函数值。这类函数类似于其它语言的过程。由于函数无须返回值,用户在定义此 类函数时可指定它的返回为“空类型”,空类型的说明符为 vOl 3.从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种 1)无参函数:函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之 间不进行参数传送。此类函数通常用来完成一组指定的功能,可以返回或不返回函 数值 2)有参函数:也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简 称为形参)。在函数调用时也必须给出参数,称为实际参数(简称为实参)。进行函 数调用时,主调函数将把实参的值传送给形参,供被调函数使用。 4.C语言提供了极为丰富的库函数,这些库函数又可从功能角度作以下分类 1)字符类型分类函数:用于对字符按ASCI码分类:字母,数字,控制字符,分隔符, 大小写字母等 2)转换函数:用于字符或字符串的转换;在字符量和各类数字量(整型,实型等)之间 进行转换;在大、小写之间进行转换 3)目录路径函数:用于文件目录和路径操作 4)诊断函数:用于内部错误检测。 5)图形函数:用于屏幕管理和各种图形功能。 6)输入输出函数:用于完成输入输出功能 7)接口函数:用于与DOS,BI0S和硬件的接口。 8)字符串函数:用于字符串操作和处理。 9)内存管理函数:用于内存管理。 10)数学函数:用于数学函数计算。 11)日期和时间函数:用于日期,时间转换操作 12)进程控制函数:用于进程管理和控制。 13)其它函数:用于其它各种功能 以上各类函数不仅数量多,而且有的还需要硬件知识才会使用,因此要想全部掌握则需 要一个较长的学习过程。应首先掌握一些最基本、最常用的函数,再逐步深入。由于课时关 系,我们只介绍了很少一部分库函数,其余部分读者可根据需要查阅有关手册。 还应该指出的是,在C语言中,所有的函数定义,包括主函数main在内,都是平行的。 也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之 间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数。函数还可以自己调用自 称为递归调用 main函数是主函数,它可以调用其它函数,而不允许被其它函数调用。因此,C程序 的执行总是从main函数开始,完成对其它函数的调用后再返回到main函数,最后由main 函数结束整个程序。一个C源程序必须有,也只能有一个主函数main 第2页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第2页 2) 用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定 义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能 使用。 2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为 有返回值函数和无返回值函数两种。 1) 有返回值函数:此类函数被调用执行完后将向调用者返回一个执行结果,称为函数 返回值。如数学函数即属于此类函数。由用户定义的这种要返回函数值的函数,必 须在函数定义和函数说明中明确返回值的类型。 2) 无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返 回函数值。这类函数类似于其它语言的过程。由于函数无须返回值,用户在定义此 类函数时可指定它的返回为“空类型”, 空类型的说明符为“void”。 3. 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。 1) 无参函数:函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之 间不进行参数传送。此类函数通常用来完成一组指定的功能,可以返回或不返回函 数值。 2) 有参函数:也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简 称为形参)。在函数调用时也必须给出参数,称为实际参数(简称为实参)。进行函 数调用时,主调函数将把实参的值传送给形参,供被调函数使用。 4. C语言提供了极为丰富的库函数,这些库函数又可从功能角度作以下分类。 1) 字符类型分类函数:用于对字符按 ASCII 码分类:字母,数字,控制字符,分隔符, 大小写字母等。 2) 转换函数:用于字符或字符串的转换;在字符量和各类数字量(整型,实型等)之间 进行转换;在大、小写之间进行转换。 3) 目录路径函数:用于文件目录和路径操作。 4) 诊断函数:用于内部错误检测。 5) 图形函数:用于屏幕管理和各种图形功能。 6) 输入输出函数:用于完成输入输出功能。 7) 接口函数:用于与 DOS,BIOS 和硬件的接口。 8) 字符串函数:用于字符串操作和处理。 9) 内存管理函数:用于内存管理。 10) 数学函数:用于数学函数计算。 11) 日期和时间函数:用于日期,时间转换操作。 12) 进程控制函数:用于进程管理和控制。 13) 其它函数:用于其它各种功能。 以上各类函数不仅数量多,而且有的还需要硬件知识才会使用,因此要想全部掌握则需 要一个较长的学习过程。应首先掌握一些最基本、最常用的函数,再逐步深入。由于课时关 系,我们只介绍了很少一部分库函数,其余部分读者可根据需要查阅有关手册。 还应该指出的是,在C语言中,所有的函数定义,包括主函数 main 在内,都是平行的。 也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之 间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数。函数还可以自己调用自 己,称为递归调用。 main 函数是主函数,它可以调用其它函数,而不允许被其它函数调用。因此,C程序 的执行总是从 main 函数开始,完成对其它函数的调用后再返回到 main 函数,最后由 main 函数结束整个程序。一个C源程序必须有,也只能有一个主函数 main