1.1C语言的起源
贝尔实验室的Dennis M.Ritchie在1972年开发了C,它来自于Ken Thompson的B语言。
1.2使用C语言的理由
1.2.1设计特性
C是一种融合了控制特性的现代语言,其设计使得用户可以自然地采用自顶而下、结构化的编程,以及模块化的设计。这种做法使得编出的程序更可靠、更易懂。
1.2.2高效性
C是一种高效地语言,C程序往往很紧凑且运行速度快。
1.2.3可移植性
C是一种可移植语言,在一个系统上编写的C程序经过很少改动或不经修改就可以在其他系统上运行。
1.2.4强大的功能和灵活性
C强大而又灵活。
1.2.5面向编程人员
C面向编程人员的需要。它允许您访问硬件,并可以操纵内存中的特定位;它具有丰富的运算符供选择,让您能够简洁地表达自己的意图。
1.2.6缺点
C在表达方面的自由会增加风险。“自由的代价是永远地警惕”
1.3C语言的发展方向
C的应用领域包括: 计算机语言、PC应用程序、电影特效制造、机器人工厂、嵌入式系统、UNIX操作系统等。
1.4计算机工作的基本原理
CPU的工作:从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令执行。CPU有自己的工作区,该工作区由若干寄存器组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU使用该信息获取下一条指令。获取一条指令后,CPU在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。
1.5高级计算机语言和编译器
高级语言(如C、Java、Pascal)都以更抽象的方式描述动作,并且没有与特定的CPU或指令集相关联。编译器是将高级语言程序解释成计算机所需的详细机器语言指令集的程序。
1.6使用C语言的8个步骤
1.6.1定义程序目标
希望程序做什么:考虑程序需要的信息;程序需要进行的计算和操作,以及程序应该向您报告的信息。
1.6.2设计程序
程序如何完成目标:用户界面应该是什么样的,程序应该如何组织,目标用户是谁,有多长时间来完成这个程序?
1.6.3编辑
创建和编辑C语言源代码,文件拓展名为.c。
1.6.4编译
将源代码转换成机器语言,在编译过程中检测及报告代码中的错误。编译器的输出称为目标代码,存放目标代码的文件称为目标文件,文件拓展名为.obj。目标文件只包含源代码转换成的机器语言。
1.6.5链接
链接器将把编译器从源代码文件生成的各个模块联合起来,加上C语言提供的程序库中的代码模块,把所有代码连接成一个可执行文件,文件拓展名为.exe。可执行文件包含目标代码和您所使用的库例程以及启动代码的机器代码。
1.6.6运行程序
运行.exe程序文件。
1.6.7测试和调试程序
调试(Debugging)就是要发现并改正程序错误。
1.6.8维护和修改程序
对程序进行更改,优化等。
1.6.9总结
编写代码前先进行规划:使用笔记来大略记下程序的目标,并勾勒出设计概貌。