什么是C语言?

Python014

什么是C语言?,第1张

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。

目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

语言特点

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

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

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

只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

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

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

预编译处理(preprocessor)让C语言的编译更具有弹性。

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

常用的C语言IDE(集成开发环境)有Microsoft

Visual

C++,Borland

C++,Watcom

C++

,Borland

C++

,Borland

C++

Builder,Borland

C++

3.1

for

DOS,Watcom

C++

11.0

for

DOS,GNU

DJGPP

C++

,Lccwin32

C

Compiler

3.1,Microsoft

C,High

C,Turbo

C等等......

C语言是贝尔实验室在20世纪70年代初开发的一种用途广泛的编程语言。

1969年Ken Thompson在PDP-7上用汇编语言编写了Unix的最初版本,用汇编语言编写的程序是难以维护的,Ken Thompson 意识到需要一种更加高级的变成语言来完成Unix的开发,于是他设计了一种简单的B语言,B语言是在BCPL语言的基础上开发的(BCPL是上个世纪60年代中期产生的一种系统编程语言)。

不久后,Dennis Ritchie加入到了Unix项目,并开始用B语言编写程序。1970年, 贝尔实验室为Unix项目争取到了一台PDP-11计算机。B语言经过改进运行在了PDP-11上时,Ken Thompson就用B语言重写了部分Unix代码。

到了1971年,B语言已经无法满足Unix的开发了,于是Dennis Ritchie开始开发B语言的升级版。他最初将心开发的语言明明为NB(New B), 但后来,新语言与B语言差别越来越大,于是他决定将它命名为C语言。

1973年C语言已经足够稳定,可以用来重新编写Unix系统了。改用C语言编写的程序显示出一个非常重要的好处:可移植性。通过在贝尔实验室里为其他类型的计算机编写C语言编译器,Unix也同样可以在不同类型的计算机上运行了。

C语言自出现后,一直持续发展,1978年Brain Kernighan 和 Dennis Ritchie 合作编写并出版了The C Programming Language (K&R)。此书一经出版就迅速成为了C程序员的宝典。由于当时缺少C语言的正式标准,所以这本书就成为了事实上的标准。

随着C语言的迅速普及,编写新的C语言编译器的程序员们都参考"K&R",但"K&R"对一些语言特性的描述非常模糊,导致编译器会对这些特征进行不同的处理(目前C语言里依然有很多未定义行为)。

由于在“K&R”出版后,C语言一直在持续发展,对C语言进行全面、准确且最新描述的需求就显得尤为迫切了,如果缺乏标准,就会出现各种方言(参考Lisp)会影响到C语言的可移植性。

1983年美国国家标准协会(ANSI)开始编制C语言标准。经过多次修订,C语言标准于1988年完成,并在1989年12月正式通过, 简称C89, 1999年通过了C99标准,2007 年,C语言标准委员会又重新开始修订C语言,到了 2011 年正式发布了C11。