C/C语言简介

维基教科书,自由的教学读本
< C

C语言于1972年诞生于贝尔实验室,是一种面向过程的结构化程序设计语言。它以很高的实用性得到了广大程序员的青睐,得以广泛应用。许多著名的系统级软件都是用C语言编写的,如UNIX操作系统、GNU系统软件套件Linux内核。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了。C语言还可以用来实现另一种语言,如Python的官方解释器CPython就是用C语言实现的。

C语言的特点[编辑]

C语言最初是为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、并开发出来的。它的设计目标是提供一种能以简易的方式编译、处理低级存储器、只产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言既有着高级语言的简易方便,同时又像低级语言一样有着较高的执行效率。C语言也保留了一些低级层面的功能,可以像汇编语言一样对位、字节和地址进行操作, 这三者是计算机最基本的工作单元。在某一些方面C语言也可能会不如其它程序语言。例如专为解决数学计算问题而诞生的Fortran语言,C语言的计算效率就不如它,但比起Fortran,C语言的指针却更灵活。或是Java,C语言的可移植性不像Java那样好,因为Java有着独特的运行方式(可参见维基百科的Java条目),但是正因为如此,相较于C语言,Java的执行效率却打了折扣。总而言之,选择C语言一般能给大多数人一个好的开始,可以满足大部分的需求,为计算机程序设计打下很好的基础。以下是一些关于C语言特点的较为详细的介绍。

优点[编辑]

执行效率高[编辑]

C语言一般是首选的计算机操作系统生产语言。它一开始就是为了移植UNIX而被设计出来的,因而需要有着较高的执行效率。如果用汇编语言去开发程序,虽然能够把执行效率提高,但对于特别大的程序,开发工作将会十分的费力。而使用C语言,则是一个很好的折中方式。

C语言也不是只能开发操作系统。正因为C语言较高的执行效率,用C语言开发出的程序与大多数其它语言开发出来的具有相同功能的程序相比,C语言开发的程序能够运行得更快。

可移植性好[编辑]

在大部分操作系统平台以及不同的计算机架构平台上,都能够使用及开发C语言程序。例如Debian GNU/Linux操作系统就是为多种计算机架构提供的,而它的代码多是用C语言所写。

使用灵活[编辑]

虽然C语言设计之初是为了系统编程,但没有固定的约束将它限制在该范围内。C语言可以用于编写从嵌入式系统到商业数据处理的各种应用程序。此外,C语言在其特性使用上的限制非常少,以至于在其他语言中认定非法的操作在C语言中往往有可能是允许的。例如:C语言会允许一个字符与一个整数值相加。

历史悠久[编辑]

因为C语言已经存在了很久,并且使用广泛,因此,您可以很容易的找到很多学习资料。

很多人或团体开发的程序都是以自由软件或是开源软件的形式发布的,它们的开发者允许您不受限制地取得、学习、修改及再分发出去。如有名的网络浏览器Firefox就是一个开放源代码的自由软件。

缺点[编辑]

容易隐藏错误[编辑]

正是C语言的灵活性使得程序员们使用它编程时出错的概率可能会比其他语言更高。用其他语言编程时能够发现的问题,在C语言中往往不会被编译器检查到。一个额外的分号可能会导致无限循环,遗漏的一个‘&’可能会引发程序崩溃。

可能难以理解[编辑]

C语言产生时的1973年正是人机交互时最单调乏味的时期,因此C语言设计者特意使得C语言简洁明了以便将录入和编辑程序的用时减到最少。“过于聪明”的程序员甚至可能会写出除了他们自己几乎无人能够看懂的程序。