C语言程序设计教程
上QQ阅读APP看书,第一时间看更新

1.1 C语言简介

1.1.1 计算机语言概念

自从世界上第一台计算机ENIAC诞生以来,计算机已广泛应用于社会生活的各个领域,给人类的生活带来了巨大的利益。作为人与计算机交流的工具,计算机语言也在不断地发展。C语言是当今世界上广泛流行、备受各界青睐的计算机语言之一。

1.计算机语言的定义

计算机语言是指计算机能够识别和接受的语言。要使计算机按自己的意图工作,必须使用计算机所能接受、理解和执行的指令来指挥它工作。通常把用计算机语言描述的一组指令序列称为“程序”,所以计算机语言又称程序设计语言。

2.计算机语言的种类

计算机程序设计语言经历了从机器语言、汇编语言到高级语言的历程。

1)机器语言

计算机内部使用的是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。计算机发明之初,人们就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种计算机唯一能够直接识别的语言就是机器语言。它是面向机器的语言,不好记忆,容易出错。另外,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。

2)汇编语言

汇编语言的实质和机器语言相同,都是直接对硬件操作,只不过汇编语言指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序称为汇编程序。

汇编语言源程序必须经过汇编程序翻译(这个过程又称汇编),生成目标文件(机器语言的目标程序),然后执行。

汇编语言依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精练而质量高,所以至今仍是一种常用而强有力的软件开发工具。

3)高级语言

高级语言是接近于数学语言或人类的自然语言,同时又不依赖于计算机硬件的计算机语言。采用高级语言编制的程序能在所有机器上通用。和汇编语言相比,高级语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。由于省略了很多细节,所以编程者不需要具备太多的专业知识。1954年,第一个完全脱离机器硬件的高级语言——FORTRAN问世了。发展到现在,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、Java等。

高级语言源程序可以用解释、编译两种方式来翻译成目标程序执行,后一种用得比较多。C语言就是使用编译的方式执行。

特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是兼有汇编语言和高级语言特性的新语言——C语言就诞生了。