1章  概    述
作为本书的开始,我们不涉及C语言的语法和使用细节,先来看一看这门语言的相关背景,以及其在计算机程序中举足轻重的地位。然后,为给后面的学习作准备,来看看如何建立C语言的开发环境。最后,抛砖引玉,说说笔者自己的C语言学习经验。
vs编程软件
1.1  C语言简介
本节先来看一看C语言的相关背景介绍。在众多的计算机语言之中,它到底处于一个什么样的位置?相对于其他计算机语言而言,它有什么优势和弱点?另外,C语言适合做些什么样的软件开发?带着这些问题开始本节的学习。
1.1.1  C语言的位置
图1.1是计算机语言发展过程的一个简单的示意图,只展示了一些主流的计算机语言的出现时间和顺序,不是很全,但是足以显示C语言与其他语言的关系了。
图1.1  计算机语言发展史(简)
从图1.1中可以看出,所有的高级语言都起于Fortran,之后就有不同的分支了。C语言也是其中的一个分支,主要起源于BCPL语言(Basic Combined Pogramming Language),是对BCPL语言的一种简化。C语言之所以被称为C语言,是因为BCPL语言被称为B语言,C语言不能再取BCPL的首字母了,因此,取BCPL的第二个字母CC语言因此得名。
C语言诞生于20世纪70年代,之后不断完善、标准化。目前流行的C语言编译系统大多数是以ANSI C(美国国家标准协会(ANSI)对C语言发布的标准)为基础进行开发的。但不同版本的C编译系统所实现的语言功能和语法规则略有差别。现在比较通用的是1990年,国际标准化组织ISO(International Organization for Standards)接受的1989年的ANSI C标准,并以它作为ISO C90标准——ISO/IEC9899:1990。
1.1.2  C语言的优缺点
任何一种计算机语言都有它的优势和不足,C语言也是如此。不要以为C语言都那么老了,是不是没用了,也不要以为C语言是,什么问题都能解决好。
1.C语言的优势
C语言的优点细数起来,估计手指加脚趾都不够用,但是这些优点可以总结为一点,那就是“灵活”。C语言的灵活主要体现在同一件事情可以通过好几种方式实现,并不会定死什么问题非得用什么方式来解决。C语言之所以灵活,是因为它有下面这些属性,保证了它天生就是一种灵活的语言。
结构丰富多变:C语言提供了三种基本的程序设计结构,通过这三种程序设计结构,就能够完成所有的计算机逻辑。而且每种结构中,又有略有差别的不同的形式,你可以选择自己喜欢的任意形式来完成需要的功能。
提供了多种基本运算:C语言提供了30多种运算符号,分为15个运算优先级,不仅可以完成基本的数学运算,还可以完成类似于计算机底层操作的位运算。有的运算符号在不同情况下的含义和使用方式也是不同的,而且可以通过强制结合来改变运算符的优先级。
丰富的数据类型:数据类型决定了一种语言可以用来操作什么样的数据。C语言的数据类型真可谓丰富,从基本的几种数据类型,到复杂数据类型,再到可以自定义的数据类型。从某种程度上来说,C语言可以用来操作任何类型的数据。
程序设计自由,语法限制不大:C语言代码在书写的时候,从书写格式到代码组织限制都不是很大,所以写代码的风格可谓百花齐放,什么样的都有。只要符合最基本的要求,无论你怎么写,都是对的。只不过代码风格不好,不利于阅读和理解。
对于上面提到的C语言的各种优点,在没有接触C语言之前,可能大家还体会不到。不要紧,相信大家学完这本书之后,回过头来看看这一部分内容,一定会有所感悟的。
2.C语言的不足
一个事物,往往最强的地方也就是它最弱的地方。C语言的弱点也正是由于它的“灵活”造成的。因为太灵活了,怎么样都行,对计算机的控制太过自由,稍不留意就会出现错误!所以,能灵活运用C语言,也是一种能力啊。
1.1.3  C语言适合什么开发
由于C语言本身的灵活性,导致它可以很好地处理复杂和具有差异的环境。因此,它至少适合进行下面三类软件的开发。
1.多平台通用软件
所谓多平台通用软件,就是指这个软件可以在很多系统上使用。例如,如果想让你写的同一个程序很好地运行在DOS、Windows 98、Windows XP、Windows CE、Linux、UNIX等多个操作系统上,C语言确实是个不错的选择。知道Apache吗?它是一个开源Web服务器工程,其中的HTTP服务器可以运行于很多平台,Windows、Linux和UNIX都是可以的,这个服务器就是用C语言开发的。
2.操作系统
由于C语言可以很自然地与汇编语言结合,又比汇编语言好用,能够很灵活地控制计算机硬件,因此很适合开发操作系统。Windows很老的版本都是用C语言写的,之后改用C++了,不过C++是兼容C语言的。Linux和UNIX系列的操作系统内核几乎都是用C语言写的,而且很多运行在板子上的嵌入式操作系统基本都是用C语言结合汇编写的。如果你真想做个操作系统,C语言绝对可以胜任。
3.复杂运算软件
之所以说C语言适合进行复杂计算软件的开发,是因为:(1)复杂计算软件本身很单纯,只需要计算机进行计算就可以了;(2)C语言本身有丰富的运算功能,完全可以实现复杂计算功能;(3)因为C语言是一种接近底层语言的高级语言,所以它写出来的程序在计算机上的运行效率很高。所以,要想做一个需要复杂而高效计算功能的软件,选择C语言绝对不会令你失望的。如果你经常做科学计算,用过MATLAB软件,它其中一部分也是用C语言写的。
1.2  C语言的开发环境
“工欲谋其事,必先利其器”。要想学好C语言,选择一个好的C语言开发环境是很有必要的,而且是首要任务。在本节中,来看看C语言的开发过程,教大家学习Windows平台上主流的C语言开发工具Visual Studio的基本使用方法。
1.2.1  编辑器、编译器和链接器
编辑器、编译器和链接器是使用C语言进行开发所需要的三个最基本的工具,而且也是最小的工具集,缺一不可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。