版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第6章章 结构体与共用体结构体与共用体 6.1 结构体概述结构体概述6.1.1 结构体的引入结构体的引入 和一个学生有关的数据:和一个学生有关的数据: 姓名、姓名、 性别、性别、 学号、学号、 年龄、年龄、 家庭住址、学习成绩家庭住址、学习成绩 这些数据项之间这些数据项之间关系密切但数据类型不尽关系密切但数据类型不尽相同相同,若分别定义多个变量,就会割裂这些数据,若分别定义多个变量,就会割裂这些数据项之间的内在联系。项之间的内在联系。 数组?数组?2 为了方便处理为了方便处理多个数据项多个数据项的数据,常把这些的数据,常把这些关系密切但类型不同关系密切但类型不同的数据项组织在一起,的数据项
2、组织在一起,即即“封装封装”起来,并为其取一个名字,在起来,并为其取一个名字,在C语言中,语言中,就称其为就称其为结构体结构体。 结构体通常是由不同数据类型的数据项组成,一结构体通常是由不同数据类型的数据项组成,一般也称是由不同成员组成,因此可以说:般也称是由不同成员组成,因此可以说:一个结构体一个结构体可包含若干成员,每一个成员可具有不同的名字及数可包含若干成员,每一个成员可具有不同的名字及数据类型。据类型。 结构体的引入为结构体的引入为处理复杂的数据结构处理复杂的数据结构提供提供了有力的手段,也了有力的手段,也为函数间传递一组不同数据为函数间传递一组不同数据类型的数据类型的数据提供了方便,
3、特别是对于数据结构提供了方便,特别是对于数据结构较为复杂的大型程序提供了方便。较为复杂的大型程序提供了方便。36.1 2 结构体类型的定义结构体类型的定义 结构体类型结构体类型和简单类型不同,和简单类型不同,简单类型简单类型是由系统预定义是由系统预定义的,如的,如int、float、char,直接可以使用直接可以使用。而。而结构体类型结构体类型是是根据需要根据需要由程序员自行定义由程序员自行定义,因此在使用之前,因此在使用之前必须先定义结必须先定义结构体类型构体类型。 结构体类型定义:结构体类型定义:struct 结构体名结构体名 类型标识符类型标识符 成员名;成员名; 类型标识符类型标识符
4、成员名;成员名; .;合法标识符合法标识符可省;可省;无名结构体无名结构体成员类型可以是成员类型可以是基本型或构造型基本型或构造型struct是是关键字关键字,不能省略不能省略注意:这里说的是定义结构体类型而不是变量。注意:这里说的是定义结构体类型而不是变量。4例例 struct student int num; char name20; char sex; int age; float score; char addr30; ; 结构体类型定义描述结构结构体类型定义描述结构的组织形式,的组织形式,不分配内存不分配内存5说明:说明: (1) 定义一个定义一个结构体类型结构体类型只是描述了此结构
5、体的组织形只是描述了此结构体的组织形 式,在编译时式,在编译时并不为其分配并不为其分配存储空间,即仅描述此存储空间,即仅描述此 数据结构的形态或者说模型,故不能对定义的一个数据结构的形态或者说模型,故不能对定义的一个 结构体类型进行赋值、存取或运算。结构体类型进行赋值、存取或运算。结构体的成员可以是简单变量、数组、指针、结构体或结构体的成员可以是简单变量、数组、指针、结构体或 共用体等。共用体等。 (3) 结构体类型定义可以结构体类型定义可以放在函数内部放在函数内部,也可以放在,也可以放在函数外函数外 部部。若放在内部,则只在函数内有效;若放在外部,。若放在内部,则只在函数内有效;若放在外部,
6、 则从定义点到源文件尾之间的所有函数都有效。则从定义点到源文件尾之间的所有函数都有效。(4) 结构体成员的结构体成员的名字名字可以同程序中的其它变量可以同程序中的其它变量同名同名,二者,二者 不会相混,系统会自动识别它。不会相混,系统会自动识别它。例如:刚才定义的结构体中,例如:刚才定义的结构体中, 年龄改用生日来描述。年龄改用生日来描述。 定义结构体:定义结构体: struct date_type int year; int month; int day; ;这样,关于学生信息的结构体这样,关于学生信息的结构体可定义为:可定义为: struct stud_type struct date_t
7、ype birthday; ;注意:结构体注意:结构体date_type一定要定义一定要定义 在结构体在结构体stud_type之前。之前。66.2 结构体变量结构体变量6.2.1 结构体变量的定义与初始化结构体变量的定义与初始化 1. 结构体变量的定义结构体变量的定义 先定义,再引用。先定义,再引用。 一个结构体变量的定义可以有一个结构体变量的定义可以有三种方式三种方式。7struct stud_type char name10; long num; char sex; int age; float score ; char address10;struct stud_type studen
8、t1, student2;(1) 先先定义类型定义类型再再定义变量定义变量直观,灵活!直观,灵活!8(2) 在定义类型的在定义类型的同时同时定义变量定义变量 struct stud_type student1, student2; (3) 直接直接定义结构体变量定义结构体变量 struct student1,student2;第一种的简略形式。第一种的简略形式。用于结构体类型仅做一次性使用的场合。用于结构体类型仅做一次性使用的场合。9说明:说明: (1) 在定义在定义结构体类型结构体类型时,系统时,系统并不分配内存并不分配内存 空间空间,仅当,仅当定义结构体变量时定义结构体变量时,系统才为,系
9、统才为 被定义的每一变量被定义的每一变量分配相应的存储单元分配相应的存储单元。 如上面定义的结构体变量如上面定义的结构体变量student1、 student2在内存中各占在内存中各占33个字节个字节 (10+4+1+4+4+10=33);); (2) 结构体变量的定义一定要在结构体类型定义结构体变量的定义一定要在结构体类型定义 之后之后或或同时同时进行。进行。(2) 结构体变量结构体变量的定义一定要在结构体类型的定义一定要在结构体类型 定义定义之后之后或或同时同时进行,对尚未定义的进行,对尚未定义的 结构体类型,不能用它来定义结构体变量。结构体类型,不能用它来定义结构体变量。例例 struc
10、t student int num; char name20; char sex; int age; float score; char addr30; ; namenumsexagescoreaddr4字节字节4字节字节20字节字节1字节字节4字节字节30字节字节.例如:例如:对一个教师对一个教师teacher的结构体类型未作定义,的结构体类型未作定义, 则下面的变量定义则下面的变量定义 struct teacher teah1 是错误的;是错误的;102. 结构体变量的初始化结构体变量的初始化 所谓所谓结构体变量初始化结构体变量初始化,就是在定义结,就是在定义结构体变量的同时,对其成员变量
11、构体变量的同时,对其成员变量赋初值赋初值。 在赋值时应注意在赋值时应注意按顺序及类型按顺序及类型依次为每依次为每个结构体成员指定初始值。个结构体成员指定初始值。结构体初始化的一般结构体初始化的一般格式格式为为: struct 结构体类型名结构体类型名 结构体变量结构体变量 = 初始化值初始化值;例例 struct student char name20; int num; char sex; int age; float score; char addr30; ; struct stud_type student1 = “wang”,196103,m,20,98,”xian”;11说明:说明:
12、 (1) 初始化数据之间用初始化数据之间用逗号逗号分隔。分隔。 (2) 初始化数据的个数一般与成员的初始化数据的个数一般与成员的个数相同个数相同, 若若小于小于成员数,则剩余的成员将被自动成员数,则剩余的成员将被自动初始初始 化为化为0(若成员是指针,则初始化为(若成员是指针,则初始化为NULL)。)。 (3) 初始化数据的初始化数据的类型类型要与相应成员变量的类型要与相应成员变量的类型 一致。一致。不一致将强制类型转换不一致将强制类型转换。 (4) 初始化时只能对初始化时只能对整个结构体变量整个结构体变量进行,进行,不能不能 对结构体类型中的对结构体类型中的某个成员某个成员进行初始化赋值。进
13、行初始化赋值。12 struct date_type int year; int mouth; int day; ;void main() struct stud_type student1=wang,196103,m,1978,10,12,98,Xian; struct stud_type student2=liu,196105,m,1980,9,22,88,Benjing; printf(%d,student1.birthday.day);struct stud_type char name10; long num; char sex; struct date_type birthday;
14、 float score; char address10; ;136.2.2 结构体变量的引用结构体变量的引用 1. 对结构体变量成员的引用对结构体变量成员的引用 在在C语言程序中,不准许对结构变量整体进行各语言程序中,不准许对结构变量整体进行各种运算、赋值或输入输出操作,而种运算、赋值或输入输出操作,而只能对其成员只能对其成员进进行此类操作。行此类操作。引用结构体变量成员的一般形式:引用结构体变量成员的一般形式: 结构体变量名结构体变量名.成员名成员名 其中其中“.”是结构体成员运算符,其是结构体成员运算符,其优先级别最优先级别最高高,结合性是,结合性是自左至右自左至右。由此对结构体成员就完
15、全。由此对结构体成员就完全可以像操作简单变量一样操作它。可以像操作简单变量一样操作它。14如:对上例定义的结构体变量如:对上例定义的结构体变量 student1 或或 student2,可作如下的赋值操作:可作如下的赋值操作: 10= wang; strcpy(,”wang”) student1.num=196103; student1.sex=m; student1.birthday.year=1978; student1.birthday.mouth=10; student1.birthday.day=12; student1.score
16、=98;还可以如下操作:还可以如下操作: sum = student1.score + student2.score; scanf(“%s%d”,,&student1.num); printf(“%s%d”, ,student1.num);错误错误正确正确152. 对结构体变量整体的引用对结构体变量整体的引用 结构体变量和简单变量相比,除了上面所述结构体变量和简单变量相比,除了上面所述在参加各种运算、赋值或输入输出方式上有所不同在参加各种运算、赋值或输入输出方式上有所不同外外即是由结构体变量成员完成,其它即是由结构体变量成员完成,其它
17、同简单变同简单变量一样量一样,如:,如: (1) 可以相互赋值可以相互赋值,但注意相互赋值的两个结构体,但注意相互赋值的两个结构体 变量必须是同一个结构体类型;变量必须是同一个结构体类型; 如:如:student1=student2; (2) 可作为函数的形参、实参或函数返回值。可作为函数的形参、实参或函数返回值。166.2.3 结构体变量作为函数参数结构体变量作为函数参数结构体变量结构体变量成员成员作函数参数作函数参数 结构体变量中的所有成员都可作为函数参数。结构体变量中的所有成员都可作为函数参数。 struct stud_type char name10; long num; char s
18、ex; student1; 将结构体变量将结构体变量student1的三个成员分别传递的三个成员分别传递给函数给函数func1(),func2(),func3(): func1(); func2(student1.num); func3(student1.sex);17 若需要将成员地址传递给函数,则只若需要将成员地址传递给函数,则只需在其前加取地址符需在其前加取地址符“&”。 如如: func1(); func2(&student1.num); func3(&student1.sex); 其中字符数组名其中字符数组名
19、name代表其成员地址,故代表其成员地址,故不需要写不需要写“&”。18 2. 结构体变量结构体变量整体整体作函数参数作函数参数 老板本的老板本的C系统不允许用结构体变量作函数系统不允许用结构体变量作函数参数,只允许用指向结构体变量的指针作函数参数参数,只允许用指向结构体变量的指针作函数参数(第(第7章),传递的是结构体变量的首地址。章),传递的是结构体变量的首地址。 而而ANSI C取消了这一限制,取消了这一限制,规定按值传递方式规定按值传递方式。在函数调用时,在函数调用时,系统为形参结构体变量分配存储空间系统为形参结构体变量分配存储空间,并从相应的实参结构体变量中取得各成员的值,若
20、并从相应的实参结构体变量中取得各成员的值,若对对形参中结构体变量各成员值进行修改,并不能修改实形参中结构体变量各成员值进行修改,并不能修改实参结构体变量各成员的值参结构体变量各成员的值。 注意,实参和形参结构体变量注意,实参和形参结构体变量类型类型应当完全一致。应当完全一致。196.3 结构体数组结构体数组6.3.1 结构体数组的定义与初始化结构体数组的定义与初始化 1. 结构体数组的定义结构体数组的定义 结构体数组:数组的成员是结构体类型数据元素。结构体数组:数组的成员是结构体类型数据元素。 在定义结构体数组时,其定义方法与定义在定义结构体数组时,其定义方法与定义结构体变量方法类似,也有结构
21、体变量方法类似,也有三种形式三种形式。 第一种定义方式:第一种定义方式: 20struct date_type int year; int mouth; int day;;struct stud_type char name10; long num; char sex; struct date_type birthday; float score; char address10;struct stud_type student3; 由此就定义了一个结构体数由此就定义了一个结构体数组,数组名是组,数组名是student1,它有它有3个个元素,每个元素都是元素,每个元素都是struct stud_
22、type类型类型 每个数组元素各占每个数组元素各占41个字节个字节 (10+4+1+(4+4+4)+4+10=41)共占共占41*3个字节。个字节。 212. 结构体数组的初始化结构体数组的初始化 结构体数组在定义的同时可以初始化结构体数组在定义的同时可以初始化。 其其一般格式一般格式是在定义之后紧跟一个用花括号括起来是在定义之后紧跟一个用花括号括起来的一组初始数据,为了增强可读性,的一组初始数据,为了增强可读性,最好使每一个数组最好使每一个数组元素的初始数据也用花括弧括起来元素的初始数据也用花括弧括起来,以此来区分各个数,以此来区分各个数组元素。组元素。 对刚定义的结构体数组对刚定义的结构体
23、数组student初始化如下:初始化如下: struct stud_type student3= wang,196103,m,1978,10,12,98, xian, “zhang”,196102, f,1977,1,10,87, “Beijing”, “li”,196204,m,1977,9,21,82,”xian”;226.3.2 结构体数组元素的引用结构体数组元素的引用 和简单变量数组元素的引用一样:和简单变量数组元素的引用一样: 数组名数组名元素下标元素下标 结构体数组元素的成员引用:结构体数组元素的成员引用: 数组名数组名元素下标元素下标.成员名成员名说明:说明: (1) 可以将一个
24、结构体数组元素赋值给同一结构体类型数可以将一个结构体数组元素赋值给同一结构体类型数 组中另一个元素,或赋给同一类型的变量。组中另一个元素,或赋给同一类型的变量。 定义:定义:struct stud_type student3, student1; 赋值:赋值: student1student0; student0=student1; studnet1=student1;23(2) 不能不能把结构体数组元素作为一个把结构体数组元素作为一个整体整体 直接进行直接进行输入或输出输入或输出。 如如 printf (“%d”,student0);或或scanf(%d,&student0); 只能
25、只能以以单个成员单个成员为对象进行为对象进行输入输出输入输出, 如:如: scanf(%s, ); scanf(%d,student0.num); printf (%s, );24例例 统计候选人选票统计候选人选票 struct person char name20; int count; leader3=“Li”, 0, “Zhang”, 0 , “Wang”, 0; void main() int i,j; char leader_name20; for(i=1;i=10;i+) scanf(%s,leader_name); for(j=
26、0;j3;j+) if(strcmp(leader_name,)=0) leaderj.count+; for(i=0;i3;i+) printf(%5s:%dn,,leaderi.count); namecountLiZhangWang000256.3.3 结构体数组作函数参数结构体数组作函数参数 结构体数组作为函数参数传递在结构体数组作为函数参数传递在C的的高版本中才支持高版本中才支持。 结构体结构体数组数组作为参数与结构体作为参数与结构体变量变量作为作为参数有本质的参数有本质的区别区别:结构体:结构体变量变量作函数参数作函数参数是是值传递值
27、传递,结构体,结构体数组数组作函数参数是作函数参数是地址传地址传递递。 当然在定义形参与实参的结构体当然在定义形参与实参的结构体类型类型时时还是必须一致还是必须一致,当实参为结构体数组时,其,当实参为结构体数组时,其形参须定义为同类型结构的形参须定义为同类型结构的结构体数组或结结构体数组或结构体指针构体指针 。266.4 共用体共用体 共用体是一种共用体是一种同一存储区域由不同同一存储区域由不同类型变量共享类型变量共享的数据类型。的数据类型。 它提供一种方法能它提供一种方法能在同一存储区中操作在同一存储区中操作不同类型的数据不同类型的数据,也就是说,也就是说共共用体采用的是用体采用的是覆盖存储
28、技术覆盖存储技术,准许不同类型数据互相覆盖。,准许不同类型数据互相覆盖。276.4.1 共用体类型定义共用体类型定义 共共用体类型的定义与结构体类似用体类型的定义与结构体类似。 一般定义格式如下:一般定义格式如下: union 共共用体名用体名 共共用体成员表用体成员表; ; 其中其中union是关键字,称为是关键字,称为共共用体定义标识用体定义标识符,符,共共用体名同样由程序员来命名。大括号中的用体名同样由程序员来命名。大括号中的共共用体成员表包含若干成员,每一个成员都具有用体成员表包含若干成员,每一个成员都具有如下的形式如下的形式: 数据类型标识符数据类型标识符 成员名;成员名;例如:例如
29、:union data int i; char ch; float f;;286.4.2 共用体变量定义与引用共用体变量定义与引用1. 共用体变量的定义共用体变量的定义 共用体变量的定义和结构体变量定义一样共用体变量的定义和结构体变量定义一样有有三种形式三种形式。 union 共共用体名用体名 共共用体成员表用体成员表; 变量列表变量列表; 如:如: union data int i; char ch; float f; a,b,c;29共用体和结构体有着本质的共用体和结构体有着本质的区别区别: 共用体共用体是几个不同的变量是几个不同的变量共占同一段内存共占同一段内存,且都是从同一地址开始存储
30、,且都是从同一地址开始存储,任意时刻只存储任意时刻只存储一种数据一种数据。分配空间的大小为需要存储的数据。分配空间的大小为需要存储的数据中占用字节数最多的那个数据类型的大小。中占用字节数最多的那个数据类型的大小。 结构体结构体是不同成员使用是不同成员使用不同的存储空间不同的存储空间,占用,占用的空间大小为各个成员需要占用的字节数的和。的空间大小为各个成员需要占用的字节数的和。30 例:例: struct data union data int i; int i; char ch; char ch; float f; float f; x; x;200020022003x.ix.chx.fx.c
31、hx.ix.f2000312. 共用体变量的引用共用体变量的引用 共用体变量名共用体变量名.成员名;成员名; 如上例所示:如上例所示:x.i; x.ch; x.f说明:说明: (1)共用体变量不能同时存放多个成员的值,而只能存)共用体变量不能同时存放多个成员的值,而只能存 放其中一个值,即只能存放当前(最新)的一个成放其中一个值,即只能存放当前(最新)的一个成 员的值;员的值; (2)就共用体变量整体而言,和结构体变量一样是)就共用体变量整体而言,和结构体变量一样是不能不能 进行整体的输入、输出进行整体的输入、输出,但可以在两个同一类型的,但可以在两个同一类型的 共用体变量之间赋值;共用体变量
32、之间赋值; (3)由于共用体变量不能同时存放多个成员的值,因此)由于共用体变量不能同时存放多个成员的值,因此 共用体变量共用体变量不能进行初始化不能进行初始化。32例例6.5 共用体变量的引用共用体变量的引用 void main() union int_char short i; char ch2; x; x.i=24897; printf(“i=%dn i=%o n”,x.i,x.i); printf(“ch0=%o,ch1=%o n ch0=%c,ch1=%c n”, x.ch0,x.ch1,x.ch0,x.ch1);336.5 枚举类型枚举类型 在实际应用中,有些变量的取值范围是有限在实
33、际应用中,有些变量的取值范围是有限的,仅可能只有几个值,如一个星期的,仅可能只有几个值,如一个星期7天,一年天,一年12个月,一副扑克有个月,一副扑克有4种花色,每一花色有种花色,每一花色有13张牌等。张牌等。 整型数来表示:整型数来表示:直观性差直观性差! 如在程序中使用如在程序中使用1,对于非编程者来说,它是代表,对于非编程者来说,它是代表星期一呢?还是一月份?很难区分。星期一呢?还是一月份?很难区分。 若在程序中使用若在程序中使用“Mon”,则不会有人认为是代表则不会有人认为是代表一月份。由此看出,一月份。由此看出,为提高程序的可读性为提高程序的可读性,引入,引入非数值非数值量量,即一些
34、有意义的符号是非常必要的。,即一些有意义的符号是非常必要的。 对于这种应用,对于这种应用,C语言引入语言引入枚举类型枚举类型,所谓,所谓“枚枚举举”,就是,就是将变量可取的值一一列举出来将变量可取的值一一列举出来。34枚举类型也要枚举类型也要先定义其类型先定义其类型,再定义其变量再定义其变量。枚举类型定义的一般形式是:枚举类型定义的一般形式是: enum 枚举名枚举名 枚举值列表;枚举值列表; ; 其中其中enum是关键字,称为枚举类型定义标是关键字,称为枚举类型定义标识符,枚举名由程序员命名。识符,枚举名由程序员命名。 枚举值列表形式如下:枚举值列表形式如下: 标示符标示符1,1,标示符标示
35、符2,2,标示符标示符n n 这里的标识符也是由程序员自定义,都是一这里的标识符也是由程序员自定义,都是一些描述性标识符,些描述性标识符,要求不能重名要求不能重名,这些标识符分,这些标识符分别代表不同枚举元素,通常称为别代表不同枚举元素,通常称为枚举常量枚举常量。35例如例如: enum weekday sun, mon, tue, wed, thu, fri, sat ; 由此定义了一个枚举类型由此定义了一个枚举类型enum weekday,它它有有7个枚举元素(常量)。个枚举元素(常量)。 在定义了类型之后,就可以用该类型来在定义了类型之后,就可以用该类型来定义变定义变量量: enum w
36、eekday workday;变量的定义也可以有变量的定义也可以有三种形式三种形式。36说明:说明: (1) 在在C语言中,每一个枚举常量的值取决于在语言中,每一个枚举常量的值取决于在 说明时排列的先后次序,说明时排列的先后次序,第一个枚举常量的第一个枚举常量的 序号为序号为0(规定序号从(规定序号从0编起),因此,此枚举常编起),因此,此枚举常 量值为量值为0,以后顺序加以后顺序加1,故,故不允许对枚举常量进不允许对枚举常量进 行赋值操作行赋值操作。 若想改变枚举常量的值,在枚举变量定义时可由若想改变枚举常量的值,在枚举变量定义时可由 程序员指定程序员指定: 如:如:enum fruit a
37、pple=7,pear,orange=3,lemon,peach t; 此时此时apple的值为的值为7,pear的值为的值为8,orange 的值为的值为3,lemon, peach的值分别为的值分别为4,5。37(2) 一个枚举变量的值只能是这几个枚举常量一个枚举变量的值只能是这几个枚举常量 之一,可以将枚举常量赋给一个枚举变量,之一,可以将枚举常量赋给一个枚举变量, 但不能将一个整数赋给它。如:但不能将一个整数赋给它。如: workday = sun; 正确正确 workday = 7; 错误错误 (3) 若想将整数值赋给枚举变量须作强制类型转换。若想将整数值赋给枚举变量须作强制类型转换
38、。 如:如: workday = (enum weekday)2; 相当于相当于 workday = tue; 注意:注意:转换后的值亦应在枚举范围内转换后的值亦应在枚举范围内。 workday = (enum weekday)10; 错误!错误!38enum weekday 0 1 2 3 4 5 6 sun, mon, tue, wed, thu, fri, sat ;enum weekday sun = 7, mon, tue, wed, thu, fri, sat ;enum weekday sun = 7, mon = 1, tue, wed, thu, fri, sat ;7 8 9 10 11 12 137 1 2 3 4 5 6396.6 用用typedef定义类型定义类型功能功能:用自定义名字为:用自定义名字为已有已有数据类型命名数据类型命名类型定义类型定义简单形式:简单形式: typedef type name;例例 typedef int INTEGER;类型定义语句关键字类型定义语句关键字已有数据类型名已有数据类型名用户定义的类型名用户定义的类型名例例 typedef float REAL;类型定义后类型定义后,与已有类型一样使用与已有类型一样使用例例 INTEGER a,b,c; REAL f1,f2; i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 切实可行的年度计划执行方法
- 企业文化与团队礼仪建设培训
- 小班环境保护教育活动计划
- 离婚协议书范文范本有财产债务
- 离婚真妻协议书范文范本电子版
- 代公房借名买房协议书范文模板
- EPC项目“发包人要求”导致的后果及责任承担问题
- 抗血小板药物治疗进展
- 第一节教育目的概论
- 2023-2024学年新课标全国卷高三下学期八月月考数学试题
- 折翼的精灵:青少年自伤心理干预与预防
- 2023年资产负债表模板
- 浙江省杭州市保俶塔教育集团2023-2024学年八年级上学期期中科学试卷
- 2023建设工程计价计量规范辅导
- 幼儿园争做新时代好教师演讲稿(16篇)
- 校企合作培养“双师型”职教师资机制研究
- 小学语文(2023版)二年级上册课后习题:月末综合训练1(含答案)【可编辑可打印】
- DB61T1724-2023考古工地安全施工规范
- 小学 体育与健康 六年级 小足球 单元作业设计
- 某工程型钢悬挑卸料平台安全验算
- 第四课探索认识的奥秘高中政治统编版必修四
评论
0/150
提交评论