Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90994778
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-05-24 23:41:31

概述

  在第一章中已经介绍过,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。

阅读(433) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~