一、C语言的起源
1972年,贝尔实验室的丹尼斯·里奇与肯·汤普逊在开发UNIX操作系统时设计了C语言。然而C语言是基于B语言(汤普逊发明)的基础上进行设计的。
二、C语言的优点
C语言是一门通用的面向过程的计算机编程语言,广泛应用于底层开发。C语言的设计理念是让用户轻松地完成自顶向下的规划、结构化编程和模块化设计。C语言的优点如下:
-
高效性
。在设计上,C语言充分利用了当前计算机的优势,使得C语言程序更紧凑,运行速度更快。更重要的是,C语言具有汇编语言才具有的微调控制能力,这种能力使操作系统可以根据具体情况微调程序以获得最大运行速度或最有效地使用内存。 -
可移植性高
。这意味着,在一种操作系统中编写的C程序稍作修改或不修改就能在其他操作系统上正确运行,从而极大减少了程序移植的工作强度。如果需要修改,也只是简单修改主程序头文件中的少许项即可。但是,C程序中针对特殊硬件设备或操作系统的特殊功能编写的部分,通常是不可移植的。
3.
功能强大而灵活
。C语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。比如,许多编程语言的解释器和编译器都是用C语言编写的。C语言甚至可以解决物理学与工程学的问题,甚至可用于制作电影的动画特效。 -
面向过程
。面向过程的思想是就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件。而且C语言丰富的运算符和数据类型可以让程序员简洁地表达自己的意图。
C语言也有缺点,比如说语法限制不太严格,容易影响程序的安全性。而且C语言比其他编程语言更难掌握。但是瑕不掩瑜,C语言作为一门古老的编译型语言,依然在世界上散发着独特的生命力。
三、C语言的应用范围
在上世纪80年代,C语言就已经成为计算机的主流语言。
主要应用范围:UNIX操作系统、计算机游戏、嵌入式系统、机器人工厂、PC应用等等。
四、C语言标准
1、第一个C语言标准(C90)
C语言发展之初,并没有统一的C标准。1978年,布莱恩·柯林汉与丹尼斯·里奇合著的The C Programming Language(《C语言程序设计》)第一版是公认的C语言指导标准,业内人士通常称之为
K&R
或
经典C
。然而这套标准没有定义C库(因为C语言相对于其他编程语言跟依赖于库)。因此,ANSI与1983年开发了一套新标准,并于1989年正式公布。该标准不仅定义了C语言还定义了C标准库。在1990年ISO正式采用了这套标准。因此,业内人士将这套标准成为
C89
或
C90
。直到今日,业界使用的C语言的主流标准依然是C90/C89标准。
2、C语言新标准
1994年,C9X委员会开始修订C标准,最终发布了C99标准。该标准保留了最初的C90标准的原则。在2011年,标准委员会正式公布了C11标准;在2018年,委员会发布了C17或C18标准;在2022年9月发布了C23标准。
五、使用C语言的七个步骤
编写C程序的过程可以分为七个步骤:
-
定义程序的目标
。在编写程序前,要在脑海中有整体的思路。确定编写的程序需要哪些数据类型、哪些库函数以及最终得出什么样的结果。对于这一步骤,建议在草稿纸上用非编程语言对这些信息进行描述。 - ** 设计程序**。思考如何将这些信息有逻辑地组织起来,是用哪一种流程图表达解决问题的逻辑还是用其他图表表达呢?这时候应该选择一个合适的方式表示信息的处理有助于更好地设计程序与处理数据。
-
编写代码
。在这一步骤中,就要用到C语言的知识。建议先在草稿纸上写一遍源代码,然后在编译器或编辑器上输入源代码。 -
编译
。编译的细节取决于具体的编程环境。 -
运行程序
。 -
测试和调试程序
。也许程序不能如你所愿运行出正确结果,这就说明程序存在一些错误,计算机行话叫做bug。查找并修复程序错误的过程叫调试(debug)。 -
维护和修改代码
。即使程序能如你所愿正确运行,程序也有可能存在隐患或者你想要给程序添加新功能。这时,就需要添加代码修改程序。然而,修改程序不是一件简单的事情。如果能在编写程序时,适当地添加一些清晰的注释,那么在后期的维护与修改中将起到极大作用。
在编写代码的过程中,你很快就会发现写代码是一个循环往复的过程。一个程序越复杂,定义程序设计目标和设计程序的工作量就越大。因此,编写程序时应该
养成先好好规划再动手写代码的习惯
。用草稿纸和笔记录程序设计目标和程序设计的基本框架,这样做会使得在编写代码时游刃有余。