C语言用户自定义数据类型课件_第1页
C语言用户自定义数据类型课件_第2页
C语言用户自定义数据类型课件_第3页
C语言用户自定义数据类型课件_第4页
C语言用户自定义数据类型课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 第第8章章 用户自定义数据类型用户自定义数据类型教学目标:教学目标:v掌握结构体的概念和特点;掌握结构体的概念和特点;v熟练定义结构体数据类型,掌握结构体变量熟练定义结构体数据类型,掌握结构体变量的定义及初始化方法;的定义及初始化方法; v了解结构体数组的特点,能使用结构体数组了解结构体数组的特点,能使用结构体数组解决简单问题;解决简单问题;v掌握结构体指针的特点;掌握结构体指针的特点;v掌握共用体的概念,熟悉共用体类型和共用掌握共用体的概念,熟悉共用体类型和共用体变量的定义和使用方法。体变量的定义和使用方法。 P

2、age 1 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 第第8章章 用户自定义数据类型用户自定义数据类型知识点知识点v 结构体类型、共同体类型和枚举类型的定结构体类型、共同体类型和枚举类型的定义;义; v 结构体变量、数组、指针变量的定义、初结构体变量、数组、指针变量的定义、初始化和成员引用;始化和成员引用; v 共同体变量的定义和成员引用;共同体变量的定义和成员引用;v 枚举型变量的定义和引用;枚举型变量的定义和引用; Page 2 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 第第8章章 用户自定义数据类型用户自定义数据类型

3、重点:重点: v结构体类型、共同体类型和枚举类型的定结构体类型、共同体类型和枚举类型的定义;义; v结构体变量、数组、指针变量的定义、初结构体变量、数组、指针变量的定义、初始化和成员引用;始化和成员引用; v共同体、枚举型变量的定义和引用。共同体、枚举型变量的定义和引用。 难点:难点: v嵌套的结构体数据的处理。嵌套的结构体数据的处理。 Page 3 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 结构体和共用体概述结构体和共用体概述 数组可以存放一组相关的同类型数据,但是不数组可以存放一组相关的同类型数据,但是不能将不同类型的数据放入同一数组中。能将不同类型的数

4、据放入同一数组中。 如果需要把一个学生的学号、姓名、性别、年如果需要把一个学生的学号、姓名、性别、年龄、各门功课的考试成绩等不同类型的数据放龄、各门功课的考试成绩等不同类型的数据放在一个构造型数据类型中,就需要另外一种新在一个构造型数据类型中,就需要另外一种新的数据类型:结构体类型或者共用体类型数据。的数据类型:结构体类型或者共用体类型数据。 一个结构体类型的变量中可以独立存放多种类一个结构体类型的变量中可以独立存放多种类型的数据,一个共用体类型的变量中可以共用型的数据,一个共用体类型的变量中可以共用同一段存储单元来存放不同类型的数据。同一段存储单元来存放不同类型的数据。 Page 4 C语言

5、语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 8.1 结构类型及其变量的定义结构类型及其变量的定义结构体类型需要自定义,先定义结构体类型结构体类型需要自定义,先定义结构体类型后,再定义结构体变量。后,再定义结构体变量。 结构体类型定义包含:结构体类型中成员数结构体类型定义包含:结构体类型中成员数量、成员名称和成员类型。量、成员名称和成员类型。 结构体变量定义包含:结构体类型、结构体结构体变量定义包含:结构体类型、结构体变量名称。变量名称。 Page 5 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 一、结构体类型的定义一、结构体类型的定

6、义 格式:格式: struct 结构体名结构体名 类型类型 成员成员1; 类型类型 成员成员2; 类型类型 成员成员n; ;举例:举例: struct student long num; char name20; int score4; ;l 成员也可以是一个结构体变量。成员也可以是一个结构体变量。 l 成员名可以与程序中其它变量同名,二者不代表成员名可以与程序中其它变量同名,二者不代表同一对象,但为增强可读性,不提倡这样做。同一对象,但为增强可读性,不提倡这样做。 Page 6 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 二、结构体变量的定义二、结构体变量的

7、定义 (1) 先定义结构体类型,再定义结构体变量先定义结构体类型,再定义结构体变量 struct student long num; char name20; int score4; ; struct student b;结构体变量占用内存大结构体变量占用内存大小为各成员占用内存大小为各成员占用内存大小之和,可用小之和,可用sizeof(结构结构体类型名体类型名)或或sizeof(结构结构体变量名体变量名)求出求出 Page 7 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 二、结构体变量的定义二、结构体变量的定义(2) 在定义结构体类型的同时定义结构体变量在定

8、义结构体类型的同时定义结构体变量 struct student long num; char name20; int score4; b;(3) 不定义结构体名不定义结构体名,直接定义结构体变量直接定义结构体变量 struct long num; char name20; int score4; b;应区分结构体名与结构体变量名。应区分结构体名与结构体变量名。 无名结构体无名结构体 Page 8 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 三、结构体类型变量的引用三、结构体类型变量的引用 引用结构体成员的一般形式如下:引用结构体成员的一般形式如下: 结构体变量

9、名结构体变量名. 成员名成员名 例如:例如: struct student long num; char name20; int score4; b; 各成员的引用:各成员的引用: b.num b.scorei成员运算符成员运算符: . 功能功能: 访问结构体变量中访问结构体变量中指定的成员指定的成员优先级优先级1,左结合性,左结合性不能用不能用 student.num等等 Page 9 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 结构体变量的引用说明结构体变量的引用说明 允许对结构体变量进行整体赋值操作。允许对结构体变量进行整体赋值操作。 如:

10、如: a=b; a、b为类型相同的结构体变量为类型相同的结构体变量 不允许将一个结构体变量作为一个整体进行输入输出,而不允许将一个结构体变量作为一个整体进行输入输出,而只能对结构体变量中各个成员分别进行输入输出。只能对结构体变量中各个成员分别进行输入输出。 如:如:printf(“ ”, b); 错误错误! 不允许将一组常量直接赋值给结构体变量。不允许将一组常量直接赋值给结构体变量。 如:如:b=20030001, 张三张三, 70,75,80,85对成员变量可以象普通变量一样进行各种运算。对成员变量可以象普通变量一样进行各种运算。 可以引用成员的地址,也可以引用结构体变量的地址。可以引用成员

11、的地址,也可以引用结构体变量的地址。 如:如:&b 表示结构体变量表示结构体变量b的首地址的首地址 &b.num 表示结构体变量表示结构体变量b 的成员的成员num 的地址的地址 Page 10 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 例例: 用结构体变量存放学生记录用结构体变量存放学生记录(学号、姓名、学号、姓名、4门成绩门成绩) void main ( ) struct student long num; char name20; int score4; b; int i; printf(请输入学生的学号和姓名请输入学生的学号和姓名n)

12、; scanf(%ld%s,&b.num,); printf(请输入学生的四门课考试成绩请输入学生的四门课考试成绩n); for(i=0;i4;i+) scanf(%d,&b.scorei); printf(%10ld %-20s,b.num,); for(i=0;i4;i+) printf( %5d,b.scorei); printf(n); 定义结构体类型和变量定义结构体类型和变量 输入结构体输入结构体变量的值变量的值 输出结构体输出结构体变量的值变量的值 Page 11 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型

13、结构体类型变量的初始化结构体类型变量的初始化 如:如: struct student long num; char name20; int score4; b=20030001, 张三张三, 70,75,80,85;注意:注意: 以下的赋值语句错误:以下的赋值语句错误: b=20030001, 张三张三, 70,75,80,85; Page 12 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 嵌套结构的结构成员表示嵌套结构的结构成员表示结构类型的嵌套定义一:结构类型的嵌套定义一:struct Student int number; char name9; str

14、uct Birthday int year; int month; int day; birthday1; char sex; Page 13 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 嵌套结构的结构成员表示嵌套结构的结构成员表示结构类型的嵌套定义二:结构类型的嵌套定义二:struct Birthday int m; int d; int y; ;struct Student long num; char name10; int age; char sex; struct Birthday birthday1; Page 14 C语言语言程序设计程序设计 第

15、第8章章 用户自定义数据类型用户自定义数据类型 嵌套结构的结构成员表示嵌套结构的结构成员表示访问嵌套结构的成员:访问嵌套结构的成员: 结构变量名结构变量名.结构变量名结构变量名. 成员名成员名 例如:例如: student1.birthday1.y 表示访问表示访问student1结结构中的构中的birthday1的的y成员。成员。 Page 15 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 8.2 结构数组结构数组结构体数组的定义也有三种方式结构体数组的定义也有三种方式 如:方式如:方式(2) struct student long num; char na

16、me20; int score4; stu3=20030001,zhang,89,90,91,92, 20030002,liu,68,69,70,71, 20030003,li,57,58,59,60 ;结构数组初始化结构数组初始化 Page 16 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 例例 用结构体数组输入并输出用结构体数组输入并输出3个学生记录个学生记录 #include void main ( ) struct student long num; char name20; int score4; stu3; int i,j; 定义结构体类定义结构体

17、类型和数组型和数组 Page 17 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 for (j=0;j3;j+) printf(请输入学号和姓名请输入学号和姓名: ); scanf(%ld%s,&stuj.num,); printf(请输入成绩请输入成绩: ); for(i=0;i4;i+) scanf(%d,&stuj.scorei); for (j=0;j3;j+) printf(%10ld %-20s,stuj.num,); for(i=0;i4;i+) printf(%5d,stuj.scorei);

18、printf(n); 输入结构体数组的值输入结构体数组的值 输出结构体数组的值输出结构体数组的值 Page 18 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 例例8.5 计算学生的平均年龄。计算学生的平均年龄。#include struct Student int number; char name20; int age; stu4= 1011,li li,21, 1022,li hong,23, 1023,wang ping,22, 1024,zhang san,22 ; /* 定义学生结构数组并初始化之定义学生结构数组并初始化之 */void main()

19、 int i=0; float ave,s=0; for (i=0; i成员名成员名指向运算符:指向运算符: - - 功能功能: 对指针所指向的结构体的成员进行访问对指针所指向的结构体的成员进行访问 优先级优先级1,左结合性左结合性例:例:+pman - - name 等同于等同于 +(pman - - name) *pman - - name 等同于等同于 *(pman - - name) Page 21 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 例例 用结构体指针输入并输出用结构体指针输入并输出3个学生个学生记录记录 #include void main

20、 ( ) struct student long num; char name20; int score4; stu3,*p; int i; 定义结构体类型和数定义结构体类型和数组、指针组、指针 Page 22 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 for (p=stu;p-num, p-name); printf(请输入成绩请输入成绩: ); for(i=0;i-scorei); for (p=stu;p-num, p-name); for(i=0;i-scorei); printf(n); 输入结构体数组的值输入结构体数组的值 输出结构体数组的值输出

21、结构体数组的值 Page 23 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 三、结构体指针变量作函数参数三、结构体指针变量作函数参数 允许用结构体变量作函数参数,但数据传递允许用结构体变量作函数参数,但数据传递方式是逐个成员传递,特别是成员为数组时方式是逐个成员传递,特别是成员为数组时将会使传递的时间和空间开销很大,严重地将会使传递的时间和空间开销很大,严重地降低了程序的效率。降低了程序的效率。 最好的办法是使用指针变量作函数参数,这最好的办法是使用指针变量作函数参数,这时由实参传向形参的只是地址,从而减少了时由实参传向形参的只是地址,从而减少了时间和空间的开

22、销。时间和空间的开销。 形参:结构体指针变量形参:结构体指针变量 实参:结构体指针实参:结构体指针 Page 24 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 结构体指针作函数参数举例结构体指针作函数参数举例 给出年月日计算它是该年的第几天给出年月日计算它是该年的第几天 。struct date int year; int month; int day; ;#include void main() int days(struct date *); /*函数原型声明函数原型声明*/ struct date d1; printf(Enter year,month,

23、day:); scanf(%d,%d,%d,&d1.year,&d1.month,&d1.day); printf(是第是第%d天天, days(&d1); /*函数调用函数调用*/ Page 25 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 结构体指针作函数参数举例结构体指针作函数参数举例int days (struct date *sp) int monthtable13 =0,31,28,31,30,31,30,31,31,30,31,30,31; int i,day_sum; day_sum = sp-day; for

24、(i=1;i-month ;i+) day_sum += monthtable i; i=sp-year; if(sp-month2)&(i%4=0)&(i%100!=0)|(i%400=0) day_sum += 1; return day_sum ; Page 26 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 四、指针变量作为结构成员四、指针变量作为结构成员 例例8.8 指针变量作结构变量的成员。指针变量作结构变量的成员。#include struct Student /*定义结构类型定义结构类型*/ int number; char *n

25、ame; /*成员成员name为指针变量,可以指向一个字符串为指针变量,可以指向一个字符串*/ ; void main() struct Student stu=1101,lili; /*定义结构变量并对其进行初始化定义结构变量并对其进行初始化*/ printf(%sn, stu.(*name); /*输出输出stu成员成员*/ 如果没有上面的初始化,则如果没有上面的初始化,则name的指向是不确定的指向是不确定的,即不可用的,即不可用 Page 27 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 指针变量作为结构成员指针变量作为结构成员void main()

26、struct Student stu; scanf(%d,&stu.number); =(char *)calloc(21,sizeof(char); /*申请字符数组所需的内存空间,并将首地址申请字符数组所需的内存空间,并将首地址保存在保存在name指针中指针中*/ scanf(%s,); printf(%sn, stu.(*name);必须调用必须调用calloc函数为其申请内存空间。函数为其申请内存空间。 Page 28 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 8.4 联合类型联合类型 联合类型(共用体)是一种

27、类似于结构体的联合类型(共用体)是一种类似于结构体的构造型数据类型,它准许不同类型和不同长构造型数据类型,它准许不同类型和不同长度的数据共享同一块存储空间度的数据共享同一块存储空间 。 Page 29 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 一、联合类型和联合变量的定义一、联合类型和联合变量的定义 联合类型定义与结构体类似联合类型定义与结构体类似 union 共用体名共用体名 类型类型 成员名成员名1; 类型类型 成员名成员名n; ;union area char c_data; short s_data; long l_data; ;几个成员占用同一个内

28、存段,因此,联合类几个成员占用同一个内存段,因此,联合类型变量所占的内存长度应为最长的成员长度型变量所占的内存长度应为最长的成员长度 Page 30 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 联合类型和联合类型变量的定义联合类型和联合类型变量的定义 联合类型变量定义与结构体变量定义一样,有三种方联合类型变量定义与结构体变量定义一样,有三种方式式 例如:例如:(1) union uniontype int a; long d; ; union uniontype my_data;(2) union uniontype int a; long d; my_dat

29、a;(3) union int a; long d; my_data; Page 31 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 联合类型和联合类型变量的定义联合类型和联合类型变量的定义结构体与联合类型可以互相嵌套,例如:结构体与联合类型可以互相嵌套,例如: union uniontype int i; float f; ; struct structtype short s; long l; ;struct sutype char c; union uniontype u; ;union ustype int i; struct structtype st

30、; Page 32 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 二、联合类型变量成员的引用二、联合类型变量成员的引用 联合类型变量成员的引用类似结构体变量,也联合类型变量成员的引用类似结构体变量,也是利用运算符是利用运算符“”和和“.”。例如:例如: union uniontype int i; char c; my_data; union uniontype *p; p = &my_data; 下列引用都是合法的:下列引用都是合法的: my_data.i , my_data.c,p-i , pc Page 33 C语言语言程序设计程序设计 第第8章章

31、 用户自定义数据类型用户自定义数据类型 三、使用联合类型变量应注意的问题三、使用联合类型变量应注意的问题 同一内存段可用来存放几种不同类型的成员,同一内存段可用来存放几种不同类型的成员,但每一瞬间只有最后被赋值的成员在起作用。但每一瞬间只有最后被赋值的成员在起作用。 联合类型变量和它的各成员都是同一地址。联合类型变量和它的各成员都是同一地址。不能对联合类型变量表列赋值,这一点与结不能对联合类型变量表列赋值,这一点与结构体不一样构体不一样,如:如: union int i; char ch; float b; a=a,a,1.5; -错误!错误! Page 34 C语言语言程序设计程序设计 第第

32、8章章 用户自定义数据类型用户自定义数据类型 8.5 枚举类型枚举类型 枚举的概念:枚举的概念: 枚举类型也是一种数据类型。对那些只可枚举类型也是一种数据类型。对那些只可能取有限的某几种值的数据,可以把它定义为能取有限的某几种值的数据,可以把它定义为枚举类型数据。枚举类型数据。 如果某些变量只有几种可能,如:如果某些变量只有几种可能,如: 星期一、星期二、星期一、星期二、 星期日、性别及特定星期日、性别及特定范围的概念等可以通过枚举法将变量一一列出,范围的概念等可以通过枚举法将变量一一列出,在这种情况下可以使用枚举类型变量。在这种情况下可以使用枚举类型变量。 Page 35 C语言语言程序设计

33、程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 一、枚举类型的定义一、枚举类型的定义 枚举类型定义的一般形式为:枚举类型定义的一般形式为:enum 枚举名枚举名元素名元素名1,元素名,元素名2,元素名,元素名n; 例如:例如: enum month Jan,Feb,Mar,Apr,May,Jun, Jul,Aug,Sep,Oct,Nov,Dec; /*该枚举类型只准许取该枚举类型只准许取12种值种值 */ enum weekday Sun,Mon,Tue,Wed,Thu,Fri,Sat; /*该枚举类型只准许取该枚举类型只准许取7种值种值 */ Page 36 C语言语言程序设计程

34、序设计 第第8章章 用户自定义数据类型用户自定义数据类型 枚举类型的定义枚举类型的定义 请注意:请注意: 列在枚举类型定义的列在枚举类型定义的 中的是枚举元素名,中的是枚举元素名,它们是常量名,不是串常量(不能加引号),也它们是常量名,不是串常量(不能加引号),也不是变量名。不是变量名。 枚举元素是有值的,称为枚举元素值,默认枚举元素是有值的,称为枚举元素值,默认值分别为值分别为0、1、n-1。 例如:例如: enum weekday Sun,Mon, Tue, Wed, Thu, Fri, Sat ; 枚举元素名分别是枚举元素名分别是Sun、Mon、Tue、Wed、Thu、Fri、Sat,对

35、应值分别为,对应值分别为0、1、2、3、4、5、6。 Page 37 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 枚举类型的定义枚举类型的定义 枚举元素的值也可在定义时重指定,而对于没有指定值枚举元素的值也可在定义时重指定,而对于没有指定值的元素,其值按顺序加的元素,其值按顺序加1 例如:例如:enum weekday Sun=7,Mon=1, Tue,Wed, Thu, Fri, Sat ; 又如:又如:enum weekday Sun=7,Mon, Tue=5, Wed, Thu=6, Fri, Sat ; Page 38 C语言语言程序设计程序设计 第第

36、8章章 用户自定义数据类型用户自定义数据类型 二、枚举型变量的定义二、枚举型变量的定义 枚举型变量的定义也有三种方式,如:枚举型变量的定义也有三种方式,如:(1) enum weekday Sun,Mon,Tue ; enum weekday day; (2) enum weekday Sun,Mon,Tue day; (3) enum Sun,Mon,Tue day; Page 39 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 三、枚举型变量的使用三、枚举型变量的使用 1)可对枚举变量赋值,但只能把枚举元素名赋)可对枚举变量赋值,但只能把枚举元素名赋给枚举变

37、量,不能把枚举元素值直接赋给枚给枚举变量,不能把枚举元素值直接赋给枚举变量。举变量。 如:如:enum weekday Sun,Mon, Tue, Wed, Thu, Fri, Sat workday; workday=Sat; 正确!正确! workday=6; 错误!错误! 应改为:应改为:workday =(enum weekday)6; 2)枚举变量的值不能用)枚举变量的值不能用scanf函数输入,但可用函数输入,但可用printf函数输出函数输出-只能直接输出当前元素的只能直接输出当前元素的值(数值型)。值(数值型)。 Page 40 C语言语言程序设计程序设计 第第8章章 用户自定

38、义数据类型用户自定义数据类型 枚举型变量的使用枚举型变量的使用 3)可用枚举变量进行判断或比较操作。)可用枚举变量进行判断或比较操作。 enum flag true,false my_flag; if (my_flag = true) 4)枚举变量可进行自增()枚举变量可进行自增(+)、自减()、自减(-)运)运算。算。 利用利用4)可用枚举变量控制)可用枚举变量控制for循环。循环。 Page 41 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 例例8.13 假设某单位安排假设某单位安排a,b,c,d四个人轮流值班,四个人轮流值班,请编制并输出请编制并输出12

39、天的值班人员表。天的值班人员表。#include void main() enum body a, b, c, d day12 , j ; int i; j=a; for (i=0; id ) j=a; for (i=1; i=12; i+) switch(dayi-1) case a: printf( %2d %cn,i,a);break; case b: printf( %2d %cn,i,b);break; case c: printf( %2d %cn,i,c);break; case d: printf( %2d %cn,i,d);break; default: break; Page 42 C语言语言程序设计程序设计 第第8章章 用户自定义数据类型用户自定义数据类型 8.6 用用typedef定义类型的别名定义类型的别名 用用typedef给已存在的数据类型取别名给已存在的数据类型取别名 一般形式为:一般形式为: typedef 类型名类型名 别名;别名; 例如:例如: typedef int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论