C语言是由美国贝尔实验室的D.里奇[注](Dennis Ritchie,丹尼斯·里奇,1941-09-09~2011-10-12)于1972~1973年期间设计的。C语言的设计目的是为了用于编写UNIX操作系统程序,但后来被广泛使用于各种平台、各种类型的应用开发,成为最为流行的语言之一。C语言对后来出现的很多语言(如C++、Java、C#等)产生了很大的影响,这些语言借鉴了C语言的很多元素。
C语言是一种静态类型的高级语言,其设计理念是简洁和高效,它只提供了很少的关键词和最基本的流程控制结构(分支与循环),可生成高效的机器指令,并且目标代码运行时不需要太多额外的运行时刻支持。C语言除了提供了基本数据类型和丰富的操作外,还提供了自定义数据类型(枚举、数组、结构等),为数据的描述带来方便。C语言支持过程抽象(函数)、结构化程序设计以及程序的多模块结构(通过源文件的单独编译和预处理程序的文件包含指令支持)等,为大型程序设计提供便利。除此之外,C语言还提供了一些低级成分,如二进制位操作以及通过指针访问内存单元等,使得它适合编写系统软件(操作系统、设备驱动程序,网络通信协议等)。C语言的缺点是太灵活,对一些使用不当易导致错误的用法没有限制,特别是指针操作,使用不当会造成灾难性后果。
C语言从产生以来也在不断发展,为了对其规范化,美国国家标准局于1989年为C制定了规范文本(标准)ANSI X3.159-1989(简称C89),国际标准化组织于1990年采纳了ANSI的C89标准,发布了C语言的国际标准ISO/IEC 9899:1990(简称C90),从此以后,C的标准化纳入国际标准,国际标准已经可查询到2018年发布的C17版本。