版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第12章 C语言的编译预处理C语言属于高级语言,用C语言编写的程序称为源程序,这种用高级语言编写的源程序计算机是不能直接执行的,必须经过C语言的编译系统把源程序编译成目标程序(机器指令构成的程序)并连接成可执行程序,计算机才可以执行。因此,用C语言来处理问题,必须经过程序的编写编译及连接运行三个主要过程。然而,为了减少C源程序编写的工作量,改善程序的组织和管理,帮助程序员编写易读、易改、易于移植、便于调试的程序,C语言编译系统提供了预编译功能。所谓的预编译功能是指:编译器在对源程序正式编译前,可以根据预处理指令先做一些特殊的处理工作,然后将预处理结果与源程序一起进行编译。C语言提供的编译预处理
2、功能主要有三种:文件包含、宏定义、条件编译。这三种功能分别以三条编译预处理命令#include、#define、#if来实现。编译预处理指令不属于C语言的语法范畴,因此,为了和C语句区别开来,预处理指令一律以符号“#”开头,以“回车” 结束,每条预处理指令必须独占一行。12.1 文件包含预处理“包含”的英文单词为“include”,所谓“文件包含”预处理,就是在源文件中通过“#include”命令指示编译器将另一段源文件包含到本文件中来。例如,源文件f1.c中有一句“#include f2.c”编译预处理命令,如图12-1(a)所示。编译预处理后文件f1.c的完整结构如图12-1(c)所示。f
3、1.c#include f2.cf1.cf2.c(a) 预编译前(b)(c) 预编译后图12-1 文件包含编译预处理命令编译时先将f2.c(图12-1(b))的内容复制嵌入到f1.c(图12-1(a))中来,即进行“包含”预处理,然后对调整好的完整的f1.c(图12-1(c))进行编译,得到相应的目标代码。换句话说,由f1.c和f2.c组成程序的目标代码(.obj)和用一个源文件(类似于图c)的目标代码(.obj)完全一样。但是用#include包含f2.c的方式编写程序可以使其他的程序重用f2.c的代码,并且使源文件简洁明了。“文件包含”指令有两种使用方式:第一种形式,用尖括号(即小于号)括
4、起被包含源文件的名称:#include 第二种形式,用双引号括起被包含源文件的名称:#include 文件名文件名按操作系统的要求定义,可以包括路径信息,例如:#include #include xyz.c#include c: bcmydirhead2.h#include 方式常用来“包含”系统头文件。系统头文件一般存储在系统指定的目录中,如Turbo C的include子目录。当C编译器识别出这条#include 命令后,它不搜索当前子目录,而直接到系统指定的包含子目录(即include子目录)中去搜索相应的头文件,并将搜索到的头文件的内容“包含”到“主”文件中来。#include 文件名
5、方式常用来“包含”程序员自己建立的头文件。当编译器识别出这条#include 文件名命令后,它先搜索“主”文件所在的当前子目录,如果没找到再去搜索相应的系统子目录。注意,所谓文件包含,指的是在“主”文件源程序中嵌入另一些源程序语句,形成一个完整的源程序去进行编译。所以只能包含源文件而不能去包含目标文件。如果源文件1中包含源文件2,而源文件2中又包含源文件3,这就是所谓的嵌套包含。例12.1 将若干个系统头文件包含到本文件中来。#include #include #include void main() 其中stdio.h头文件含有与标准输入输出操作有关的函数的原型声明等,如getc、putch
6、ar函数;math.h中则是一些数学函数的原型声明;而atoi函数、exit函数等的原型声明在stdlib.h头文件中。这些都是系统头文件,存储在系统指定的include子目录中,所以程序中使用包含命令时用括起头文件名,以便C编译器直接搜索系统子目录,快速寻找到这些头文件。 一条#include命令只能包含一个文件,若要包含多个文件就必须使用多条#include命令。一个C程序通常由多个源文件组成,每个源文件都是一个可独立编译的程序单位。在将程序分解成多个源文件后,必须计划每个源文件中哪些信息其他文件可见(以源文件形式提供),哪些不可见(以目标代码形式提供)。我们通常的做法是把其他文件可见的信
7、息放在一个称为“头文件(.h)”的源文件中,在需要的文件中用#include预编译指令包括进去。“头文件”中可以包含哪些代码,不能包含哪些代码?C语言的语法没有强行的规定。根据经验的总结,以下内容放在头文件中比较合适:(1) 包含指令(嵌套),如:#include (2) 函数声明,如:extern int fn(int a);(3) 类型声明,如:enum BOOLEAN false, true;(4) 常量定义,如:const float pi=3.14159;(5) 数据声明,如:extern int m; extern int a;(6) 宏定义,如:#define PI 3.1459
8、而对于函数的定义,数据的定义等代码不宜包含在头文件中。12.2 宏定义预处理熟悉汇编语言的读者都知道,宏是宏汇编语言的一个组成部分。C语言借鉴这种特点,同样具有宏的组成。C语言宏定义的简单形式是不带参数的宏定义,即符号常量定义,而带参数的宏定义则是它的复杂形式。12.2.1 不带参数的宏定义不带参数的宏定义常用来定义符号常量。程序总是用来处理具体问题的,因此程序中用到的常量一般都有具体的物理含义。但从常数本身却看不出它的物理含义,这显然降低了程序的可读性。因此C语言提供符号常量定义的预处理手段,指定一个有物理含义的名称(标识符)来代表一个具体常量(可以把它看做是一个可替换的正文字串)。不带参数
9、的宏定义的一般形式为:#define 标识符 具体常量#define 宏名 替换字串这种方法使得用户能以一个简单易记的常量名称代替一个较长而难记的具体常量,人们把这个标识符(名称)称为“宏名”,预处理时用具体的常量字符串替换宏名,这个过程称为“宏展开”。例:#define PI 3.14159它的作用是指定名称PI对应常数“3.14159”,程序中原先需要使用3.14159而其含义又为圆周率p的地方都可以改用PI。这样一来,凡是程序中出现PI的地方,经预处理后都会被替换成3.14159。例12.2 计算圆周长、圆面积以及同半径的球表面积和球体积。#include #define PI 3.14
10、159void main() float r, c, a, s, v;printf(Radius=);scanf(%f, &r);c=2.0*PI*r;a=PI*r*r;s=4.0*PI*r*r;v=4.0/3*PI*r*r*r;printf(Perimeter of circle=%.4f Area of circle=%.4fn, c, a);printf(Surface of ball=%.4f Volume of ball=%.4fn, s, v);可以看出,宏定义除了易记之外,还有易改的特点。当程序中多处使用3.14159作为p值参与运算时,一旦觉得精度不够,只需要将“#define
11、 PI 3.14159”改成要求的精度,例如:“#define PI 3.”。这时预处理时,程序语句中凡是写PI处全都换成3.去进行编译。请注意,因为宏定义不是C语句,不必在行尾加分号。而为了与变量名区别,人们常常习惯用大写字母表示宏名。又由于宏替换只是用相关的替换字串去代替宏名,预处理时只作简单的置换,不作语法检查(语法错误放在编译过程中检查),所以要注意替换的正确性,特别是在连续逐级层层替换时尤其要小心。例如:#define ONE 1#define TWO ONE+ONE当程序语句中有x=TWO时,则替换成x=ONE+ONE,即x=1+1。而当语句中有x=3*TWO时,则替换成x=3*O
12、NE+ONE,即x=3*1+1。替换结果与语句x=3*TWO的本意不符。因此常常将#define中的替换字串表达式用括号括起来,形成一个整体,连括号一块参与替换。如果上例改成:#define TWO (ONE+ONE)则x=3*TWO替换成x=3*(ONE+ONE) 即x=3*(1+1),替换结果与语句本意相符。通常,#define命令写在文件开头,函数之前,作为文件的一部分,此时宏定义的作用域为该文件的整个范围。也可以把宏定义安排在程序中的其他位置上,不过要注意在使用符号常量之前一定要先定义。另外,还可以用#undef命令提前终止宏定义的作用域。例如:#define PI 3. /* PI开
13、始有效 */void main() #undef PI /*PI开始无效 */int fun() 12.2.2 带参数的宏定义#define还可以定义带参数的宏,其一般形式为:#define 宏名(参数表) 替换字串在尾部的替换字串中一般都含有宏名括号里所指定的参数,它不仅进行简单的常量字串替换,还要进行参数替换。在预处理时,编译器将程序中的实际参数代替宏中有关的形式参数。例如,定义一个三角形周长的带参宏L为三边a、b、c之和:#define L(a, b, c) (a+b+c)其定义中的替换字串还不是最终的量,必须根据程序语句中实际使用宏名L时所带的具体参数a、b、c的值来确定替换字串的内容
14、,假如程序中有下面的宏引用:perimeterL(5, 7, 9);则宏展开替换时成了:perimeter(5+7+9);这里,我们按习惯将替换正文的表达式a+b+c用括号括起来形成一个整体(a+b+c),那么在替换时就可以避免结果与原意不符的情况。假如宏定义为:#define L(a, b, c) a+b+c而程序中的宏引用为x=6*L(5, 7, 9),则宏展开替换成了x=6*5+7+9,与原意不符。显然,从参数替换角度看,宏与函数相似都要用实际参数代替形式参数,但本质上两者还是不同的。宏展开在预处理时进行,函数则在程序执行调用时才起作用;带参宏只进行简单的字串替换,而没有函数那样的参数运
15、算,既不进行值的传递,也没有“返回值”的概念。12.3 条件编译预处理语言属于计算机高级语言,原理上高级语言的源程序与系统无关,然而,对于不同的系统C语言的源程序还是存在着微小差别的。在用C语言编写程序时,为了提高其应用范围,或者说为了提高它的可移植性,C语言的源程序中的一小部分内容需要针对不同的系统编写不同的代码,使之在确定的系统中选择其中有效的代码进行编译。条件编译预处理指令就是提供这方面功能的预处理指令。12.3.1 条件编译预处理命令#ifdef条件编译预处理命令#ifdef是一种特殊形式的条件编译预处理命令,它是通过测试标识符(宏名或常量)是否被定义来决定编译对象。其一般格式如下:格
16、式一:#ifdef 标识符语句组1#else语句组2#endif“ifdef 标识符”意思为“if defined 标识符”,其作用是:如果定义了该标识符就将语句组1编译成相应目标代码,否则将语句组2编译成相应目标代码。这种形式还有两种变形。格式二:#ifdef 标识符语句组1#endif格式三:#ifndef 标识符语句组1#else语句组2#endif#ifndef,意思为“if not defined 标识符”,其作用是:如果被测标识符没被定义就将语句组1编译成相应目标代码,否则将语句组2编译成相应目标代码。我们可以看出其测试状态与#ifdef恰恰相反。条件编译有时能够帮助解决程序的可移
17、植问题,提高通用性;同时,也便于程序的调试工作。例如,一个C源程序需要在不同的系统上运行,而不同的计算机系统又有微小的差异(例如,有的系统的int数据是16位,而有的是32位),我们可以应用条件编译预处理指令来选择不同的代码进行编译:#ifdef INT16#define INTEGER 16#else#define INTEGER 32#endif如果在这段代码前定义INT16,即在该代码前有:#define INT 16 0或者#define INT 16编译时就会选择:“#define INTEGER 16”进行编译,否则选择“#define INTEGER 32”编译。12.3.2 条
18、件编译预处理命令#if一般格式为:#if逻辑条件表达式语句组1#else语句组2#endif这种形式的条件编译命令,含义直观而明确。它也有一种简化形式:#if逻辑条件表达式语句组1#endif条件编译中的逻辑条件表达式是在进行编译时求其逻辑状态值的,因此条件中只能使用已定义的宏名或常量,而不能使用语句中的变量(因为变量是在最后的目标程序的运行中才获得其值的)。例12.3 用条件编译方法,根据不同地区的习惯,提示和输入不同的日期格式。#include #define CHINA 1#define ENGLAND 2#define USA 3#define COUNTRY 1void main()
19、 struct data int month;int day;int year; today;#if COUNTRY=CHINAprintf(Enter todays date(yy/mm/dd): n);scanf(%d/%d/%d, &today.year, &today.month, &today.day);#elif COUNTRY=ENGLANDprintf(Enter todays date(dd/mm/yy): n);scanf(%d/%d/%d, &today.day, &today.month, &today.year);#elif COUNTRY=USAprintf(Ent
20、er todays date(mm/dd/yy): n);scanf(%d/%d/%d, &today.month, &today.day, &today.year);#elseprintf(Country Error!);#endif习 题12.1 用宏定义方式判定年份是否闰年的程序如下,请填上适当的替换字串。#define LEAP(y) y*100#include void main() int year;scanf(%d, &year);if (LEAP(year) printf(%d is a leap year!n, year);else printf(%d ist a leap
21、year!n, year);12.2 若有宏定义如下:#define X 5#define Y X+1#define Z Y*X/2则执行以下语句后,输出的结果是( )。printf(%d, %dn, Y, Z);A) 6, 15 B) 6, 7 C) 5, 15 D) 5, 712.3 若有以下宏定义:#define N 2#define Y(n) n+2则执行如下语句后,输出的结果是:int z=2*Y(3)+N;printf(%dn, z);12.4 输入两个整数,用带参宏定义的方式求两数相除的余数。12.5 编写程序,用带参宏定义的方式求表达式2+(a+b)、2-(a+b)、2*(a+
22、b)的值,并输出结果。输出语句也要求采用宏定义命令。其中变量a、b的值从键盘输入,a+b由带参宏定义实现。12.6 分别用函数和带参宏定义的方式编程求三个数中的最小数。12.7 用条件编译实现以下的文件加密功能:输入一行文字,有条件地选择输出方式:要么明码输出(照原样不变地输出),要么密码输出(其加密原则为:非字母、数字照原样输出,每一个字母或数字都变成ASCII码表内间隔两位的字母或数字,例如,原为C,间隔D和E,变成了F;如果间隔两位不是字母或数字,则循环处理,如原为y则变成了b,原为7则变成了0。若原输入的是“Windows-96”,密码则变为“Zlqgrzv-29”)。定义宏CHANG
23、E为1或为0,据此选择输出方式。薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈
24、螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁
25、蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅
26、蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀
27、薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇
28、蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁
29、蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅
30、蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿
31、蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄
32、薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈
33、螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅
34、薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿
35、蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃
36、蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈
37、薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂
38、螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆
39、薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁 荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈
40、羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃
41、荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀
42、芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈
43、膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅
44、膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂
45、肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀
46、肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇
47、莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅
48、节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂
49、芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度注册核安全工程师考试综合练习【各地真题】附答案详解
- 2024-2025学年临床执业医师复习提分资料及答案详解(有一套)
- 2024-2025学年度贵州建设职业技术学院单招数学常考点试卷(综合卷)附答案详解
- 2024-2025学年度执法资格考前冲刺试卷附答案详解(A卷)
- 2024-2025学年医师定期考核真题【历年真题】附答案详解
- 市场推广活动及预算确认函7篇范文
- 2024-2025学年医学检验(士)试题预测试卷附答案详解(巩固)
- 2024-2025学年度护士资格证通关题库附参考答案详解【基础题】
- 2024-2025学年农村信用社招聘考试检测卷附参考答案详解【A卷】
- 汽车维修店汽车发动机保养流程标准手册
- GJB9001C-2017国军标标准培训讲义
- 人教版数学一年级下册第一单元《十几减9》真题同步测试3(含解析)
- 校园网网络工程分析需求报告
- 《杀死一只知更鸟》读书分享PPT
- 级自制书119本13黑今天穿什么
- Premiere 认证题库(整理版)
- 01厨房组织人员管理篇
- 考研考博-英语-华东理工大学考试押题卷含答案详解1
- 胆囊切除术 胆总管切开取石术
- 灭火器消防栓检查维护记录表
- 儿童炎症性肠病
评论
0/150
提交评论