【C/C++ 标准的发展】C/C++ 语言标准的历史和演变

C/C++标准介绍C++语言的起源C++语言标准C++语言标准的发展阶段C++语言标准介绍结语
__C语言特点C语言简洁、紧凑、灵活 。C语言的核心内容很少 , 只有32个关键字 , 9种控制语句;程序书写格式自由 , 压缩了一切不必要的成分 。表达方式简练、实用 。C语言有一套强有力的运算符 , 达44种 , 可以构造出多种形式的表达式 , 用一个表达式就可以实现其它语言可能要用多条语句才能实现的功能 。具有丰富的数据类型 。数据类型越多 , 数据的表达能力就越强 。C语言具有现代语言的各种数据类型 , 如:字符型、整型、实型、数组、指针、结构体和共用体等 。可以实现诸如链表、堆栈、队列、树等各种复杂的数据结构 。其中指针使参数的传递简单、迅速 , 节省内存 。具有低级语言的特点 。具有与汇编语言相近的功能和描述方法 , 如地址运算、二进制数位运算等 , 对硬件端口等资源直接操作 , 可充分使用计算机资源 。因此 , C语言既具有高级语言便于学习和掌握的特点 , 又具有机器语言或汇编语言对硬件的操作能力 。所以 , C语言既可以作为系统描述语言 , 又可以作为通用的程序设计语言 。是一种结构化语言 , 适合于大型程序的模块化设计 。C语言提供了编写结构化程序的基本控制语句 , 如if~else语句、语句、while语句、do~while语句等 。C程序是函数的集合 , 函数是构成C程序的基本单位 , 每个函数具有独立的功能 , 函数之间通过参数传递数据 。
除了用户编写的函数外 , 不同的编译系统、操作系统都相伴还提供了大量的库函数供用户使用 , 如输入输出函数、数学函数、字符串处理函数等 , 灵活使用库函数可以简化程序的设计 。各种版本的编译系统都提供了预处理命令和预处理程序 。预处理扩展了C语言的功能 , 提高了程序的可移植性 , 为大型程序的调试提供了方便 。可移植性好 。程序可以从一个环境不经改动或稍加改动就可移植到另一个完全不同的环境中运行 。这是因为系统库函数和预处理程序将可能出现的与机器有关的因素与源程序隔开 , 这就容易在不同的C编译系统之间重新定义有关内容 。生成的目标代码质量高 。由C源程序得到的目标代码的运行效率比用汇编语言写的也不过只低10%到20% , 可充分发挥机器的效率 。C语言语法限制不严 , 程序设计自由度大 。C程序在运行时不做诸如数组下标越界和变量类型兼容性等检查 , 而是由编程者自己保证程序的正确性 。C语言几乎允许所有的数据类型的转换 , 字符型和整型可以自由混合使用 , 所有类型均可作逻辑型 , 可自己定义新的类型 , 还可以把某类型强制转换为指定的类型 。C语言标准的发展阶段 年份C标准名称
1978
K&R C
K&R C
1989
ISO C /ANSI C
C89/C90
1999
ISO/IEC 9899:1999
C99
2011
ISO/IEC 9899:2011
C11
2018
ISO/IEC 9899:2018
C18
2022
Yet to be
C2x
c语言标准介绍K&R C
1978年 , 丹尼斯·里奇( )和布莱恩·科尔尼干(Brian
)出版了一本书 , 名叫《The C
》 。这本书被C语言开发者们称为“K&R” , 很多年来被当作C语言的非正式的标准说明 。人们称这个版本的C语言为“K&R C” 。
C89
为统一C语言版本 , 1983年美国国家标准局(