为什么C语言要叫C语言,不叫A语言或者B语言?

Python019

为什么C语言要叫C语言,不叫A语言或者B语言?,第1张

早起有种B语言,派生自BCPL语言,是Ken Thompson发明的,他是UNIX的缔造者。后来AT&T贝尔实验室的Dennis Ritchie发明了C语言,最初是用来编写和维护UNIX的,不过后来证明UNIX和C语言配合的天衣无缝,所以C语言越来越流行了。后来AT&T贝尔实验室的Bjarne stroustrup发明了C++。并把其设计成了一种更好的C。

分类: 电脑/网络 >>程序设计 >>其他编程语言

解析:

C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统

的 DEC PDP-11 计算机上使用。 它由早期的编程语言 BCPL( Basic Combind

Programming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 Ken

Thompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。

随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准,

使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 美国国家标准

研究所(ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准。

C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的

功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。

用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、

WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:

1. C是中级语言

它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象

汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

2. C是结构式语言

结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的

信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调

试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循

环、条件语句控制程序流向, 从而使程序完全结构化。

3. C语言功能齐全

C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另

外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑

判断功能也比较强大, 可以实现决策目的。

4. C语言适用范围大

C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于

多种机型。

C语言的祖先是BCPL语言。 1967年,剑桥大学的 Martin Richards 对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。 1970年,美国贝尔实验室的 Ken Thompson。以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。 在1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。 1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchie合著了著名的《The C Programming Language》一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准化协会(American National Standards Institute)在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSI C。 K&R第一版在很多语言细节上也不够精确,对于pcc这个“参照编译器”来说,它日益显得不切实际;K&R甚至没有很好表达它所要描述的语言,把后续扩展扔到了一边。最后,C在早期项目中的使用受商业和政府合同支配,这意味着一个认可的正式标准是必需的。因此(在M. D. McIlroy的催促下),ANSI于1983年夏天,在CBEMA的领导下建立了X3J11委员会,目的是产生一个C标准。X3J11在1989年末提出了一个他们的报告[ANSI 89],后来这个标准被ISO接受为ISO/IEC 9899-1990。 1990年,国际标准化组织ISO(International Organization for Standards)接受了89 ANSI C 为I SO C 的标准(ISO9899-1990)。1994年,ISO修订了C语言的标准。 1995年,ISO对C90做了一些修订,即“1995基准增补1(ISO/IEC/9899/AMD1:1995)”。1999年,ISO又对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,尤其是对C++中的一些功能,命名为ISO/IEC9899:1999。 2001年和2004年先后进行了两次技术修正。 目前流行的C语言编译系统大多是以ANSI C为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则又略有差别。 2011年12月,ISO正式公布C语言新的国际标准草案:ISO/IEC 9899:2011。 新的标准修提高了对C++的兼容性,并将新的特性增加到C语言中。新功能包括支持多线程, 基于ISO/IEC TR 19769:2004规范下支持Unicode,提供更多用于查询浮点数类型特性的宏定义和静态声明功能。