c语言第2章_数据类型-2013_第1页
c语言第2章_数据类型-2013_第2页
c语言第2章_数据类型-2013_第3页
c语言第2章_数据类型-2013_第4页
c语言第2章_数据类型-2013_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章l 主要内容主要内容2.1 C2.1 C语言的数据类型语言的数据类型2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据 2.6 2.6 各类数值型数据间的混合运算各类数值型数据间的混合运算 2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式l 本章要点本章要点 2.1 C的数据类型C语言提供了以下一些数据类型。 数据类型 基本类型 构造类型 整型 浮点型 数值类型 字符类型(char) 枚举类型(enum) 数组类型 结构体类型

2、(struct) 共用体类型(union) 文件类型(FILE) 指针类型 空类型(void) 短整型(short) 整型(int) 长整型(long) 单精度型(float) 双精度型(double) 注意注意:在程序中用到的:在程序中用到的常量常量与与变量变量必须是上面的一种数据类型。必须是上面的一种数据类型。 2.2 常量与变量 2.2.1 2.2.1 常量常量n在程序运行过程中,其值不能被改变的量称为常量n常量区分为不同的类型:整型 100,125,-100,0实型 3.14 , 0.125,-3.789字符型 a, b,2符号常量符号常量符号常量符号常量: : 可以使用一个符号表示一

3、个多次常用的常量可以使用一个符号表示一个多次常用的常量 C C 语言中使用命令语言中使用命令#define#define来定义:来定义: 格式:格式: #define #define 符号常量名标识符符号常量名标识符 常数表达式常数表达式 优点:优点: 符号常量含义清楚,能够做到使程序易于阅读和符号常量含义清楚,能够做到使程序易于阅读和修改。可以做到修改一处就修改全部。修改。可以做到修改一处就修改全部。例如,一个程序中多处用到学生人数例如,一个程序中多处用到学生人数6060,当有学生人数改变,当有学生人数改变为为6565,修改这个程序很困难。而使用符号常量,只要将,修改这个程序很困难。而使用符

4、号常量,只要将 #define NUM 60 #define NUM 60 改为改为 #define NUM 65#define NUM 65,就可以了。,就可以了。 无分号无分号符号常量符号常量例例2-1:求一个半径为:求一个半径为r的球的体积和表面积的的球的体积和表面积的C程序程序#define PI 3.14159 /* 定义定义PI为符号常量,值为为符号常量,值为3.1415 */void main( ) /*求球体面积和体积求球体面积和体积*/ float v,s,r; /* 定义浮点变量定义浮点变量 */ printf(“Please input r:”) /*提示输入半径提示输入

5、半径r*/ scanf(“%f”,&r); /* 输入半径r */ v=4.0/3.0*PI*r*r*r /* 计算球体体积 */ s=4*PI*r*r; /* 计算球体面积 */ printf(“v=%f, s=%fn”,v,s); /* 输出球体体积和面积 */说明说明: (1)符号常量名常常用大写字)符号常量名常常用大写字母、变量名用小写字母。母、变量名用小写字母。 (2)符号常量不能在其作用域)符号常量不能在其作用域范围内重新赋值。范围内重新赋值。 2.2.22.2.2变量变量n变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可

6、以改变的。n变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。2.2.2 变量 标识符标识符n标志符是用来标识对象名字(包括变量、函数、数组、类型等)的有效字符序列 。nC语言中,有3类标识符:关键字,系统预定义的标识符 ,用户标识符。 n变量的名字必须符合C语言对标识符标识符的规定。nC语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 注意:C编译系统区分大小写,因此会将大写字母和小写字母认为是不同字符,如Class和CLA

7、SS是不同的标识符。 2.2.2 变量 变量命名的规定:变量的名字必须符合C语言对标示符得规定 例:例:sum,_total, month, Student_name, lotus_1_2_,_123 M.D.John, ¥123,3D64,ab 2.2.2 变量n建议变量名的长度最好不要超过8个字符。n在选择变量名和其它标识符时,应注意做到“选有含意的英文单词 (或其缩写)作标识符。这样可以增加可读性。n要求对所有用到的变量作强制定义,也就是“先定义,后使用” 。这样可保证变量名使用的正确性,同时让编译程序可以预先为变量分配相应的存储单元,也能保证运算的合法性。 2.3 整型数据2.3.12

8、.3.1整型常量的表示形式整型常量的表示形式 整型常量即整常数。在语言中,整常数可用以下三种形式表示:(1)十进制整数。 如:如:123, -456,4。(2)八进制整数。以0头的数是八进制数。 如:如:0123(十进制为83), 0101(十进制为65) 2.3 整型数据2.3.12.3.1整型常量的表示形式整型常量的表示形式(3)十六进制整数。以0 x开头的数是16进制数。 如:如:0 x123(十进制数为291 ),-0 x12(十进制数为10) 例例2.22.2 通过以下例题来说明整型常量的三种表示方法及相互关系通过以下例题来说明整型常量的三种表示方法及相互关系void main()

9、int x=123,y=0123,z=0 x123; printf(%d %d %dn,x,y,z); /* 以十进制形式以十进制形式%d输出输出 */ printf(%o %o %on,x,y,z); /* 以八进制形式以八进制形式%o输出输出 */ printf(%x %x %xn,x,y,z); /* 以十六进制形式以十六进制形式%x输出输出 */输出结果为:123 83 291173 123 4437b 53 123 2.3 整型数据 2.3.2整型变量整型变量n整型变量用来存放整型常量。整型变量的基本类型符为int。nC语言中提供了long(长型),short(短型),unsigne

10、d(无符号型)和signed(有符号型)四个关键字作为基本类型的变种。 ANSI C标准没有具体规定以上整型数据所占内存的字节数而是由各计算机编译系统自行决定。 Turbo C中,int型是2个字节,即16个二进制位。而VC+则给给int型数据是4个字节,32位 。 2.3 整型数据 2.3.2整型变量整型变量一般情况下,存储整数时存储单元中的第一个二进位用来代表数值符号,而在实际应用中,变量的值常常是正的 ,所以存储单元全部用来存储数值本身,此定义无符号整数。所以归纳起来,在C语言中,可以定义和使用6种整型变量共六种共六种有符号基本整型有符号短整型有符号长整型无符号基本整型无符号短整型无符号

11、长整型(signed)int (signed)short (int )(signed) long (int)unsigned intunsigned short (int)unsigned long (int) 注意:注意:括号表示其中的内容是可选的. 2.3 整型数据 2.3.2整型变量整型变量n整数类型的有关数据(Visual C+):例2.4 整型变量的定义与使用#include #include void main()() int a,b,c,d; /*指定、为整型变量指定、为整型变量* unsigned ; *指定为无符号整型变量指定为无符号整型变量* 12;-24;10; ; pr

12、intf(,);); 可以看到不同种类的整型数据可以进行算术运算 运行结果:运行结果: , 2.3.3 变量的赋初值变量的赋初值C C语言中,当定义一个变量后,系统只是按定义的数据类语言中,当定义一个变量后,系统只是按定义的数据类型分配其相应的存储单元,型分配其相应的存储单元,并不对其单元初始化并不对其单元初始化,如果在,如果在赋初值之前直接使用该变量,则是一个不定值赋初值之前直接使用该变量,则是一个不定值 。例例2.52.5:void main( ) int a,b; /* 定义整型变量定义整型变量a,b */ a=b+1; printf(“a=%dn”,a); /* 输出输出a */ 程序

13、运行,输出程序运行,输出a的值就是一个无意义的不定值,并在不同的值就是一个无意义的不定值,并在不同系统环境下运行的结果也可能完全不同。系统环境下运行的结果也可能完全不同。赋初值的一般形式为:赋初值的一般形式为: (1)类型说明符类型说明符 变量变量1=值值1,变量,变量2=值值2,; (2)类型说明符类型说明符 变量变量1,变量变量2,变量变量3; 变量变量1=值值1;变量;变量2=值值2; 例如:例如: int a=10,b=10,c=10 等价于等价于 int a,b,c; a=10; b=10;c=10;2.3.3 变量的赋初值变量的赋初值注意:注意: (1)在)在说明说明中中不允许连续

14、赋值不允许连续赋值,但在,但在变量定义变量定义后,后,可以可以 使用使用连续赋值连续赋值语句初始化语句初始化 ; 如:如: int a=b=c=1; 是不合法的;是不合法的; int a,b,c; a=b=c=1;是合法的是合法的 (2)C语言中变量定义后若没有赋值,系统并不自动语言中变量定义后若没有赋值,系统并不自动清清0,如果直接使用它,其值将是一个,如果直接使用它,其值将是一个“不确定的不确定的”.2.3.3 变量的赋初值变量的赋初值 2.3 整型数据 2.3.3整型数据在内存中的存放形式整型数据在内存中的存放形式 数据在内存中以二进制形式存放。 如如: : int i; /* 定义为整

15、型变量 */ i=10; /* 给i赋以整数10 */ 0 00 0 0 0 0 0 0 0 0 0 1 0 1 010ii(a)(b) 2.3 整型数据 2.3.3整型数据在内存中的存放形式整型数据在内存中的存放形式n实际上,数值是以补码表示的。一个正整数的补码和该数的原码相同。负数的补码是:将该数的绝对值的二进制形式,按位取反再加1。010100000000000010的原码1010111111111111原码取反0110111111111111取反后加1,得到-10的补码例2.5 整型数据的溢出#include #include void main()void main()short a

16、,b; short a,b; a=32767; a=32767; b=a+1; b=a+1; printf(“%d,%dn”,a,b); printf(“%d,%dn”,a,b); 数值是以补码表示的。一个短整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。运行结果:运行结果: 32767,-3276832767,-32768 如果系统给一个短整型变量分配2个字节,则变量的最大允许值为32767,若超出最大值则出现溢出现象。 2.3 整型数据 2.3.5 2.3.5 整型常量的类型整型常量的类型 整型常量的分类规则: (1)

17、根据整数值的范围以及编译系统给各类整数分配的字长来确定整数常量是哪种类型; (2)在一个整常量后面加一个字母l或L,则认为是long int型常量,如果一个整常量后面加一个字母u或U,认为是unsigned int型。练习1:1.定义两个短整型变量c1,c2,首先分别给这两个变量赋初值为67和68。输出这两个变量。修改程序,将变量初值修改为 c1=32767;c2=32768; 分别输出这两个变量,其结果为何?定义变量为无符号短整型,再次输出这两个变量,结果又如何?分析得出这样结果的原因。 2.4 浮点型数据 2.4.12.4.1浮点型常量的表示形式浮点型常量的表示形式两种表两种表示形式示形式

18、十进制小数十进制小数指数指数0.1230.1233 3e-3e-3注意注意: :字母e(或E)之前必须有数字,且e后面的指数必须为整数 2.4.12.4.1浮点型常量的表示形式浮点型常量的表示形式 规范化的指数形式:规范化的指数形式: 在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字. 例如例如: : 123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e21.23456e2称为“规范化的指数形式”。 2.4 浮点型数据 2.4.

19、2 2.4.2 浮点型变量浮点型变量 1)浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类形式。 2.4 浮点型数据 2.4.2 2.4.2 浮点型变量浮点型变量 2)浮点型数据在内存中的存放形式:一个浮点型数据一般在内存中占4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。3)浮点型数据的舍入误差:由于浮点型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。在有效位以外的数字将被舍去。由此可能会产生一些误差例2.6

20、 浮点型数据的舍入误差#include #include void main()void main()float a,b;float a,b; a = 123456.7e8; a = 123456.7e8; b = a + 20 ; b = a + 20 ; printf(“%fn”,b); printf(“%fn”,b); 一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数运行结果:运行结果: 123456.7e8123456.7e8 2.4.2 2.4.2 浮点型变量浮点型变量

21、 .4 浮点型数据.4.3 .4.3 浮点型常量的类型浮点型常量的类型 C编译系统将浮点型常量作为双精度来处理。 如果把一个浮点型常量赋给一个单精度变量f系统给出警告,警告不影响连接和运行最后结果但只取其结果前7位赋给浮点型变量f。 只有在数的后面加字母f或F(如1.65f, 654.87F),编译系统才会把它们按单精度处理。 .5 字符型数据 .5.1 .5.1 字符常量字符常量(1)用单引号包含的一个字符是字符型常量(2)只能包含一个字符(3)字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如5和5 是不同的。5是字符常量,不能参与运算。 a a, ,A A, ,

22、1 1abcabc、“a a” 转义字符以以“ ”开头的特殊字符称为转义字符。转义字符是一开头的特殊字符称为转义字符。转义字符是一种特殊的字符常量。种特殊的字符常量。 含 义 ASCII代码 换行,将当前位置移到下一行开头 10 水平制表(跳到下一个Tab位置) 9 退格,将当前位置移到前一列 8 回车,将当前位置移到本行开头 13 换页,将当前位置移到下页开头 12 a 发出铃声 7 代表一个反斜杠字符“”92 代表一个单撇号字符 39 代表一个双撇号字符34 到位八进制数所代表的字符 到位十六进制数所代表的字符 例2.7 转义字符的使用#include void main() printf

23、( ab ct derftgn); printf( a=65 b=101 c=x41n ); n打印机上的显示结果:打印机上的显示结果: fab c gde h jikn显示屏上的运行结果:显示屏上的运行结果: f gde a=65 b=A c=A 2.5 字符型数据 2.5.22.5.2字符变量字符变量n字符型变量用来存放字符常量,注意只能放一个字符。n字符变量的定义形式如下:char c1,c2;n在本函数中可以用下面语句对c1,c2赋值: c1a;c2 b ;n一个字符变量在内存中占一个字节。 2.5 字符型数据 2.5.3 2.5.3 字符数据在内存中的存储形式及其使用方法字符数据在内

24、存中的存储形式及其使用方法n一个字符常量存放到一个字符变量中,实际上并不是把该字符的字型放到内存中去,而是将该字符的相应的ASCII代码放到存储单元中。这样使字符型数据和整型数据之间可以通用。注意: 一个字符数据既可以以字符形式输,也可以以整数形式输出以字符形式输出时,系统先将存储单元中的I码转换成相应字符, 然后输出。 以整数形式输出时,直接将码作为整数输出。也可以对字符数据进行算术运算, 此时相当于对它们的码进行算术运算。 例2.8 向字符变量赋予整数。 #include #include void main()void main() char c1,c2; char c1,c2; c1=

25、97; c1=97; c2=98; c2=98; printf(“%c %cn”,c1,c2); printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); printf(“%d %dn”,c1,c2); 在第4和第5行中,将整数97和98分别赋给c1和c2,它的作用相当于以下两个赋值语句:c1;c2; 因为a和b的ASCII码为97和98n运行结果:运行结果: 97 9897 98 2.5 字符型数据 2.5.3 字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法 有些系统(如Turbo C,VC+)将字符变量定义为signed

26、char型。其存储单元中的最高位作为符号位,它的取值范围是-128127。如果在字符变量中存放一个ASCII码为0127间的字符,由于字节中最高位为0,因此用%d输出字符变量时,输出的是一个正整数。如果在字符变量中存放一个ASCII码为128255间的字符,由于在字节中最高位为1,用%d格式符输出时,就会得到一个负整数。 2.5 字符型数据 2.5.4 2.5.4 字符串常量字符串常量n字符串常量是一对双撇号括起来的字符序列.n合法的字符串常量:“How do you do.”, “CHINA”, “a” , “$123.45”n可以输出一个字符串,如printf(“How do you do

27、.”);n不要将字符常量和字符串常量混淆,不能把字符串常量赋值给字符变量。 如“a”和a两者不同。char c;c=a; c=“a”;n规定:在每一个字符串常量的结尾加一个 “字符串结束标志”,以便系统据此判断字符串是否结束。规定以字符作为字符串结束标志。 如:如:如果有一个字符串常量” ,实际上在内存中是:CHINA0 它占内存单元不是个字符,而是个字符,最后一个字符为。但在输出时不输出。2.5.4 字符串常量字符串常量练习2:1. 运行以下代码,并分析输出的结果:运行以下代码,并分析输出的结果: void main() int a= -10; short int b= 20; long i

28、nt c= 25; unsigned int d= 22; float e= 23.5; printf(sizeof(int)= %d n,sizeof(a); printf(sizeof(short int)= %d n,sizeof(b); printf(sizeof(long int)= %d n,sizeof(c); printf(sizeof(unsigned int)= %d n,sizeof(d); printf(sizeof(float)= %d n,sizeof(e); unsigned int ui= a; printf(ui= %u n,ui); / A 思考:(思考:(

29、1)输出的数字表示什么意思)输出的数字表示什么意思 (2)参考程序输出的结果,分析变量)参考程序输出的结果,分析变量 a 和和 b 在内存的存储在内存的存储形式是什么样的。形式是什么样的。 (3)第)第 A行代码输出结果是什么,为什么?行代码输出结果是什么,为什么? (4)int、unsigned int 和和 float 类型的数据,最大值和最类型的数据,最大值和最小值分别为多少。小值分别为多少。 (5)试着增加)试着增加 double 和和 char 类型的数据,测试并输出类型的数据,测试并输出它们各自占几个字节。它们各自占几个字节。2.定义两个字符变量定义两个字符变量c1,c2,首先分别

30、给这两个变,首先分别给这两个变量赋初值为量赋初值为a和和b。输出这两个变量和其对应的。输出这两个变量和其对应的ASCII码。然后,修改程序,将码。然后,修改程序,将c1和和c2改定义为改定义为整型,再观察程序运行结果。整型,再观察程序运行结果。3. 编写一个程序,当用户输入一个编写一个程序,当用户输入一个ASCII码时,能码时,能输出相应的字符来。输出相应的字符来。 2.6 各类数值型数据间的混合运算 混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.说明: 这种类型转换是由系统

31、自动进行的。 2.7 算术运算符和算术表达式 nC语言拥有丰富的运算符和表达式,将除了控制语句和输入输出外的几乎所以基本操作都作为运算符处理。n可以把C语言中的运算符共分为13类。n这里主要介绍算术运算符和算术表达式。 2.7 算术运算符和算术表达式 2.7.1 C语言运算符和语言运算符和C算术表达式简介算术表达式简介用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式子,称为算术表达式算术表达式。运算符:具有运算功能的符号运算符:具有运算功能的符号运算对象:常量、变量和函数等表达式运算对象:常量、变量和函数等表达式常见的表达式:常见的表达式:算术表达式、赋值表达式、关系表达

32、式、逻算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式和逗号表达式等辑表达式、条件表达式和逗号表达式等 2.7 算术运算符和算术表达式2.7.2 主要的算术运算符和算术表达式基本的算术运算符n单目 + - + -n双目 + - * / %n注意/ 整数除整数,得整数n1/4 = 0,10/3 = 3% 模(求余): 针对整型数据n5%6 = 5,9%4 = 1,100%4 = 0+ 和 n单目运算符, +10 和 10n双目运算符, x+10 和 y 10 双目运算符两侧操作数的类型要相同,否则,自动类型转换后,再运算。2.7.2 主要的算术运算符和算术表达式自增运算符+和自减运算符

33、-int n;n+ +n n- -n (只适合变量运算)使变量的值增1或减1n+n n+ n = n + 1n-n n- n = n - 1取变量的值作为表达式的值n+n:n = n + 1;取n值作为表达式 +n 的值nn+:取n值作为表达式 n+ 的值;n = n + 1自增运算符+和自减运算符-int n, m;n=2;m=+n;n=2;m=n+;n=3n=3m=3m=2m=nn=n+1n=n+1m=n算术运算符的优先级和结合性单目 + - + -双目 * / %双目 + -高高低低从右向左从右向左-5 + 3%2 = (-5) + (3%2) = -43 * 5 % 3 = (3*5)

34、 % 3 = 0-i+ -(i+)强制类型转换运算符强制类型转换运算符(类型名) 表达式(double)3(int)3.8(double)(5/2)(double)5/23.032.02.5强制类型转换运算符# include int main(void) int i; double x; x = 3.8; i = (int) x; printf(x = %f, i = %d n, x, i); printf(double)(int)x = %fn, (double)(int)x); printf( x mod 3 = %dn, (int)x % 3); return 0;x = 3.8000

35、00, i = 3(double)(int)x = 3.000000 x mod 3 = 0 3.3 赋值表达式1.1.赋值运算符赋值运算符 赋值符号“”就是赋值运算符,它的作用是将一个数据赋给一个变量。 赋值语句是由赋值表达式加上一个分号构成 x = 5*4把把5*4赋给变赋给变量量x 也可以将一个表达式的值赋给一个变量 2.2.复合赋值运算符复合赋值运算符n赋值运算符简单赋值运算符 =复合赋值运算符n在赋值运算符=前加上其他运算符n复合算术赋值运算符 += -= *= /= %=n复合位赋值运算符x += exp 等价于 x = x + exp2.2.复合赋值运算符复合赋值运算符n如果是包

36、含若干项的表达式,则相当于它有括号。例:例: x %= y + 3 x %= (y + 3) |_ x = x %(y + 3) (不要错写成(不要错写成 x = x % y + 3 )2.2.复合赋值运算符复合赋值运算符n凡是二元(二目)运算符,都可以与赋值符一起组合成复合赋值符。有关算术运箅的复合赋值运算符有:,*, n语言采用这种复合运算符,一是为了简化程序,使程序精练,二是为了提高编译效率,能产生质量较高的目标代码。 3. 3. 赋值表达式赋值表达式 其一般形式为:其一般形式为: 变量变量=表达式表达式 功能:计算表达式的值再赋予左边的变量。功能:计算表达式的值再赋予左边的变量。 整个赋值表达式的值整个赋值表达式的值为为:左边变量的值左边变量的值例如: x=a+b赋值运算符的结合方向:由右至左因此 a=b=c=5可理解为: a=(b=(c=5) 优先级:低于条件运算符 ?:,高于逗号运算符 , 3. 3. 赋值表达式赋值表达式 分析赋值表达式: (a=3*5)=4*3 赋值表达式为左值右值先执行括号内的运算,将15赋给a,然后执行4*3的运算,得12,再把12赋给a。最后a的值为12,整个表达式的值为12。 赋值表达式作为左值时应加括号 3. 3. 赋值表达式赋值表达式 求解步骤如下求解步骤

温馨提示

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

评论

0/150

提交评论