C语言的简单介绍

C语言兼有高级语言和低级语言的特点

广泛应用于操作系统和应用软件的编写以及单片机和嵌入式系统的开发

C语言的产生

1963年,剑桥大学推出了CPL(Combined Programming Langurage)语言.

1967年,剑桥大学的Matin Richards对CPL语言做了简化,推出了BCPL(Base Combined Programming Langurage)语言

1969年前后,贝尔实验室的肯.兰.汤普森(Ken Lane Thompson)在丹尼斯.麦卡斯利泰尔.里奇(Dennis MacAlistair Ritchie/DMR)的支持下,以BCPL为基础,对BCPL语言简化,设计出了很简单的而且很接近硬件的B语言(取BCPL的第一个字母),用来编写UNIX.但B语言过于简单,功能有限.

1972年,DMR在B语言的基础上设计出了C语言,(取BCPL的第二个字母).C语言问世.C语言保持了BCPL语言和B语言的优点(精练,接近硬件),又克服了他们的缺点(过于简单,数据无类型等)

1973年初,C语言的主体完成,Thompson和Ritchie开始用C语言重写UNIX

1977年,DMR发表了不依赖于具体机器系统的C语言编译文本<<可移植的C语言编译程序>>

1978年,美国电话电报公司AT&T(American Telephone & Telegraph)贝尔实验室正式发布C语言.同年布莱恩.威尔森.柯林汉(Brian Wilson Kernaghan)和丹尼斯.麦卡斯利泰尔.里奇(Dennis MacAlistair Ritchie)合著了<<The C Programming Language>>一书,这本书被C语言开发者称为K&R,很多年来被开发者当做C语言的非正式标准说明.人们称这个版本的C语言为K&R C

C语言的标准K&R C

起初,C语言没有官方标准.1978年由美国电话电报公司(AT&T)的贝尔实验室正式发表C语言.同年布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)出版了一书<<The C Programming Language>>.这本书被C语言开发者们称为K&R,很多年来被当作C语言的非正式的标准说明.人们称这个版本的C语言为K&R C

ANSI C/C89

1989年,为了避免个开发厂商用的C语言语法产生差异以及C语言能够健康发展下去,美国国家标准协会(American National Standards Institute/ANSI)通过了C语言标准.因为这个标准是1989年通过的,所以简称C89标准.有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的.

注:ISO C/C901990年,国际标准化组织(International Organization for Standardization/ISO)和国际电工委员会(International Electrotechnical Commission/IEC)把C89标准定一字不改的采纳为C语言的国际标准.

因为此标准是在1990年发布的,所以简称作C90标准.

不过大多数人依然称之为C89标准,因为此标准与ANSI C/C89标准完全等同.

ANSI C/C89和ISO C/C90内容基本相同,主要是发布的组织和时间不同.

C99

ANSI C标准确立之后,C语言的标准在很长一段时间内都没有较大的变动(出现过修订版本C94 和 C95).1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准C99.这是C语言的第二个官方标准.

C11

2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准C11,原名C1X.这是C语言的第三个官方标准,也是C语言的最新标准.

C语言特点基本特性

高级语言把高级语言的基本结构和语句与低级语言的实用性结合起来.

结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立.这种结构化方式可使程序层次清晰,便于使用,维护以及调试.具有多种循环,条件语句控制程序流向,从而使程序完全结构化.

代码级别的跨平台由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows,DOS,UNIX等等,也适用于多种机型.C语言对编写需要进行硬件操作的场合,优于其它高级语言

使用指针可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素.C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病.Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C.一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名.

特有特点

C语言是一个有结构化程序设计,具有变量作用域以及递归功能的过程式语言

C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value).

不同的变量类型可以用结构体组合在一起

只有32个保留字,使变量,函数命名有更多弹性

部份的变量类型可以转换,例如整型和字符型变量.

通过指针(pointer)C语言可以容易的对存储器进行控制

编译预处理让C语言的编译更具有弹性

优点

简洁紧凑,灵活方便C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写.把高级语言的基本结构和语句与低级语言的实用性结合起来.C语言可以像汇编语言一样对位,字节和地址进行操作,而这三者是计算机最基本的工作单元.

风不懂云的漂泊,天不懂雨的落魄,眼不懂泪的懦弱,

C语言的简单介绍

相关文章:

你感兴趣的文章:

标签云: