C语言程序设计:现代方法_附录A_C语言语法
C语言程序设计
C语言语法
C语言的ISO标准的附件B给出了一套完整的语言语法规则。本附录再现了这些规则,而且我把这些规则编写得更易读①。在每条规则中,语法项的名称会出现在左侧并以黑体字的形式显示出来。符号、*、+、[、]、(和)具有下列的含义:
项目1项目2表示项目1和项目2可以两者选其一。
项目*表示项目可以重复零次或多次。
项目+表示项目可以重复一次或多次。
[项目]表示项目是可选的。
(和)用于可选择项组。
但是,当把这些符号设置成为courier粗体时,它们具有通常C语言中的含义。虽然大多数规则相当清楚,但是有一些需要更深入的解释说明。如果需要,还会有注释。
A.1 记号
记号关键字标识符常量字符串字面量运算符标点符号
预处理头文件名标识符预处理数字符常量字符串字面量运算符 标点符号
每种不属于上述字符的非空白字符
“记号”是组成程序不可分割的符号。预处理器识别一些编译器不识别的记号,因此
记号和预处理记号之间有区别。
A.2 关键字
关键字autobreakcasecharconstcontinuedefaultdodouble
elseenumexternfloatforgotoifintlongregister
returnshortsignedsizeofstaticstructswitchtypedef
unionunsignedvoidvolatilewhile
A.3 标识符
标识符非数字(非数字数字)*
非数字_abcdefghijklmnopqrstuvw
xyzABCDEFGHIJKLMNOPQRSTU
VWXYZ
数字0123456789
A.4 常量
常量浮点常量整型常量枚举常量字符常量
浮点常量小数常量 [指数部分] [浮点后缀] | 数字+ 指数部分 [浮点后缀]
小数的常量数字* . 数字+数字+ .
指数部分( eE ) [ +- ] 数字+
① 这些资料经ANSI许可改编自American National Standards Institute ANSI/ISO 9899©1990。这个标准的副本可从ANSI购买(ANSI,11 West 42nd Street, New York, NY 10036)。