C语言标准参考手册.pdf

C语言标准参考手册.pdf

ID:50160258

大小:380.38 KB

页数:92页

时间:2020-03-08

C语言标准参考手册.pdf_第1页
C语言标准参考手册.pdf_第2页
C语言标准参考手册.pdf_第3页
C语言标准参考手册.pdf_第4页
C语言标准参考手册.pdf_第5页
资源描述:

《C语言标准参考手册.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1C的标准化过程C语言自诞生到现在,期间经历了多次标准化过程,主要分成以下几个阶段:1.1TraditionalC此时的C语言还没有标准化,来自“CProgrammingLanguage,FirstEdition,byBrianW.Kernighan,DennisM.Ritchie.PrenticeHallPTR1978”的C描述可算作“正式”的标准,所以此时的C也称为“K&R”C。期间C语言一直不断的发生细微的变化,各编译器厂商也有自己的扩展,这个过程一直持续到20世纪80年代末。1.2C89考虑到标准化的重要,ANSI(America

2、nNationalStandardsInstitute)制定了第一个C标准,在1989年被正式采用(AmericanNationalStandardX3.159-1989),故称为C89,也称为ANSIC。该标准随后被ISO采纳,成为国际标准(ISO/IEC9899:1990)。C89的主要改动:·定义了C标准库;·新的预处理命令和特性;·函数原型(prototype);·新关键字:const、volatile、signed;·宽字符、宽字符串和多字节字符;·转化规则、声明(declaration)、类型检查的改变。1.3C95这是对C8

3、9的一个修订和扩充,称为“C89withAmendment1”或C95,严格说来并不是一个真正的标准。C95的主要改动:·3个新标准头文件:iso646.h、wctype.h、wchar.h;·一些新的标记(token)和宏(macro);·一些新的printf/scanf系列函数的格式符;·增加了大量的宽字符和多字节字符函数、常数和类型。1.4C99这是目前最新的标准,由ISO制定于1999年(ISO/IEC9899:1999),故称为C99。C99的主要改动:·复数(complex);·整数(integer)类型扩展;·变长数组;·B

4、oolean类型;·非英语字符集的更好支持;·浮点类型的更好支持;·提供全部类型的数学函数;·C++风格注释(//)。2C标准文档2.1C99这是一个pdf文件:c99.pdf。2.2C89C99已经替代C89成为标准,所以C89文档已经很难找了。下面是书籍“CProgrammingLanguage,SecondEdition,byBrianW.Kernighan,DennisM.Ritchie.PrenticeHallPTR(April1,1988),0131103628.”附录A的一份拷贝,在此作为C89标准以供需要时查阅。同时也提供

5、中文版本,内容来自该书对应的中译版“《C程序设计语言》,徐宝文等译,机械工业出版社出版,ISBN7111075897”。文档仅供个人参考使用(建议以英文版为主):英文版中文版为方便起见,提供一份标点符号中英对照表,希望有用:标点符号中英对照表。3C标准的选择选择标准依赖于编译器的支持和对可移植性的要求。C99是当前的标准,但它仍未得到广泛支持,虽然标准发布已经多年。C99对C89(C95)的改动非常大,如果编写C99的代码,那么可移植性必然受到限制。此外,个人认为C99的一些新特性在大多数程序设计中并不是必须的。C89(包括C95)是目前

6、使用最广泛的,并得到所有主流编译器的支持。TraditionalC现在只会在一些非常老的代码中才能见到了,除非你在维护旧代码,否则不应该再使用它。所以,个人觉得当前还是以C89(包括C95)标准为主。1引言本手册描述的c语言是1988年10月31日提交给ANSI的草案,批准号为“美国国家信息系统标准―C程序设计语言,X3.159-1989”。尽管我们已非常小心,以便这个手册的介绍可以信赖,但它毕竞不是标准本身,而是对标准的一个解释。这个手册的安排基本与标准相似,也与本书的第1版相似,但是对细节的组织是不同的。本手册给出的语法与标难是一样的

7、,只是有少量产生式有所修改,词法元素和预处理器的定义也非形式化。注释部分说明了ANSI标准C与本书第1版介绍的或其他编译器所支持的语言的细微差别。2词法规则一个程序由存储在文件中的一个或多个翻译单元织成,程序的翻译分几个阶段完成,这将在12节中介绍。翻译的第一阶段完成低级的词法转换,执行由字符#开始的行所引入的指令,井进行宏定义和宏扩展。当预处理(将在12节中介绍)完成后,程序就被归约成一个单词序列。2.1单词共有6类单词;标识符、关键字、常量、字符串字面值、运算符和其他分隔符。空格、横向和纵向制表符.换行符、换页符和注解(合称空白符)在

8、程序中仅用来分隔单词,因此将被略过。空白符用来分开相邻的标识符、关键字和常量。如果到某一字符为止的输人流被分成若干单词.那么下一个单词就是可能组成单词的最长的字符串。2.2注解注解以字符/*开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。