清华大学出版社 TSINGHUA UNIVERSITY PRESS 1990年,国际标准化组织ISO( International Standard organization)接受87 ANSIC为ISOC 的标准(SO98991990)。目前流行的C编译系统 都是以它为基础的。本书的叙述基本上以 ANSIC 为基础。目前广泛流行的各种版本C语言编译系 统虽然基本部分是相同的,但也有一些不同。在 微型机上使用的有 Microsoft c、 Turbo c Quick C、 BORLAND C等,它们的不同版本又略 有差异。因此,读者应了解所用的计算机系统所 配置的C编译系统的特点和规定(可以参阅有关手 册)
1990年,国际标准化组织ISO(International Standard Organization) 接受87 ANSI C为ISO C 的标准(ISO 9899—1990)。目前流行的C编译系统 都是以它为基础的。本书的叙述基本上以ANSI C 为基础。目前广泛流行的各种版本C语言编译系 统虽然基本部分是相同的,但也有一些不同。在 微型机上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它们的不同版本又略 有差异。因此,读者应了解所用的计算机系统所 配置的C编译系统的特点和规定 (可以参阅有关手 册)
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.2C语言的特点 种语言之所以能存在和发展,并具有生命力,总 是有其不同于(或优于)其他语言的特点。C语言的 主要特点如下 (1)语言简洁、紧凑,使用方便、灵活。C语言一共 只有32个关键字,9种控制语句,程序书写形式自 由,主要用小写字母表示,压缩了一切不必要的 成分。下面将C与 PASCAL语言做一比较。 (2)运算符丰富。C的运算符包含的范围很广泛,共 有34种运算符。C把括号、赋值、强制类型转换等 都作为运算符处理,从而使C的运算类型极其丰富, 表达式类型多样化。灵活使用各种运算符可以实 现在其他高级语言中难以实现的运算
1.2 C语言的特点 一种语言之所以能存在和发展,并具有生命力,总 是有其不同于(或优于)其他语言的特点。C语言的 主要特点如下。 (1) 语言简洁、紧凑,使用方便、灵活。C语言一共 只有32个关键字,9种控制语句,程序书写形式自 由,主要用小写字母表示,压缩了一切不必要的 成分。下面将C与PASCAL语言做一比较。 (2) 运算符丰富。C的运算符包含的范围很广泛,共 有34种运算符。C把括号、赋值、强制类型转换等 都作为运算符处理,从而使C的运算类型极其丰富, 表达式类型多样化。灵活使用各种运算符可以实 现在其他高级语言中难以实现的运算
清华大学出版社 TSINGHUA UNIVERSITY PRESS (3)数据结构丰富,具有现代化语言的各种数据结 构。C的数据类型有整型、实型、字符型、数组 类型、指针类型、结构体类型、共用体类型等。 能用来实现各种复杂的数据结构(如链表、树、 栈等)的运算。尤其是指针类型数据,使用起来 比 PASCAL更为灵活、多样。 (4)具有结构化的控制语句(如if.else语句、 while 语句、do.. while语句、 switch语句、for语句)。 用函数作为程序的模块单位,便于实现程序的模 块化。C是良好的结构化语言,符合现代编程风 格的要求
(3) 数据结构丰富,具有现代化语言的各种数据结 构。C的数据类型有整型、实型、字符型、数组 类型、指针类型、结构体类型、共用体类型等。 能用来实现各种复杂的数据结构(如链表、树、 栈等)的运算。尤其是指针类型数据,使用起来 比PASCAL更为灵活、多样。 (4) 具有结构化的控制语句(如if…else语句、while 语句、do…while语句、switch语句、for语句)。 用函数作为程序的模块单位,便于实现程序的模 块化。C是良好的结构化语言, 符合现代编程风 格的要求
清华大学出版社 TSINGHUA UNIVERSITY PRESS (5)语法限制不太严格,程序设计自由度大。例如对数 组下标越界不做检査,由程序编写者自己保证程序的 正确。对变量的类型使用比较灵活,例如整型数据与 字符型数据可以通用。一般的高级语言语法检查比较 ,能检查出几乎所有的语法错误。而C语言允许程 序编写者有较大的自由度,因此,放宽了语法检查。 程序员应当仔细检查程序,保证其正确,而不要过分 依赖C编译程序去查错。“限制”与“灵活”是一对 矛盾。限制严格,就失去灵活性;而强调灵活,就必然 放松限制。一个不熟练的编程人员,编一个正确的C 程序可能会比编一个其他高级语言程序难一些。也就 是说,对用C语言的人,要求对程序设计更熟练一些
(5) 语法限制不太严格,程序设计自由度大。例如对数 组下标越界不做检查,由程序编写者自己保证程序的 正确。对变量的类型使用比较灵活,例如整型数据与 字符型数据可以通用。一般的高级语言语法检查比较 严,能检查出几乎所有的语法错误。而C语言允许程 序编写者有较大的自由度,因此,放宽了语法检查。 程序员应当仔细检查程序,保证其正确,而不要过分 依赖C编译程序去查错。“限制”与“灵活”是一对 矛盾。限制严格,就失去灵活性;而强调灵活,就必然 放松限制。一个不熟练的编程人员,编一个正确的C 程序可能会比编一个其他高级语言程序难一些。也就 是说,对用C语言的人,要求对程序设计更熟练一些
清华大学出版社 TSINGHUA UNIVERSITY PRESS (6)C语言能进行位(bi操作,能实现汇编语言的大 部分功能,可以直接对硬件进行操作。因此C既 具有高级语言的功能,又具有低级语言的许多功 能,可用来写系统软件。C语言的这种双重性, 使它既是成功的系统描述语言,又是通用的程序 设计语言。 有人把C称为“高级语言中的低级语言”或“中级 语言”,意为兼有高级和低级语言的特点。按此 观点可将各语言分类如下:
(6) C语言能进行位(bit)操作,能实现汇编语言的大 部分功能,可以直接对硬件进行操作。因此C既 具有高级语言的功能,又具有低级语言的许多功 能,可用来写系统软件。C语言的这种双重性, 使它既是成功的系统描述语言,又是通用的程序 设计语言。 有人把C称为“高级语言中的低级语言” 或“中级 语言”,意为兼有高级和低级语言的特点。按此 观点可将各语言分类如下: