C言语教程第五章:函数(1)

概述

  在第一章中曾经先容过,C源序次是由函数构成的。 固然在背面各章的序次中都只需一个主函数main(), 但实用序次每每由多个函数构成。函数是C源序次的根本模块, 经由历程对函数模块的挪用完成特定的功用。C言语中的函数相称于此外初级言语的子序次。 C言语不但供给了极为丰盛的库函数(如Turbo C,MS C 都供给了三百多个库函数),还容许用户设立设置装备部署本身界说的函数。用户可把本身的算法编成一个个相对独立的函数模块,然后用挪用的办法来运用函数。

  可以说C序次的全数事变都是由各样各样的函数完成的, 以是也把C言语称为函数式言语。 因为采用了函数模块式的结构, C言语易于完成结构化序次计划。使序次的条理结构明晰,便于序次的编写、阅读、调试。

  在C言语中可从分比方的角度对函数分类。

1. 从函数界说的角度看,函数可分为库函数和用户界说函数两种。

(1)库函数
  由C零碎供给,用户无须界说, 也不必在序次中作范例声名,只需在序次前搜罗有该函数原型的头文件即可在序次中间接挪用。在背面各章的例题中几次再三用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函数均属此类。

(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。



版权声明: 原创作品,容许转载,转载时请务必以超链接方式标明文章 原始原由 、作者信息和本声明。不然将清查规律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1975604.html