C++程序设计 第2章 数据类型及表达式_第1页
C++程序设计 第2章 数据类型及表达式_第2页
C++程序设计 第2章 数据类型及表达式_第3页
C++程序设计 第2章 数据类型及表达式_第4页
C++程序设计 第2章 数据类型及表达式_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、C/C+C/C+程序设计程序设计第 2 章 数据类型及表达式C/C+C/C+程序设计程序设计主主 要要 内内 容容本章主要介绍本章主要介绍: :本章介绍本章介绍C C的基本数据类型和存储类型、基本运的基本数据类型和存储类型、基本运算符的运算规则和表达式的构成,为后续章节的算符的运算规则和表达式的构成,为后续章节的学习奠定一个基础。学习奠定一个基础。复杂的数据类型指针和结构体类型等将在第复杂的数据类型指针和结构体类型等将在第6 6,7 7章节中介绍。章节中介绍。C/C+C/C+程序设计程序设计2.1 C2.1 C语言的数据类型语言的数据类型 使用高级语言编写程序,主要工作有两项:使用高级语言编写

2、程序,主要工作有两项: 一是描述数据,二是描述数据加工的方法。一是描述数据,二是描述数据加工的方法。 前者是通过数据类型定义语句实现的,后者是通前者是通过数据类型定义语句实现的,后者是通过若干条执行语句,包括用各种运算构成的表达过若干条执行语句,包括用各种运算构成的表达式来实现。式来实现。 C/C+C/C+程序设计程序设计 程序中的每一个数据都属于一定的数据类型,不存在程序中的每一个数据都属于一定的数据类型,不存在不属于某种数据类型的数据。不属于某种数据类型的数据。 数据类型是根据它们的取值的不同来区分的,如整型数据类型是根据它们的取值的不同来区分的,如整型、实型、字符型等。每种类型的数据可以

3、是常量或变、实型、字符型等。每种类型的数据可以是常量或变量。量。C/C+C/C+都提供一组基本的数据类型及针对它们的都提供一组基本的数据类型及针对它们的有关操作。有关操作。C/C+C/C+语言还具有构造类型的能力,即可语言还具有构造类型的能力,即可以通过将基本数据类型加以组合,构造出更复杂的类以通过将基本数据类型加以组合,构造出更复杂的类型型。C/C+C/C+程序设计程序设计2.12.1 C C语言的数据类型语言的数据类型 数据类型空类型指针型枚举型构造类型数组型结构型共用型基本类型字符型实型单精度型双精度型整型带符号整型无符号整型无符号整型无符号短整型无符号长整型带符号整型(整型)带符号短整

4、型(短整型)带符号长整型(长整型)C/C+C/C+程序设计程序设计2.2 2.2 常量常量常量是程序运行过程中其值不发生变化的数据。 表表2.1 整型数据的表示方式整型数据的表示方式进制数进制数表示方式表示方式举例举例八制数整数八制数整数十制数整数十制数整数十六制数整数十六制数整数由数字由数字0开头开头034,065,057如同数学中的数字如同数学中的数字123,-78.90由数字由数字0 x开头开头0 x23,0 xff,0 xac2.2.1 2.2.1 整型常量整型常量C/C+C/C+程序设计程序设计2.2.2 实型常量 3.14、.9999、-3.14159、834.、0.666 、6.

5、89E-5 2.2.3 字符常量字符常量 用成对的单引号括起来的一个字符,用成对的单引号括起来的一个字符,举例:举例: x,a,A,b,$,# 等等,n,t等转义字等转义字符符C/C+C/C+程序设计程序设计例2.1 求一个圆柱体体积,用符号常量代替。 #include #define PI 3.14159 /定义PI为符号常量 void main() float r,h,v; scanf(%f,%f,&r,&h); v=PI*r*r*h; printf(Volume=%f,v); 运行时输入运行时输入:3,2 Volume=56.5486182.2.4 符号常量符号常量 #d

6、efine 符号常量符号常量 字符串字符串v=3.14159*r*r*h; /编译前替换编译前替换C/C+C/C+程序设计程序设计C+中用常变量替代预处理命令 #include using namespace std; const float PI=3.14159; /定义常变量PI等于3.14159 int main() float r,h,v; cinrh; v=PI*r*r*h; coutVolume=vendl; return 0;C/C+C/C+程序设计程序设计2.2.5 字符串常量注意:1. 0和0不同,0是编码为0的字符,而0则是数字0,其编码为48。 2. 再有x和x也是不同的

7、,前者是字符常量,它是单独一个字符x,其长度为1。 3. 而x在机器中占2个字节存储,其中,一个字节存x,另一个存结尾符0。 举例举例 tabrcdnefg I am a student 、x、 用一对双引号用一对双引号括起来的零个或多个字符序列。括起来的零个或多个字符序列。C/C+C/C+程序设计程序设计2.3 变量 在程序运行过程中其值可以发生变化的量。2.3.1 变量的数据类型及其定义变量的数据类型及其定义变量的数据类型变量的数据类型C/C+C/C+程序设计程序设计表表2.2 整型数据所占内存长度和数据整型数据所占内存长度和数据数据类型数据类型 二进制位二进制位数据范围数据范围 int

8、16 -215215-1即即-32768 32767 32 -231231-1short 16 long 32 unsigned int 16/32 0 216-1(0 65535) unsigned short 16 unsigned long 32 C/C+C/C+程序设计程序设计表表2.3 实型数据所占内存长度、数据范围及有效数字实型数据所占内存长度、数据范围及有效数字数据类型数据类型二进制位二进制位有效数字有效数字数据范围数据范围 float(单精度单精度)double(双精度双精度) long double3264128715 1618 1910-38 103810-308 1030

9、810-4931 104932C/C+C/C+程序设计程序设计说明:1、任何类型的数据在计算机内部都是以二任何类型的数据在计算机内部都是以二进制的形式来存放的。进制的形式来存放的。2 2、使用数据时要考虑其范围。、使用数据时要考虑其范围。 (1)C语言存储基本整型和短整型数据占用语言存储基本整型和短整型数据占用2个字节,范围个字节,范围是是 -3276832767。 C+语言中存储基本整型占用语言中存储基本整型占用4个字节,范围和个字节,范围和C语言中语言中长整型一样:长整型一样:-21474836482147483647。 (2)长整型:)长整型:0L, -11L,0 x15L。其中,。其中

10、,0L为八进制、为八进制、-11L为十进制、为十进制、0X15L 为十六进制整数。为十六进制整数。 (3)无符号整型数没有符号位,只能表示正数。范围是)无符号整型数没有符号位,只能表示正数。范围是 065535(C语言和短整型)、语言和短整型)、c+(04294967295 即0(232-1))。C/C+C/C+程序设计程序设计说明: (4)单精度实型数据用4个字节存储,范围是 10-381038。 (5)双精度实型数据用8个字节存储,10-30810308。 (6)字符型数据用一个字节存储。基本ASCII:0127C/C+C/C+程序设计程序设计2. 变量的数据类型定义 数据类型符数据类型符

11、 变量列表;变量列表; int a, b, c; char ch, str; double f_1, f_2; float x, y, z, _w1, _w2;unsigned int u_1, u_2; /int 可以省略可以省略 long int g1, g2; /int 可以省略可以省略C/C+C/C+程序设计程序设计变量定义可以出现在程序的3个地方,同时,变量定义的位置决定变量作用范围,又称为“作用域”。 在函数的内部。在函数的内部(包括复合语句内部)定义的变量称为局部变量。它的作用域是从定义处开始直到此函数(复合语句)结束。 在函数的参数中。在函数的参数中(在函数名后括号中)定义的变

12、量称为局部变量。它的作用域是从定义处开始直到此函数结束。 在所有函数的外部。在所有函数的外部定义的变量称为全局变量。它的作用域是从开始处直到程序结束。C/C+C/C+程序设计程序设计2.3.2 变量的存储类型及其定义1. 变量的存储类型CPU寄存器:CPU寄存器中存储数据的是动态存储类型,不能长期占用。内存:内存中又分为两个区域,即为静态存储区(存储静态变量)和动态存储区(存储动态变量)。C/C+C/C+程序设计程序设计表表2.4 数据的存储类型及存储地点数据的存储类型及存储地点存储类型存储类型存储类型符存储类型符存储地点存储地点 自动型自动型寄存器型寄存器型静态型静态型autoregiste

13、rstatic内存动态存储区内存动态存储区CPU寄存器寄存器静态存储区静态存储区外部变量外部变量extern静态存储区静态存储区C/C+C/C+程序设计程序设计2. 变量的存储类型的定义存储类型存储类型 数据类型数据类型 变量列表变量列表(1)自动变量自动变量 【例【例2.2】定义自动整型和字符型变量。】定义自动整型和字符型变量。 #include using namespace std; void main() auto char c1,c2; auto int i1,i2; scanf(%d,%d,&i1,&i2); c1=i1; c2=i2; printf(%c,%cn,

14、c1,c2); printf(%d,%dn,c1,c2); 1c1kc235 i1467802i20097a,b97,98 9700989897,98_C/C+C/C+程序设计程序设计(2) 寄存器变量 【例2.3】函数内部定义寄存器变量。 #include using namespace std; void main() register int b; / 定义变量b为寄存器型变量 b=3; coutb=bendl; C/C+C/C+程序设计程序设计(3) 静态变量静态变量存放在静态内存数据区中。静态变量在变量定义时就分配了固定的内存单元并根据所定义的数据类型存入默认值,在程序运行中一直占用

15、内存单元不释放,直到程序运行结束后。静态变量又分为静态局部变量和静态全局变量。 静态局部变量在函数或复合语句中用static定义的变量为静态变量,称为静态局部变量,该变量在其函数中或复合语句中有效。 C/C+C/C+程序设计程序设计【例2.4】函数f()中有静态局部变量和自动变量,要理解在多次调用函数f过程中,两种变量值的变化。.int f() static int a=1; / a 是静态局部变量,在此函数中有效是静态局部变量,在此函数中有效 auto int b=0; / b 动态局部变量,在此函数中有效动态局部变量,在此函数中有效 a=a+2; b=b+1; .1a0b3151静态局部变

16、量生存期:静态局部变量生存期:第一次调用时分配内存,第一次调用时分配内存,程序结束释放变量程序结束释放变量静态局部变量作用域:静态局部变量作用域:从定义处到本函数结束从定义处到本函数结束C/C+C/C+程序设计程序设计静态全局变量【例【例2.5】观察程序中静态全局变量和存在形式。】观察程序中静态全局变量和存在形式。#include using namespace std; static int a=1; void main() auto int b=0; a=a+1; b=b+1; couta=a,b=bendl;1a0b12 a=2,b=1 _全局变量生存期:编译时分全局变量生存期:编译时分

17、配内存,程序结束释放变量配内存,程序结束释放变量静态全局作用域:从定义处静态全局作用域:从定义处开始到本文件结束开始到本文件结束C/C+C/C+程序设计程序设计(4) 外部变量 将一个源文件程序清单分放在若干个程序文件中采用分块将一个源文件程序清单分放在若干个程序文件中采用分块编译方法编译生成一个目标程序(编译方法编译生成一个目标程序(.obj.obj文件)。文件)。 其中每个程序称为一个其中每个程序称为一个“编译单位编译单位”,最后,将它们连接,最后,将它们连接在一起生成在一起生成.exe.exe文件,提高编译速度和便于管理大型软件文件,提高编译速度和便于管理大型软件工程。工程。 C C语言

18、规定在某一个源程序中定义的全局变量,其它的多个语言规定在某一个源程序中定义的全局变量,其它的多个文件可以使用,实现程序间的数据交流文件可以使用,实现程序间的数据交流, ,称为外部变量。称为外部变量。 使用关键字使用关键字“extern”extern”定义的变量称为外部变量(系统默定义的变量称为外部变量(系统默认)。全局变量如果不加认)。全局变量如果不加“static”static”限制,都是外部变量限制,都是外部变量。 外部变量如果与局部变量同名,在局部范围内局部变量优外部变量如果与局部变量同名,在局部范围内局部变量优先(具体应用见第先(具体应用见第.4节)。节)。C/C+C/

19、C+程序设计程序设计2.3.3 变量的初始化 存储类型符 数据类型符 变量1=初值1,变量2=初值2 ; static int a=1; /将变量a定义为静态局部变量,并赋初值1 auto int a=0,b=-3; /变量a,b定义为自动变量,并分别赋初值0,-3 char c1=x,c2=y; /将变量c1,c2定义为自动变量,并分别赋字符x,y C/C+C/C+程序设计程序设计【例【例2.6】内存单元中同一个数据按有符号和无符号格】内存单元中同一个数据按有符号和无符号格式输出的情况。式输出的情况。#include void main() unsigned short a=65535; s

20、hort int b=a; printf(a=%un,a); printf(b=%dn,b); printf(a=%d,%o,%x,%un,a,a,a,a);2.3.4 基本数据类型的使用1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1a1. 整型变量整型变量1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ba=65535_b=-1有符号数在内存中存放的是补码。有符号数在内存中存放的是补码。正数的补码与原码相同正数的补码与原码相同负数的补码是该数绝对值的二进制形式按位求反加负数的补码是该数绝对值的二进制形式按位求反加11 1 1 1 1 1 1 1 1 1 1 1

21、1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1a=65535,177777,ffff,66635减减1取反取反a用用%d格式输出时由格式输出时由unsigned short转换成转换成int型。型。VC中中int 型型4个字节个字节(-21474836482147483647),所,所以输出以输出a=65535 ,如果在如果在C语言环境下是:语言环境下是:-1 C/C+C/C+程序设计程序设计#include using namespace std;void main() short int a,b; a=32767; b=a+1; couta”,” bendl;

22、 int a,b;【例2.7】观察超出短整型数据最大允许值的情况1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1VC+环境环境int 型型4个字节,可用数据范围个字节,可用数据范围-21474836482147483647 0 1 0 0 0 0 1 01 1 0 0 1 0 01 0 0 1 0 1 0 1 0ab0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 032767,-32768修改程序修改程序重新运行重新运行观察结果观察结果1 0 .1 0 1 1 1 1 1 1 .1 1 1 1 1 11 0

23、 .0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ab0 0 .0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 032767, 327680 0 .0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 char a,b;1 0 1 1 0 1 0 01 1 1 1 1 1 1 10 0 0 0 0 0 0 0ab, _C/C+C/C+程序设计程序设计同样,也要注意使用的数据超出最小允许值的情况。下例观察超出最小取值范围的情况。 #include using namespace std; void main() short int a,b; a=

24、-32768; /a 取最小值 b=a-1; /b的值超出最小值范围 couta”,”bendl; -32768,32767short int 变化范围:变化范围:-32768-+32767_C/C+C/C+程序设计程序设计2. 2. 实型变量实型变量3.33333e+012【例【例2.8】输出实型双精度数据。】输出实型双精度数据。#include using namespace std;void main() double x,y; x=1111111111111.111111111; y=2222222222222.222222222; coutx+yendl;5876543.201571

25、231x 1111111111111.13.578944536776785y 2222222222222.2_C/C+C/C+程序设计程序设计3. 字符型变量 字符型变量在计算机内存储的是其字符对应的ASCII值,也可以看作一个字节的整数。 例如,char c1=A;C/C+C/C+程序设计程序设计#include using namespace std;void main() char c1,c2; c1=getchar( ); putchar(c1); c2=c1+32;/*ASCII在相加在相加*/ putchar(c2); printf(n%d,%dn,c1,c2); /*输出输出AS

26、CII*/【例【例2.92.9】输入英文字母】输入英文字母AA,转换成小写字母输出。,转换成小写字母输出。0 1 0 0 0 0 1 0 c11 0 1 1 0 1 0 00 1 0 0 0 0 0 1 c2A_A_0 1 1 0 0 0 0 1a _65,97_C/C+C/C+程序设计程序设计4 4常变量常变量 C+中定义变量时,加上关键字const,则变量称为常变量。常变量的值在程序运行期间不能改变, 常变量的初值要通过初始化方式给出。 例如, const int a=3; a=a+2; /错误C/C+C/C+程序设计程序设计2.4 运算符及表达式C C语言运算符语言运算符基本运算符基本运

27、算符条件运算符条件运算符(?:)(?:)基本算术运算符基本算术运算符+-+-* */%/%基本赋值运算符基本赋值运算符= =关系运算符关系运算符( ,=,=,-赋值运算符赋值运算符逗号运算符逗号运算符(,)(,)专用运算符专用运算符成员运算符成员运算符. .强制运算符强制运算符下标运算符下标运算符数据长度运算符数据长度运算符( sizeof )位运算符位运算符算术运算符算术运算符位移位运算符位移位运算符位自反赋值运算符位自反赋值运算符增增1 1减减1 1运算符运算符+,-+,-C/C+C/C+程序设计程序设计2.4.1 算术运算符和算术表达式优先级优先级 高高低低模运算模运算(整数取余整数取余

28、)整数整数(除数和被除数都是整数除数和被除数都是整数)非整数非整数(除数和被除数至少有一个不是整数除数和被除数至少有一个不是整数)-(负号负号) (* / %) (+ -) int a=3,b=4; a/b结果为结果为0 float c=3.0; int d=4; c/d结果为结果为0.75 算术运算符算术运算符float c=3.0; int d=4; c%d错误错误 C/C+C/C+程序设计程序设计 #include using namespace std; void main() cout7%3, 7%(-3) , -7%3, -7%(-3)endl; 1,1,-1,-1 模运算在判断一

29、个整数能否被另一个整数整除时很模运算在判断一个整数能否被另一个整数整除时很方便,例如方便,例如,判断判断n是否能被是否能被2 整除,可使用(整除,可使用(n%2=0)来判断来判断 。结果模运算与除数的符号无关,与被除数相同。结果模运算与除数的符号无关,与被除数相同 【例【例2.102.10】求两个整数相除的余数。】求两个整数相除的余数。同7%33*2+1=7取负7%3的结果同-7%3_C/C+C/C+程序设计程序设计2.4.2 关系运算符和关系表达式 (小于) (大于) =(大于或等于) =(等于) !=(不等于) 关系运算符的优先级低于算术运算符。 前4种关系运算符(、=)的优先级相同,后2

30、种(=,!=)也相同。且前4种的优先级高于后2种。 见附录B 关系运算的结果是一个逻辑值,即“真”或“假”,如果结果为真,用数字1表示,结果为假,用数字0表示。C/C+C/C+程序设计程序设计 (1)5=3 (关系表达式的值为“假”值,用0表示) (2)x3 (当x3时,表达式的值为“真”值,用1表示) (3)35=6b+c (a+b为7 b+c为9 79 结果:假(用0表示)) (5)a=bc ( bb&c4&8b&cd0 cb&(c=d%a)0 c的值不变C/C+C/C+程序设计程序设计3逻辑或表达式 (表达式1)|(表达式2) 逻辑或运算规则是,如果两个表

31、达式有一个非0 时,结果为1 ,否则结果为0。 逻辑或运算优先级低于逻辑与运算 例如, int a=0,b=4,c=8,d=6,x=2,y=2; a|b 0|4 x+y|a*b/c 2+2 | 0*4/8 c|d 99 |100 ab|c4|8=-10&a10 对应的C 语言表达式是:a10。 或 !(a=-10&a=,=,&=,=,|=,这5个二进制 运算符,不作讲解。C/C+C/C+程序设计程序设计 2赋值表达式 (1)使用“=”给变量赋值,使变量得到一个值,赋值表达式的格式是:= 例如:a=1 /赋值表达式的运算从右向左 b=5*PI c=a (a=1)+(b=3

32、)*4-(c=5) /赋值表达式也可出现在其他表达式中赋值运算的优先级在所有运算中倒数第二,只比逗号运算高一级C/C+C/C+程序设计程序设计(2)复合赋值运算符 = a-=b-5 相当于a=a-(b-5) a*=b+c 相当于a=a*(b+c)C/C+C/C+程序设计程序设计2.4.5 逗号运算符和逗号表达式 表达式1,表达式2,表达式n 逗号运算符是一个求值运算符。计算时顺序为分别求解每一个表达式,整个表达式的值是最右边表达式的值。 逗号运算符的优先级最低 a=8+4,a/2 /相当于a=12,6 x=(y=5,y*2) /相当于x=(5,10)C/C+C/C+程序设计程序设计2.4.6

33、变量的自增,自减(+,-)运算符 变量+ 、 +变量 、变量- 、 -变量 说明:“+”和“-”运算符位于变量的前或后,其运算规则是不同的。运算符号在变量前表示先进行自增(减)运算,后使用变量,运算符号在后表示先使用变量,后进行自增(减)运算。例如: x=1; y=+x; x=1; y=x+; x=x+1;y=x; (x2, y 2)y=x; x=x+1; (y 1, x 2)C/C+C/C+程序设计程序设计#include using namespace std;void main()int x=10;coutx+endl; /x是是10,输出,输出x值后自增值后自增1 coutxendl;

34、 /x使用过后在使用过后在10的基础上自增的基础上自增1 【例【例2.112.11】 变量的自增自减运算举例变量的自增自减运算举例。10 x_1111使用使用“+”和和“-”运算时需要注意以下问题:运算时需要注意以下问题:(1)+和和-只能用于变量,不能用于常量和表达式。只能用于变量,不能用于常量和表达式。(2)+和和-是单目运算符,使用时考虑前缀或后缀运算。是单目运算符,使用时考虑前缀或后缀运算。 -10_C/C+C/C+程序设计程序设计使用“+”和“-”运算时需要注意以下问题:(3)在表达式中包含)在表达式中包含+或或运算时很容易出错,例如运算时很容易出错,例如 i+j 应该写成:应该写成

35、:(i+)+(+j) 。 i+j 应写成:应写成: (i+)+j。(4)C/C+中规定函数的实参求值顺序是自右向左。中规定函数的实参求值顺序是自右向左。 例如,例如,i 的值为的值为3;则执行:则执行: coutii+; 3 i4 3 4C/C+C/C+程序设计程序设计【例【例2.122.12】观察中间变量】观察中间变量j j的值。的值。#include using namespace std;void main() int i,j; i=3; j=i+; /j=i,i=i+1 couti=i,j=jendl; 18 i333 j334i=4,j=3_C/C+C/C+程序设计程序设计2.4.7

36、 长度运算符 长度运算符sizeof计算数据类型或变量占内存字节的长度 sizeof(类型说明符)或 sizeof (表达式) 例如, 在C语言中int类型变量占2个字节,而C+中int类型变量占4个字节,可通过下列语句检测出来: int n; n=sizeof(int); C/C+C/C+程序设计程序设计 void main() int i; short s; unsigned u; long int l; float f; char ch; double d; coutsizeof(i) ,sizeof(s) ,“sizeof(u) ,sizeof(l),sizeof(f),“ sizeo

37、f(ch) ,sizeof(d)endl; 4,2,4,4,4,1,8 【例2.13】长度运算符的使用。_C/C+C/C+程序设计程序设计2.4.8 2.4.8 混合运算和类型转换混合运算和类型转换C /C+语言数据类型很复杂,不同类型的数据可混合运算,在运算时,不同类型的数据首先要转换成同类型,且转换成最长的数据类型,然后再进行运算。 数据类型转换有两种方式, 即自动类型转换和强制类型转换。 1.自动类型转换2.10+a+1.5-5678.444*b的运算结果为double 型,3.常数整数默认为int型,常数实数默认为double型 C/C+C/C+程序设计程序设计C+ 不可以自动转换 double 图 2.6 不 同 类 型 数 据 的 转 换 long int unsigned char,short float 高 低 注意:注意:C+类型转换类型转换C/C+C/C+程序设计程序设计2. 强制类型转换 (类型)表达式 x=3.6; y=(int)x ;3.6 x y33C/C+C/C+程序设计程序

温馨提示

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

评论

0/150

提交评论