乐创DIY C语言讲义——0 前言
前言
要问世界上最好用的编程语言是什么,这个可能很难回答,因为各种语言的优缺点都不一样,很难讨论出一个结果出来。但是要问世界上使用时间最久,应用最广泛的语言是什么,那众口一致会回答C语言。C语言诞生于20世纪的70年代初,当时被称为K&RC,第一个成熟的ANSIC(简称“C89”)制定于1989年,紧接着1990年,C语言被国际标准化,制定了“C90”标准。后面的C语言标准不断被更新,1999发布了“C99”,2011年发布了“C11”,最新版的C语言标准(“C17”)就在不久前的2017年发布。除了以上的一些ISO和ANSIC标注之外,20世纪80年代,由于自由软件运动,还衍生出了GNUC。对于Windows操作系统,也衍生出了MS-C。尽管C语言的标准不断更新发展,各家的C语言标准也不完全相同,但C语言的核心内容依旧没有改变,即寄存器级的编程和灵活的指针操作。正由于这两个典型的特点,使得C语经久不衰,存在于大到服务器,小到智能手环这样的硬件上面。
如今的编程语言,你可以说Python,Java,C#等高级语言具有操作系统平台的特点,但不可否认的是,抛开操作系统,C语言是最便于移植的编程语言。这也是C语言的另一个显著特点,即只要有堆栈,即可运行C语言,不需要像其他高级语言一样依赖于一系列操作系统提供的API或者运行时。这样的特点,使得C语言可以很简单地运行在哪怕内存只有几十个字节的芯片上面。用C语言开发出来的优秀程序,其效率基本可以比肩汇编,而又比汇编易写,易读。如今的C语言,在“世界编程语言排行榜2019”上面还能排第二,其中的绝大部分是用在了嵌入式和单片机端的程序开发上。
市面上优秀的C语言图书琳琅满目,为何我还要再编写一本书呢?有以下几个原因:一,大多数C语言教程都是基C89/C90开发讲解的,它们成书时间都比较早,而目前的C语言标准都对它们进行了扩充,如“unsigned long long int”这样的定义,在C99中才被支持,因此以前书中基于C89/C90的内容都需要更新。二,绝大多数的C语言书只讲解C语言的基本语法,其他的和内存,硬件相关的内容比较少,已经不适合目前的嵌入式开发,因此本书对这些不足也做了补充。
最后,感谢所谓所支持我的人,让我有决心花时间来完成这一本书。介于我水平有限,书中难免有一些错误之处,请各位不吝指出,定当第一时间修改。
C语言好书推荐: