C语言程序设计:现代方法_附录A_C语言语法

C语言程序设计:现代方法_附录A_C语言语法

ID:46380894

大小:317.83 KB

页数:5页

时间:2019-11-23

C语言程序设计:现代方法_附录A_C语言语法_第1页
C语言程序设计:现代方法_附录A_C语言语法_第2页
C语言程序设计:现代方法_附录A_C语言语法_第3页
C语言程序设计:现代方法_附录A_C语言语法_第4页
C语言程序设计:现代方法_附录A_C语言语法_第5页
资源描述:

《C语言程序设计:现代方法_附录A_C语言语法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、附录AC语言语法C语言的ISO标准的附件B给出了一套完整的语言语法规则。本附录再现了这些规则,而且我把这些规①*则编写得更易读。在每条规则中,语法项的名称会出现在左侧并以黑体字的形式显示出来。符号、、+、[、]、(和)具有下列的含义:z项目1项目2表示项目1和项目2可以两者选其一。*z项目表示项目可以重复零次或多次。+z项目表示项目可以重复一次或多次。z[项目]表示项目是可选的。z(和)用于可选择项组。但是,当把这些符号设置成为courier粗体时,它们具有通常C语言中的含义。虽然大多数规则相当清

2、楚,但是有一些需要更深入的解释说明。如果需要,还会有注释。A.1记号记号关键字标识符常量字符串字面量运算符标点符号预处理头文件名标识符预处理数字符常量字符串字面量运算符标点符号每种不属于上述字符的非空白字符“记号”是组成程序不可分割的符号。预处理器识别一些编译器不识别的记号,因此记号和预处理记号之间有区别。587A.2关键字关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregis

3、terreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhileA.3标识符*标识符非数字(非数字数字)非数字_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ数字0123456789A.4常量常量浮点常量整型常量枚举常量字符常量+浮点常量小数常量[指数部分][浮点后缀]

4、数字指数部分[浮点后缀]*++.小数的常量数字.数字数字+指数部分(eE)

5、[+-]数字①这些资料经ANSI许可改编自AmericanNationalStandardsInstituteANSI/ISO9899©1990。这个标准的副本可从ANSI购买(ANSI,11West42ndStreet,NewYork,NY10036)。410附录AC语言语法浮点后缀flFL默认情况下,浮点常量是以double格式存储的。在浮点常量末尾的字母f或F通知编译器要以float型存储常量。1或L则通知编译器以longdouble型存储常量。整型常量十进制常量[整数后缀]八进制常量[整数

6、后缀]十六进制常量[整数后缀]*十进制常量非零数字数字*八进制常量0八进制数字注意,0是正式区分作为八进制常量的,不是十进制常量。当然,这个特殊的举措没有什么差异,因为0在任何情况下的含义相同。+十六进制常量(0x0X)十六进制数字非零的数字123456789八进制数字01234567十六进制数字123456789abcdefABCDEF整数后缀无符号后缀[长后缀]长后缀[无符号后缀]588无符号后缀uU长后缀lL整型常量末尾的字母u或U通知编译器把常量作为unsingedint型来存储。l或L则

7、通知编译器把常量作为longint型来存储。当常量后跟有两种字母时(顺序任意),都把常量作为unsignedlongint型来存储。枚举常量标识符枚举常量用于枚举元规则中(见A.11节)。++字符常量'c字符'L'c字符'如果出现了L,常量表示的是宽字符。c字符除去'、以外的任何字符,或换行符转义序列小心正确地解释上述的规则。规则说明字符常量不包含换行符,但是它没说明字符常量不能包含'或字符。这两者始终会作为转义序列的内容出现在字符常量中。转义序列简单转义序列八进制转义序列十六进制转义序列简单

8、转义序列’”?\abfrtv八进制转义序列八进制数字[八进制数字][八进制数字]+十六进制转义序列x十六进制数字由于历史原因,八进制转义序列限定为三个数字。另一方面,十六进制转义序列可以是任意数量的数字。A.5字符串字面量**字符串字面量"s字符"L"s字符"如果出现了L,字符串字面量就为宽字符串。s字符除去"、以外的任何字符,或换行符转义序列这条规这不表示字符串常量不能含有"或字符。这两者始终会作为转义序列的内容出现在字符常量中。A.6运算符运算符[]().->+

9、+--&*+-~!sizeof/%<<>><><=>===!=^

10、&&

11、

12、?:=*=/=%=+=-=<<=>>=&=^==,###为了方便,把预处理器运算符#和##也包含到C语言的普通运算符组中了。附录AC语言语法411A.7标点符号标点符号[](){}*,:=;...#一些标点符号也是运算符,这要依赖于实际内容。例如,记号=当用在声明中时是标点符号,主要是为了把变量和它的初始符分离开,或者是为了把枚举常量和它的值分离开。而当记号=用于表达式时,它就是赋值运算符。记号...(省略号

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

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

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