文档介绍:第1章 C语言基础知识
C语言概述
简单C程序与上机步骤
数据类型
常量与变量
运算符和表达式
C语言概述
C语言的发展
C语言的特点
C程序的执行
C程序形式和程序执行过程
C语言的发展
人和计算机交换信息用到的语言称为计算机语言。
为了解决某一特定问题用某一种计算机语言编写的指令序列称为程序。
C语言的发展
:
(1) 机器语言
a. 形式特点:由 0,1序列组成的指令系统
b. 不需要任何翻译工作,执行效率高
c. 难记、难认、难理解,程序开发效率底,
易出错、难调试
d. 不同的计算机结构具有不同的指令系统(不同的机器具有不同的语言)
10000000 加
10010000 减
C语言的发展
(2) 汇编语言(符号语言)
a. 形式特点:由一套简单的助记符来表示
不同的机器指令
b. 需要相应的翻译机制(汇编系统)
c. 抽象层次高一些,容易理解些,程序生产效率高
d. 不同的计算机结构具有不同的汇编系统
源程序
(汇编语言)
汇编系统
目标程序
(机器语言)
C语言的发展
(3) 面向过程的高级语言(算法语言,3GL)
a. 形式特点:更接近于人们通常数学计算公式的描述
b. 需要更高级的翻译系统(pler)
c. 表达能力强,编程效率高
d. 不依赖于具体的机器,依赖于不同机器上的编译系
统(不同机器上的编译系统是有差异的)
C语言的发展
(4) 非过程化的高级语言(4GL)
* 过程化语言:用语言描述怎样做的过程
* 非过程化语言:只要告诉计算机做什么
* 其它方面的特点与面向过程的高级语言相同
* 非过程化的高级语言的几种类型:
a. 4GL: VB,VC
b. 逻辑性语言:PROLOG
c. 面向对象语言:SmallTalk
C语言的发展过程
C语言的出现是与UNIX OS紧密联系在一起的,随着UNIX OS的成功和在国际上的广泛流行,C语言在软件工程里越来越受到重视。
C语言本身也有一个发展过程,目前仍处于发展和完善过程中。
C语言的"家谱"如下图所示:
ALGOL 60 (1960, Algorithm language)
由国际委员会设计,比Fortran出现的晚,但比Fortran精致和完善,由于它抽象,庞大而没有得到推广和流行起来.
CPL (bined Programming Language)
比ALGOL大,功能强,难以学****难以实现.
BCPL (1967,bined Programming Language)
剑桥大学的Martin Richards 研制,目的是把CPL加以浓缩,
使得既保持CPL的基本特性,又易于学****实现.
B (1970,取BCPL的第一个字母)
由美国Bell实验室的Ken Thompson研制.
对BCPL进一步简化,用B语言写出了第一个UNIX OS并在PDP-7机上实现。由于B语言采用按字编址,不适合PDP_11按字节编址进行存取的要求,B还缺乏一定的数据类型的表达能力,编译产生的是解释执行代码,速度慢,这是B发展的主要障碍.
C语言的发展过程
C (1972,取BCPL的第二个字母)
Bell Lab 。
追求的目标:保持了BCPL和B的精练性和接近机器硬件的优点,恢复其通用性,使其简洁、灵活、高效、可移植。
1973年,UNIX在C语言改写的环境下,加进了多道程序的功能。
70年代中期,UNIX和C得到了广泛的应用,受到了越来越多的人的关注。
UNIX公认为第一标准的操作系统,C语言成为“近十年来对计算机程序设计实践最重要的贡献之一”,成为微机、小型机、超小型机、大形机、巨型机上共同使用的一种语言。
1983年,.
标准C (1978)
以K&R合著的《The C Programming Language》一书中的C为基础
ANSI C (1983)
美国国家标准化协会根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C,比原来的标准C有了很大的发展
以标准C为基础,相应于不同的编译系统,产生了不同版本的C语言,如MSC
TurboC UNIXC等,其基本语句相同,库函数不太相同
C语言的特点
人们从不同的角度总结出C语言的许多特点,这些特点都基本上反映了C语言产生的环境,也体现了设计者所追求的目标。
下面我们从C语言的发展与UN