1 / 69
文档名称:

CJJ54T-1993污水稳定塘设计规范.pdf

格式:pdf   页数:69页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CJJ54T-1993污水稳定塘设计规范.pdf

上传人:精品文档 2016/1/29 文件大小:0 KB

下载得到文件列表

CJJ54T-1993污水稳定塘设计规范.pdf

相关文档

文档介绍

文档介绍:。预处理功能是由很多预处理命令组成,这些命令将在编译时进行通常的编译功能〔包含词法和语法分析、代码生成、优化等〕之前进行处理,故称为"预处理".预处理后的结果和源程序一起再进行通常的编译操作,进而得到目标代码。预处理功能主要包括如下三种;宏定义、文件包含和条件编译。这些功能是通过相应的宏定义命令、文件包含命令和条件编译命令来实现。这些命令不同于C语言的语句,因为它们具有如下的特点:(1)多数预处理命令只是一种替代的功能,这种替代是简单的替换,而不进行语法检查。(2)预处理命令都是在通常的编译之前进行的,编译时已经执行完了预处理命令,即对预处理后的结果进行编译,这时进行词法和语法分析等通常的程序编译。(3)预处理命令后面不加分号,这也是在形式_七与语句的区别。(4)为了使预处理命令与一般C语言语句相区别,凡是预处理命令都以井号("#")开头。(5)多数预处理命令根据它的功能而被放在文件开头为宜,但是根据需要,也可以放到文件的其他位置。不要产生错觉,好像所有的预处理命令都必须放在文件开头。学****和掌握预处理功能时,应该了解它的上述规定,以便正确地使用和理解这些预处理命令。:#define<标识符)(字符串}其中,define是关键字,它表示该命令为宏定义,悦标识符)是宏名,它的写法同标识符。<字符串>用来表示<标识符>所代表的字符串。简单宏定义是定义一个标识符(宏名)来代表一个字符串。前面讲过的符号常量就是用这种简单宏定义来实现的。例如:#,它的作用是用指定的标识符PI来代替字符串"".在程序中出现的是PI,在编译前预处理时,将所有的PI都用""来代替,即使用宏名来代替指定的字符串。这一过程又称为"宏替换"或称为"宏展开".[]给出半径求圆的面积。执行该程序,出现如下信息:#(){fioatr,s,Printf("Inputradius;")scanf(""%f',&r);A=PI*r*rPrintf(:a=%.4f\n:,a);}执行该程序,出现如下信息:Inputradius;5输出结果如下s=:该例中,开始率义了符号常量PI,它是用宏定义来实现的。程序中出现的PI,在编译前预处理时将用""来替换。(1)宏定义中的<标识符)(即宏名)一般****惯用大写字母,以便与变量名区别。这样。在C语言程序的各表达式语句中,凡是大写字母的标识符(指全部大写字母)一般是符号常量。但是,宏定义中的宏名也可以用小写字母。(2)宏定义是预处理功能中的一种命令,它不是语句。因此。行末不需加分号。如果加了分号,则该分号将作为所定义的字符串的一部分,即按字符串的一部分来处理。(3)宏替换是一种简单的代替,替换时不作语法检查。如果所定义的字符申中有错,例如,将数字。,误写为字母。,预处理照样代换,并不报错,而在编译中进行语法检查时才报错。因此,要记住宏替换操作只是简单的代换,用宏定义时的字符串来替换其宏名。(4)宏定义中宏名的作用域为定义该命令的文件中,并从定义时起,到终止宏定义命令(#undef<标识符))为止,如果没有终止宏定义命令,则到该文件结束为止。通常放在文件开头,表示在此文件内有效。终止宏定义命令的格式如下:#undef(标识符)其中,undef是关键字,(标识符)表示要终止的宏名,该宏名是在该文件中已定义的标识符。例如:#undefPI表示宏定义的PI到此终止,即终止后的PI不再代表所定义的字符串了。(5)宏定义可以嵌套。所谓嵌套是指在进行宏定义时,可以引用已定义的宏名。例如:#defineWIDTH10#defineLENGTH(WIDTH十10)#defineAREA(LENGTH,WIDTH)在第二个宏定义中引用了第一个宏定义的宏名WIDTH,而在第三个宏定义中引用了第一个宏定义的宏名WIDTH和第二个宏定义的宏名LENGTH,第二个和第三个宏定义便是宏定义的嵌套使用。嵌套的宏定义在替换时,要进行层层替换。例如,在上述宏定义的文件中,出现如下语句:s=AREA+50;则替换步骤如下:先替换AREA,结果如下:s=(LENGTH,WIDTH)十50,再替换LENGTH,结果如下:s=((WIDTH+10)*WIDTH)+50;最后替换WIDTH,结果如下:s=((10+IO),10)十50;(6)一般编译系统对于加有双引号的字符串的宏名不予替换。但是,有的编译系统对字符串的宏名也予替换。使用时应该