当前位置:嗨网首页>书籍在线阅读

07-C编程语言

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.3.1 C编程语言

20世纪80年代初,C语言问世已达10年之久,在大量UNIX系统以及其他操作系统上都有实现。各种C语言的实现之间存在着细微差别,这部分是由于在当时C语言事实上的标准——Kernighan和Ritchie于1978年所著的The C Programming Language一书中(有时,人们将书中所记载的老式C语言语法称为传统C或K&R C),并未就C语言在某些方面的运作方式进行细化。此外,借鉴于1985年面世的C++语言,在不破坏现有程序的前提下,C语言得以进一步丰富和完善,其中最知名的莫过于函数原型、结构赋值、类型限定符(const and volatile)、枚举类型以及void关键字。

上述因素形成了C语言标准化进程的强力推手,ANSI(美国国家标准委员会)C语言标准(X3.159-1989)最终于1989年获批,随之于1990年被ISO(国际标准化组织)所采纳(ISO/IEC 9899:1990)。这份标准在定义C语言语法和语义的同时,还对标准C语言库操作进行了描述,这包括stdio函数、字符串处理函数、数学函数、各种头文件等等。通常将C语言的这一版本称为C89或者(不太常见的)ISO C90,Kernighan和 Ritchie所著的The C Programming Language第2版(1988)对其有完整描述。

1999年,ISO又正式批准了对C语言标准的修订版(ISO/IEC 9899:1999,请见http://www.open-std.org/jtc1/sc22/wg14/www/standards)。通常将这一标准称为C99,其中包括了对C语言及其标准库的一系列修改,诸如,增加了long long和布尔数据类型、C++风格的注释(//)、受限指针以及可变长数组等。写作本书之际,对C语言标准的进一步修订(非正式命名为C1X)仍在进行之中,预计将于2011年正式获批。

C语言标准独立于任何操作系统,换言之,C语言并不依附于UNIX系统。这也意味着仅仅利用标准C语言库编写而成的C语言程序可以移植到支持C语言实现的任何计算机或操作系统上。

回顾历史,过去的ANSI C通常指C89,时至今日,这一用法还时有所见。GCC就是一例,其限定符-ansi意指“支持所有ISO C90程序”。然而,本书会避免这种用法,因为如今该术语的含义有些含糊不清。自从ANSI委员会批准了C99修订版之后,确切说来,现在的ANSI C应该是C99。