当前位置:编程学习 > C/C++ >>

c++ primer是以什么标准写的?

答案:是以C语言为标准写的!

C语言历史 早期的操作系统等系统软件主要是用汇编语言编写的,如UNIX操作系统。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能,而汇编语言可以直接对硬件进行操作,例如,对内存地址的操作、位(bit)操作等。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了,之后成为国际上广泛流行的计算机高级语言。它适合于作为系统描述语言,即用来写系统软件,也可用来写应用软件。 C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序,1963年英国的剑桥大学推出了CPL(Combined Programming Language)语言。CPL语言在ALGOL 60的基础上接近硬件一些,但规模比较大,难以实现。1967年英国剑桥大学的Matin Richards对CPL语言作了简化,推出了BCPL(Basic Combined Programming Language)语言。1970年美国贝尔实验室的Ken Thompson以BCPL语言为基础,又作了进一步简化,它使得BCPL能挤压在8K内存中运行,这个很简单的而且很接近硬件的语言就是B语言(取BCPL的第一个字母),并用它写了第一个UNIX操作系统,在DEC PDP-7上实现。1971年在PDP-11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限,并且和BCPL都是“无类型”的语言。1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNIX操作系统提供一种工具语言而设计的。1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的90%以上用C改写,即UNIX第5版。原来的UNIX操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的,这样,Unix使分散的计算系统之间的大规模联网以及互联网成为可能。 后来,C语言多次作了改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX第6版公布后,C语言的突出优点才引起人们普遍注意。1977年出现了不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,使C移植到其它机器时所需做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如,VAX,AT&T等计算机系统都相继开发了UNIX。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,如IBM System/370、Honeywell 6000和Interdata 8/32,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。(编程中心) 以1978年由美国电话电报公司(AT&T)贝尔实验室正式发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan(柯尼汉)和Dennis M.Ritchie(里奇)合著了影响深远的名著《The C Programming Language》,常常称它为‘K&R’,也有人称之为‘K&R标准’或‘易做图’(white book),它成为后来广泛使用的C语言版本的基础,但在‘K&R’中并没有定义一个完整的标准C语言。为此,1983年,美国国家标准化协会(ANSl)X3J11 委员会根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C,ANSI C比原来的标准C有了很大的发展:K&R在1988年修改了他们的经典著作《The C Programming Language》,按照ANSI C标准重新写了该书。1987年,ANSI又公布了新标准——87 ANSI C。目前流行的C编译系统都是以它为基础的。当时广泛流行的各种版本C语言编译系统虽然基本部分是相同的,但也有一些不同。在微型机上使用的有Microsoft C(MS C),Borland Turbo C,Quick C和AT&T C等,它们的不同版本又略有差异。到后来的Java、C++、C#都是以C语言为基础发展起来的。
国标

上一个:急求C++头文件cfg.h
下一个:关于C++编程的问题!高分急急急啊

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,