
C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。
在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。
UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。
- 易于学习。
- 结构化语言。
- 它产生高效率的程序。
- 它可以处理底层的活动。
- 它可以在多种计算机平台上编译。
关于 C
- C 语言是为了编写 UNIX 操作系统而被发明的。
- C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的。
- C 语言标准是于 1988 年由美国国家标准协会(ANSI,全称 American National Standard Institute)制定的。
- 截至 1973 年,UNIX 操作系统完全使用 C 语言编写。
- 目前,C 语言是最广泛使用的系统程序设计语言。
- 大多数先进的软件都是使用 C 语言实现的。
- 当今最流行的 Linux 操作系统和 RDBMS MySQL 都是使用 C 语言编写的。
为什么要使用 C?
C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。下面列举几个使用 C 的实例:
- 操作系统
- 语言编译器
- 汇编器
- 文本编辑器
- 后台打印服务(Print Spooler)
- 网络驱动器
- 现代程序
- 数据库
- 语言解释器
- 实体工具
C 程序
一个 C 语言程序,可以是 3 行,也可以是数百万行,它可以写在一个或多个扩展名为 ".c" 的文本文件中,例如,hello.c。您可以使用 "vi"、"vim" 或任何其他文本编辑器来编写您的 C 语言程序。
本教程假定您已经知道如何编辑一个文本文件,以及如何在程序文件中编写源代码。
实际上任何一款代码(文本)编辑器都可以编写C语言代码(只要它可以保存.c文件),比如VSCode,sublime,atom,vim等。但并不推荐使用记事本这种工具,可能会出现一些未知的错误,前面提到的代码编辑工具是经过实践后可以使用的。
另外,c语言程序的后缀还有可能是
.h和.cpp,前者是c语言的头文件(比如stdio.h),后者是C++(可以认为是C语言的超集)的代码文件(也可以用在C语言的学习上)。
C语言标准
C语言的发展历史可以分为多个阶段,每个阶段都对应一个标准。
C语言的标准化是为了保证不同编译器、不同操作系统下的程序能够有一致的行为,同时也方便程序员进行交流和开发。本文将介绍C语言的几个标准及其主要特点。
一、K&R C
K&R C 是 C语言的第一个标准,由 C语言的创始人 Dennis Ritchie 和 Brian Kernighan 于 1978 年在其著作《The C Programming Language》中定义。
K&R C 标准包含了 C语言的基本语法、数据类型、运算符等,但是并不是完整的语言规范,缺少了一些重要的特性,例如函数原型、结构体等。因此,K&R C 标准已经过时,不再被广泛使用。
二、ANSI C
ANSI C 是 C语言的第二个标准,由美国国家标准协会(ANSI)于 1983 年发布。该标准定义了 C语言的全部语法、数据类型、库函数等,是 C语言的第一个完整的规范。ANSI C 标准还引入了一些新特性,例如函数原型、void 类型、const 限定符等。
ANSI C 标准被广泛采用,成为了 C语言的主流标准。
三、C89/C90
C89/C90 是 ISO/IEC 9899 标准,也是 ANSI C 的国际标准版本,于 1989 年发布。该标准与 ANSI C 基本一致,但是对于一些问题进行了更严格的定义,例如字符集、浮点数计算等。
C89/C90 标准成为了 C语言的主流标准,并被广泛应用于各个领域。
四、C99
C99 是 ISO/IEC 9899:1999 标准,于 1999 年发布。
C99 标准对 C语言进行了大量的扩展和改进,引入了很多新特性,例如布尔类型、复数类型、变长数组、标准宏等。C99 标准还修正了一些 C89/C90 标准中的错误和不足之处,使得 C语言更加完善和健壮。
C99 标准在学术界和一些特定领域得到了广泛的应用,但在工业界的普及程度相对较低。
五、C11
C11 是 ISO/IEC 9899:2011 标准,于 2011 年发布。
C11 标准在 C99 基础上进行了进一步的扩展和改进,包括了一些新特性,例如泛型宏、多线程支持、_Static_assert 等。C11 标准对于一些早期 C标准中存在的问题进行了修正,使得 C语言更加健壮和安全。
C11 标准在工业界的普及程度相对较低,但已经被一些编译器支持。
六、C17
C17 是 ISO/IEC 9899:2018 标准,于 2018 年发布。
C17 标准在 C11 基础上进行了一些小的修订和更新,主要是对标准库进行了一些改进和扩展。C17 标准对于C语言本身的特性并没有做出太大的改变,主要是对于一些库函数进行了更新和扩展。
C17 标准目前还比较新,尚未得到广泛的应用。
总的来说,C语言的标准化历程经历了多个阶段,每个阶段都对应一个标准。
从最初的 K&R C 到后来的 ANSI C、C89/C90、C99、C11、C17 等版本,C语言的特性逐渐得到完善和改进,同时也保证了不同编译器、不同操作系统下的程序能够有一致的行为。
C语言的标准化是保证程序员能够更加规范地编写程序、更加方便地进行交流和开发的重要保障。
第一个C语言程序
你好,世界
#include <stdio.h>
int main()
{
printf("Hello, World! \n");
return 0;
}
输出结果 查看
文章评论