vlambda博客
学习文章列表

C语言:一种高效、易学的编程语言


C语言是一种通用的程序设计语言。它同UNIX系统之间具有非常密切的关系。C语言是在UNIX系统上开发的,且无论是UNIX系统本身还是其上运行的大部分程序,都是C语言编写的。但是C语言并不受限于任何一种操作系统或机器。由于C语言使用用来编写编译器和操作系统,因此被称为“系统编程语言”。

Basic Combined Programming Language(BCPL)是一种早期的高级语言。1967年由剑桥大学的Matin Richards在同样由剑桥大学开发的CPL语言上改进而来。BCPL最早被用做牛津大学的OS6操作系统上面的开发工具。1970年,贝尔实验室的Ken Thompson在BCPL的基础上改进出了B语言,用于书写UNIX。这个名字取自BCPL中的第一个字母。B语言使用的时间更短,因为三年后的1973年同样是贝尔实验室的D.M.RITCHIE将B语言进一步改进,并且取了BCPL中的第二个字母将其命名为C语言。

C语言:一种高效、易学的编程语言


C语言为实现结构良好的程序提供了基本的控制流结构:语句组、条件判断(if-else)、分支选择(switch)、循环(while、for)、提前跳出循环(break)等。

函数可以返回基本类型、结构、联合或指针型的值。任何函数都可以递归调用。局部变量通常是“自动的”,即在每次函数调用时重新创建。一个C语言程序的不同函数可以出现在多个单独编译的不同源文件中。变量可以只在函数内部有效,也可以在函数外部但仅在一个源文件中有效,还可以在整个程序中都有效。


C语言不提供直接处理诸如字符串、集合、列表或数组等复合对象的操作。虽然可以将整个结构作为一个单元进行拷贝,但C语言并没有处理整个数组或字符串的操作。除了由函数的局部变量提供的静态定义和堆栈外,C语言没有定义任何存储器分配工具,也不提供堆和无用内存回收工具。另外,C语言本身没有提供输入/输出功能,没有READ或WRITE语句,也没有内置的文件访问方法。所有这些高层的机制必须由显示调用的函数提供。

类似的,C语言只提供简单的单线程控制流,即测试、循环、分支和子程序,它不提供多道程序设计、并行操作、同步和协同例程。

尽管缺少某些特性看起来好像是一个严重不足(这意味必须通过调用函数来实现),但把语言保持在一个适度的规模会有很多益处,可以用比较小的篇幅将它描述出来,这样也很容易学会。尽管如此。对于大量的程序设计应用来说,C语言是一种公认的非常高效的、表示能力很强的语言。