C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。
学生们用 C 来学习编程,但它的作用远不止这一点。它不是一门学术型语言。它不是最简单的语言,因为 C 是一门非常底层的编程语言。今天,C 在嵌入式设备中广泛使用,它驱动着绝大多数用 Linux 搭建的因特网服务器。Linux 内核是用 C 写的,这也意味着 C 驱动着所有安卓设备的内核。可以这么说,此时此刻,整个世界的一大部分就是由 C 代码运行的,令人惊叹。
在以前,完全不是这样的。C 带来了一门易于实现的语言,它的编译器可以很容易地被移植到不同的机器上。
C 是一门编译型语言,就像 Go、Java、Swift 或 Rust 一样。其它流行的语言,比如 Python、Ruby 或 JavaScript 都是解释型语言。编译型语言与解释型语言的差别是不变的:编译型语言生成的是可直接执行和分发的二进制文件。
C 不支持垃圾收集(garbage collection),这意味着我们必须自己管理内存。管理内存是一项复杂的任务,需要十分小心才能预防缺陷,但 C 也因此成为了嵌入式设备(例如 Arduino)编程的理想语言。
C 并不会隐藏下层机器的复杂性和能力。一旦知道你能做什么,你就能拥有巨大的能力。
C编程被认为是其他编程语言的基础,这就是为什么它被称为母语的原因
可以通过以下方式定义它:
- 母语
- 系统编程语言
- 面向过程的编程语言
- 结构化编程语言
- 中级编程语言
1)C作为母语
C语言被认为是所有现代编程语言的母语,因为大多数编译器,JVM,内核等都是用C语言编写的,并且大多数编程语言都遵循C语法,例如C++,Java,C#
它提供了诸如数组,字符串,函数,文件处理等核心概念,这些核心概念正在许多语言(例如C++,Java,C#)中使用.
2)C作为系统编程语言
系统编程语言用于创建系统软件。 C语言是一种系统编程语言,因为它可用于执行低级编程(例如驱动程序和内核)。它通常用于创建硬件设备,操作系统,驱动程序,内核等。例如,Linux内核是用C编写的。在诞生之初,C 被认为是一门高级语言,因为它可以在不同机器之间移植。
它不能用于Java,.Net,PHP等Internet编程。
3)C作为程序语言
过程称为功能,方法,例程,子例程等。过程语言为程序指定了解决问题的一系列步骤。
程序语言将程序分解为功能,数据结构等。
C是一种过程语言。在C语言中,变量和函数原型必须在使用前声明。
4)C作为结构化编程语言
结构化编程语言是过程语言的子集。结构是指将程序分解为多个部分或块,以便于理解。
在C语言中,我们使用函数将程序分为多个部分。它使程序更易于理解和修改。
5)C作为中级编程语言
C被认为是中级语言,因为它支持低级和高级语言的功能。 C语言程序被转换为汇编代码,它支持指针算术(低级),但它与机器无关(高级功能)。
低级语言特定于一台机器,即与机器有关。它取决于机器,运行速度快。但这并不容易理解。
高级语言并非特定于一台机器,即与机器无关。很容易理解。
C语言的历史
C编程语言是由Dennis Ritchie在AT的贝尔实验室于1972年开发的。
开发它是为了克服诸如B,BCPL等以前的语言的问题。
编程语言的基础或父系是“ ALGOL”。 它于1960年首次推出。“ ALGOL”在欧洲国家广泛使用。 “ ALGOL”向开发人员社区介绍了结构化编程的概念。
1967年,一种新的计算机编程语言被宣布为“ BCPL”,它代表基本组合编程语言。 BCPL由Martin Richards设计和开发,特别是用于编写系统软件。 那是编程语言的时代。
仅仅三年之后,1970年,肯·汤普森(Ken Thompson)引入了一种新的编程语言,称为“ B”,其中包含“ BCPL”的多个功能。 该编程语言是在AT&T和Bell实验室使用UNIX操作系统创建的。 “ BCPL”和“ B”都是系统编程语言。
1972年,一位杰出的计算机科学家丹尼斯·里奇(Dennis Ritchie)在贝尔实验室创建了一种名为“ C”的新编程语言。 它是由“ ALGOL”,“ BCPL”和“ B”编程语言创建的。 “ C”编程语言包含这些语言的所有功能,以及更多其他使这些语言与众不同的概念。
“ C”语言是一种功能强大的编程语言,与UNIX操作系统紧密相关。 甚至大多数UNIX操作系统都以“ C”编码。 最初,“ C”编程仅限于UNIX操作系统,但随着它开始在全球范围内传播,它开始商业化,并且为跨平台系统发布了许多编译器。
如今,“ C”可以在多种操作系统和硬件平台下运行。 随着语言的发展,它发行了许多不同的版本。 有时,由于系统在旧版本下运行,因此开发人员难以跟上最新版本。 为了确保“ C”语言仍然是标准语言,美国国家标准协会(ANSI)在1989年定义了“ C”语言的商业标准。后来,国际标准组织(ISO)在1990年批准了该标准。 语言也称为“ ANSI C”, 作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持符合ANSI C的语法。
C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。
让我们看看在C语言之前开发的编程语言。
语言 | 年 | 由开发 |
---|---|---|
Algol | 1960 | 国际集团 |
BCPL | 1967 | 马丁·理查德 |
B | 1970 | 肯·汤普森 |
Traditional C | 1972 | 丹尼斯·里奇 |
K & R C | 1978 | 克尼根 |
ANSI C | 1989 | ANSI委员会 |
ANSI/ISO C | 1990 | ISO委员会 |
C99 | 1999 | 标准化委员会 |