第二章-C#语言基础_第1页
第二章-C#语言基础_第2页
第二章-C#语言基础_第3页
第二章-C#语言基础_第4页
第二章-C#语言基础_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、2021/3/261第二章 C#语言基础22021/3/262.1 关键字、标识符和注释n关键字是系统预定义的保留字关键字是系统预定义的保留字,是程序设计是程序设计语言中具有特殊含义的字符序列。语言中具有特殊含义的字符序列。nC#中不允许将关键字用做标识符。中不允许将关键字用做标识符。nC#语言共有76个关键字。nIf 、for、class、catch、try、unsafe、base、this、 return。2.1.1 关键字32021/3/26n标识符可以用作变量、对象、类、结构、枚举、类型和函数等的名字。n标识符由字母、数字、下划线和Unicode字符组成,数字数字不能作为首字符不能作为

2、首字符。n标识符不能与关键字相同,如与关键字相同,则在前面加上,如:class。n标识符长度可达1023个字符。n在在C#大小写字母分别代表不同的标识符。大小写字母分别代表不同的标识符。2.1.2 标识符匈牙利表示法匈牙利表示法:iBookNumb骆驼表示法骆驼表示法:bookTitle、tonOfGoodsPascal表示法表示法:TonOfGoods建议建议:命名变量用骆驼标识法命名变量用骆驼标识法;命名方法、方法的参数名、类、对象等用命名方法、方法的参数名、类、对象等用Pascal表示法。表示法。建议不再使用匈牙利命名法建议不再使用匈牙利命名法,不再使用下划线不再使用下划线42021/3

3、/26C#中的标识符命名规则n规则一规则一 (Pascal表示法)表示法)类名和函数名用大写字母开头的单词组合而成。类名和函数名用大写字母开头的单词组合而成。 class Node;/类名类名 class LeafNode;/类名类名 void Draw(void);/函数名函数名 void SetValue(int value);/函数名函数名52021/3/26n规则二(骆驼表示法)规则二(骆驼表示法)变量和参数用小写字母开头的单词组合而成。变量和参数用小写字母开头的单词组合而成。 Bool flag; Int drawMode;n规则三规则三常量全用大写的单词常量全用大写的单词,用下划线

4、分割单词。用下划线分割单词。 const int MAX=100; const int MAX_LENGTH=100;62021/3/26nC#中有三种注释形式:单行注释、多行注释和XML注释。n单行注释:/n多行注释:/* 和*/nXML注释:/nXML(Extensible Markup Language,即可扩展标记语言 )。2.1.3 注释72021/3/26nXML:描述结构化信息的标记语言,是数据交换的标准。nXML优点:表现力强,成为数据交换技术的最佳途径。C#程序采用XML注释产生文档化代码n形式:XML注释采用以三个斜杠开始直到行尾。如: (参考书P41)n/GradeCom

5、pting is a method in then/Credit Management82021/3/26新建函数: / / 计算两个数的和 / / 第一个数 / 第二个数 / 整型,和 public int sum(int a,int b) int c; c = a + b; return b; private void button1_Click(object sender, EventArgs e) int c; c=sum(9, 6); System.Windows.Forms.MessageBox.Show(Convert.ToString(c); 92021/3/262.2数据类型

6、值值类类型型类类型型引引用用类类型型简单类型简单类型用户自定义类型用户自定义类型枚举类型枚举类型类类接口接口委托委托数组数组图图2.1 C#的类型系统的类型系统 值类型值类型直接存放真正的数直接存放真正的数据据, ,值类型都有固定的长度值类型都有固定的长度, ,比比如如intint占用占用4 4个字节个字节, ,值类型的值类型的变量保存在栈上。作为值类型变量保存在栈上。作为值类型的变量的变量, ,每个都有自己的数据每个都有自己的数据, ,因此对一个变量的操作不会影因此对一个变量的操作不会影响其它变量。响其它变量。 引用类型引用类型的值放在堆中的值放在堆中, ,在在栈中存放它们在堆上的地址栈中存

7、放它们在堆上的地址, ,这样的地址称为引用。这样的地址称为引用。堆用于堆用于存储可变长度的数据存储可变长度的数据, ,能够自能够自由的插入和删除数据。由的插入和删除数据。102021/3/26存放对象的区域:栈和堆n所有对象的名和一些基本信息:存放栈中;n某些类型的对象的值:存放栈栈中,与基本信息在一起。(值类型)n某些对象的值:存放堆堆中,在栈中存放他们在堆中的地址,这样的地址称为引用引用。当存取这些值时,首先从栈中获取他们的地址,然后再进行存取操作。n栈:先进先出,出栈/入栈在一端进行,是一种简单的数据结构。n堆:存取复杂。n垃圾回收:当对象生命周期结束后,首先该对象在堆中的数据应该不能再

8、被使用,其次该区域应该和其他可利用区域连成一片以备它用。nC#自动内存管理:程序员不许直接分配和释放对象所占的内存空间,系统由垃圾回收器自动地回收堆中的碎片,形成可利用区。112021/3/26值类型和引用类型的区别值类型值类型引用类型引用类型变量中存放变量中存放真正的数据真正的数据指向数据的引用指针指向数据的引用指针内存空间配置内存空间配置栈(栈(StackStack) 受管制的堆(受管制的堆(Managed HeapManaged Heap内存需求内存需求较少较少较多较多执行效率执行效率较快较快较慢较慢内存释放内存释放执行超过定义执行超过定义由垃圾回收机制自动处理由垃圾回收机制自动处理时间

9、点时间点变量的作用域时变量的作用域时可以为可以为nullnull不可以不可以可以可以122021/3/262.2.1 C#的值类型:基本型基本型:包括整型、浮点型、小数型、布尔型,这些类型与其它语言的基本数据类型相似。结构型结构型:适用于创建小型对象。枚举型枚举型:除char类型以外的其它常数组成的列表类型。 132021/3/26基本型(14种)类型类型长度长度(字节数)(字节数).NET类型类型(运行时类型)(运行时类型)说明说明byte1byte无符号字节型无符号字节型sbyte1sbyte有符号字节型有符号字节型short2int16有符号短字节型有符号短字节型ushort2uint1

10、6无符号短字节型无符号短字节型Int4Int32有符号的整型有符号的整型uint4uint32无符号的整型无符号的整型long8Int64有符号的长整型有符号的长整型ulong8uint64无符号的长整型无符号的长整型float4single浮点型浮点型double8double双精度型双精度型decimal16decimal固定精度型固定精度型stringstringUnicode字符串字符串charcharUnicode字符字符boolbooleanBoolean型型142021/3/26例如:Int number=80Long number1=-123Ulong number2=-60F

11、loat sum=3.14fDecimal price=28.56mString s=“Hello”Char value=hChar a=u0032Bool value=true;152021/3/26结构型结构型n用来存放相关联的一类数据用来存放相关联的一类数据,是对同一是对同一类具有某些特定属性和功能的对象的类具有某些特定属性和功能的对象的抽象定义抽象定义。n定义中可以包括定义中可以包括,成员变量、成员函数、成员变量、成员函数、成员属性等。成员属性等。n同同C#中的类类型基本相同。中的类类型基本相同。162021/3/26n结构类型的定义格式与功能【格式】: struct stu 成员声明

12、成员声明; 【功能】:定义一个名为“stu”的结构体,该类型包含的成员由“成员声明”来确定。172021/3/26n举例: struct student public string name; public int age; 实际上程序中使用的不是结构类型,而是结构类型。182021/3/26n声明结构变量的格式和功能:【格式】: 结构类型名结构类型名 结构变量名结构变量名;例例:student stu;/创建名为创建名为stu的结构类型变量。的结构类型变量。192021/3/26在程序中要访问结构类型变量的成员: 结构类型变量名结构类型变量名.成员名成员名; 举例:stu.age=15;/给

13、给stu的的age成员赋值成员赋值15。202021/3/26n结构类型与类类型的区别结构类型与类类型的区别:1)存储值的不同)存储值的不同n 结构类型是结构类型是,而类类型是而类类型是n 结构类型结构类型的变量的变量,系统存储该变量的系统存储该变量的值值。n 类类型类类型的变量的变量,系统存储的是一个系统存储的是一个地址地址,此地此地址指向该变量具体的值址指向该变量具体的值,多了一层寻址。多了一层寻址。212021/3/262)调用函数时)调用函数时,参数传递不同参数传递不同n传送结构变量给函数时传送结构变量给函数时,传送的是此变量的传送的是此变量的值值,在函数内部即使此参数的值被修改在函数

14、内部即使此参数的值被修改,原先原先变量的值也不会受到影响变量的值也不会受到影响;n传送类类型的变量给函数时传送类类型的变量给函数时,传送的是此变传送的是此变量的地址量的地址,此函数内任何对此参数的修改都此函数内任何对此参数的修改都将会在函数调用结束后在原先的变量中反映将会在函数调用结束后在原先的变量中反映出来。出来。222021/3/26class example struct student/定义一个学生结构类型定义一个学生结构类型 public int no; public string name; public int age;public static void Main() stud

15、ent stu; /根据学生结构类型创建变量根据学生结构类型创建变量stu System.Console.Write(请输入学号请输入学号:); stu.no = System.Convert.ToInt32(System. Console.ReadLine(); System. Console.Write(请输入姓名请输入姓名:);/输入姓名输入姓名 = System. Console.ReadLine(); System. Console.Write(请输入年龄请输入年龄:);/输入年龄输入年龄 stu.age = System. Convert.ToInt32(Syst

16、em. Console.ReadLine(); /输出学生的学号、姓名和年龄输出学生的学号、姓名和年龄 System. Console.WriteLine(学号学号:0,姓名姓名:1,年龄年龄:2, stu.no, , stu.age); ClassTest.cs举例举例:编写实现从键盘上输入编写实现从键盘上输入一个学生的学号、姓名和年一个学生的学号、姓名和年龄龄,然后输出刚刚输入的学生然后输出刚刚输入的学生学号、姓名和年龄。学号、姓名和年龄。232021/3/26public class Student1 public string name; public int age;

17、 public struct student public string name; public int age; public void ChangeName(Student1 a) = xxxx; public void ChangeName(student a) =xxxx; private void button1_Click(object sender, EventArgs e) student stu=new student(); = zhang san; ChangeName(stu); MessageBox.Show(stu.nam

18、e); Student1 stu1 = new Student1(); = Li si; ChangeName(stu1); MessageBox.Show(); 值类型和引用类型的比较:242021/3/26枚举型枚举型【格式】:【枚举修饰符】enum 枚举类型名枚举常量1,枚举常量2,枚举常量n;【功能】: 定义一个名为“枚举类型名”的枚举类型。252021/3/26【说明说明】:1)“枚举类型名枚举类型名”和和“枚举常量枚举常量”都是标识都是标识符符,他们均应符合标志符的取名规则。枚举常他们均应符合标志符的取名规则。枚举常量的值依次为量的值依次为0、

19、1、n-1。例例:enum weekday sun, mon, tue, wed, thu, fri, sat;对应的整数分别为对应的整数分别为:0、1、2、3、4、5、6。2)枚举修饰符有五类)枚举修饰符有五类,分别是分别是new、public、protected、internal和和private。262021/3/26C#中规定中规定,在定义枚举型的同时可以给枚举常在定义枚举型的同时可以给枚举常量符初值量符初值,如如: enum weekday sun, mon, tue=8, wed, thu=13, fri, sat;则枚举常量的初值为则枚举常量的初值为: sun=0, mon=1,

20、 tue=8, wed=9, thu=13, fri=14, sat=15。在在C和和C+中中,每个枚举值是不能重复的每个枚举值是不能重复的,但在但在C#中中,赋任意值给枚举常量均是可以的赋任意值给枚举常量均是可以的,并且并且允许两个枚举常量值相同。允许两个枚举常量值相同。如如:enum weekday sun, mon, tue=8, wed, thu=13, fri=8, sat;272021/3/26n一般在程序中使用的是枚举一般在程序中使用的是枚举变量变量,语句格式语句格式如下如下: 枚举类型名枚举类型名 变量名变量名;定义了枚举型变量后定义了枚举型变量后,可以给枚举型变量赋值可以给枚

21、举型变量赋值,需要注意的是需要注意的是:只能给枚举型变量赋枚举常只能给枚举型变量赋枚举常量量,或把相应的整数强制转换为枚举类型再或把相应的整数强制转换为枚举类型再赋值赋值。同样同样,也不可把一个枚举常量不加转换地再赋也不可把一个枚举常量不加转换地再赋给一个整数变量给一个整数变量,必须强制转换为整型后才必须强制转换为整型后才能赋值。能赋值。282021/3/26enum weekday sun, mon, tue=4, wed, thu=15, fri, sat;nweekday day1;nint x;nday1=weekday. thu;nday1=16 nday1=(weekday)16;

22、 nx= weekday.thu nx=(int)weekday.thu正确正确正确正确正确正确错误错误错误错误292021/3/262.4.2引用类型n1、对象类型、对象类型n2、类类型、类类型n3、接口、接口n4、委托、委托n5、字符串类型、字符串类型n6、数组、数组n7、装箱和拆箱、装箱和拆箱302021/3/262.4.2 引用类型5、字符串类型、字符串类型nC#中的字符串类型用于处理多字符数据。中的字符串类型用于处理多字符数据。n字符串字符串string类是预定义类类是预定义类System.String的的缩写。在程序中使用缩写。在程序中使用string或或System.String

23、作用是一样的。作用是一样的。n不能再从它派生类。不能再从它派生类。nstring类产生的实例是一个类产生的实例是一个Unicode字符串。字符串。312021/3/261)规则字符串规则字符串n由双引号括起来的零个或多个字符组成的序列由双引号括起来的零个或多个字符组成的序列;n字符串中可以包含某些转移字符。功能如下字符串中可以包含某些转移字符。功能如下:在在C#中中,字符串分为两类字符串分为两类:规则字符串和逐字字符串规则字符串和逐字字符串。【格式格式】: string str=“Hebut”;【功能功能】: 定义一个名为定义一个名为“str”的规则字符串变量的规则字符串变量,并给该变量并给该

24、变量赋一个由赋一个由“字符串初值字符串初值”确定的初值。确定的初值。【说明说明】: 可以包含如下所示的转义字符序列(以可以包含如下所示的转义字符序列(以“/”开开头)头),除此之外的其他转义字符均不能使用除此之外的其他转义字符均不能使用。322021/3/26转义字符转义字符 含义含义转义字符转义字符 含义含义单引号单引号()nLF(换行换行)”双引号双引号(”)rCR(回车回车)反斜杠反斜杠tHT(横向挑格横向挑格,相当于相当于Tab键键)0空字符空字符u后面跟八进制数后面跟八进制数a警示符警示符U同同ub退格键退格键x表示后面跟十六进制数表示后面跟十六进制数fFF(换页键换页键) vVT(

25、纵向跳格纵向跳格)332021/3/262)逐字字符串)逐字字符串逐字字符串由逐字字符串由字符后跟双引号括起来的零个字符后跟双引号括起来的零个或多个字符组成。或多个字符组成。【格式格式】: string str=”Hebut”;【功能功能】:定义一个名为定义一个名为“str”的逐字字符串的逐字字符串变量变量,并给该变量附一个由并给该变量附一个由“Hebut”确定的确定的初值。初值。【说明说明】:逐字字符串只对字符串中的逐字字符串只对字符串中的双引号双引号转义字符转义字符作为转义字符进行解释作为转义字符进行解释,其他转义其他转义字符一律作为单个字符进行处理字符一律作为单个字符进行处理,用户定义用

26、户定义成什么样成什么样,结果就是什么样。结果就是什么样。 string.cs342021/3/26nusing System;nclass examplenn public static void Main()n n string str1 = 你是你是王三王三?; /“”是转义字符是转义字符n string str2 = 星期一星期一星期二星期二星期三星期三;/是转义字符是转义字符n string str3 = 你好你好!t王三。王三。;/t是转义字符是转义字符n string str4 = 你好你好t王三王三?;/t并不看成转义字符并不看成转义字符,而是看成而是看成两个字符两个字符n st

27、ring str5=星期一星期一星期二星期二星期三星期三;/也不是转义字符也不是转义字符,而是看成两个而是看成两个“”n Console.WriteLine(str1=0,str2=1,str3=2, str1, str2, str3);n Console.WriteLine(str4=0,str5=1, str4, str5);n n352021/3/26string类型的常见操作方法类型的常见操作方法char ch=str10;/访问字符串中的元素string str2=“Hello”+”World”;/字符串的连接if(str1=str2) /字符串的比较362021/3/26n6、数组

28、、数组1)一维数组的定义、分配和使用)一维数组的定义、分配和使用n定义定义【格式格式】: 数据类型符数据类型符 数组名数组名=new 数据类型符数据类型符长度长度;【举例举例】: int a=new int 10;等价等价:int a;/定义数组定义数组 a=new int 10;/给数组分配存储空间给数组分配存储空间 数组分配好后数组分配好后,数组元素被初始化数组元素被初始化:简单数据类简单数据类型被初始化为型被初始化为0,逻辑型被初始化为逻辑型被初始化为false,引用引用类型初始化为类型初始化为null。372021/3/26与与C和和C+不同的是不同的是,C#中的数组的大小可以动中的数

29、组的大小可以动态确定态确定,如如:int AL=6;int a=new int ALn初始化初始化【格式格式】:数据类型符数据类型符 数组名数组名=初值列表初值列表;【举例举例】:Int x=1,2,3,4;也可以写成也可以写成:int x=new int 1,2,3,4;n数组元素的引用数组元素的引用 数组名数组名下标下标382021/3/262)多维数组的定义、分配和使用)多维数组的定义、分配和使用 方形二维数组方形二维数组n定义与分配定义与分配 【格式格式】: 数据类型符数据类型符,数组名数组名=new 数据类型符数据类型符长度长度1,长度长度2; 【举例举例】: int , a=new

30、 int 3,4;等价于等价于:int ,a; a=new int 3,4;0 0 0 00 0 0 0 0 0 0 0a392021/3/26n赋初值赋初值【格式格式】:数据类型符数据类型符, 数组名数组名=初值列表初值列表1,初值列表初值列表2,初值列表初值列表n;【举例举例】:Int ,b=1,2,3,4,5,6,7,8,9,10,11,12;等价于等价于:int ,b=new int3,41,2,3,4,5,6,7,8,9,10,11,12;n元素引用元素引用数组名数组名下标下标1,下标下标2;1 2 3 45 6 7 89 10 11 12bInt i=b1,2 /i=7402021

31、/3/26参差数组参差数组与与C和和C+不同的是不同的是,在在C#中中,二维数组的每一二维数组的每一行的长度可以是不同的行的长度可以是不同的,每一行的元素个数每一行的元素个数均可以由用户指定。每一行相当于一个一均可以由用户指定。每一行相当于一个一维数组。维数组。参差数组参差数组的定义一般分为两步的定义一般分为两步,首先定义行数首先定义行数并分配行并分配行,然后定义每一行数组并分配空间。然后定义每一行数组并分配空间。412021/3/26n分配行分配行【格式格式】:数据类型符数据类型符 数组名数组名=new 数据类型符数据类型符行行数数 ;【举例举例】: int b=new int 3 ;n各行

32、数组元素个数的分配各行数组元素个数的分配【格式格式】: 数组名数组名i=new 数据类型符数据类型符长度长度;【功能功能】:为参差数组的为参差数组的i行分配数组元素个数行分配数组元素个数,元素个数由元素个数由“长度长度”指定。指定。422021/3/26【举例】:Int b=new int 3 ;/定义具有定义具有3行的参差数组行的参差数组bb0=new int 2;/首行具有首行具有2个元素个元素b1=new int 3; /第二行具有第二行具有3个元素个元素b2=new int 4; /第三行具有第三行具有4个元素个元素n元素引用元素引用 数组名数组名下标下标1下标下标20 00 0 0

33、0 0 0 0b432021/3/262.4.3 数据类型转换nC#中两种类型的转换:隐式转换和显式转换隐式转换和显式转换。1)隐式类型转换时,可以进行隐式转换,否则可能必须作显示转换。 Int ival=34; long lval=ival;442021/3/262)显示转换n使用使用目的类型转换法目的类型转换法转换到目的类型的对象转换到目的类型的对象:string str1=“123”;int int1=Int32.Parse(str1);n使用使用源类型转换方法源类型转换方法转换到目的类型的对象转换到目的类型的对象: int int1=123; string str1=int1.ToSt

34、ring();n使用强制类型转换将源类型的对象转换成为目的类型的对使用强制类型转换将源类型的对象转换成为目的类型的对象象: int int1=123;short sot1=(short)int1;n使用使用Convert类的方法作显示转换类的方法作显示转换 string str1=“123”;int int1=Convert.ToInt32(str1); int int1=123; string str1=Convert.ToString(int1); int int1=123;short sot1=Convert.ToInt16(int1);452021/3/262.5 常量和变量n变量的声

35、明方法变量的声明方法: 数据类型数据类型 变量名变量名, int a=50; float b,c,d; string s; object stu;462021/3/262.5 常量和变量n常量的声明方法常量的声明方法: const 数据类型数据类型 常量名常量名=常量值常量值; const int MAX=100;472021/3/262.6 运算符类别类别运算符运算符基本基本x.y f(x) ax x+ x new typeof checked unchecked一元一元+ - ! +x -x (T)x乘除法乘除法* / %加减法加减法+ -移位移位 (i2)关系和类型检测关系和类型检测 =

36、 is as相等相等= !=逻辑逻辑AND &逻辑逻辑OXR逻辑逻辑 OR|条件条件 AND&条件条件 OR|条件条件?:赋值赋值= *= /= %= += - = = &= = |=482021/3/262.7 控制语句n1、条件语句1)if语句语句 2)else-if 语句语句If(条件表达式)(条件表达式) if(条件表达式)(条件表达式) 语句语句1; 语句语句1;else else if(条件表达式条件表达式) 语句语句2; 语句语句2; else if (条件表达式条件表达式) 语句语句3; else 语句语句n;492021/3/26例2-1/statem

37、ents_if_else2.cs/else_ifusing System;public class IfTest public static void Main() Console.Write(Enter a character:); char c = (char)Console.Read( ); e2_1.cs502021/3/26if (Char.IsUpper(c) /指示指定的指示指定的 Unicode 字符是否属于大写字母类别字符是否属于大写字母类别 Console.WriteLine(The character is uppercase.); else if (Char.IsLow

38、er(c) Console.WriteLine(The character is lowercase.); else if (Char.IsDigit(c) Console.WriteLine(The character is a number.); else Console.WriteLine(The character is not alphanumeric.); 512021/3/263)条件运算符条件运算符 条件条件?语句语句1:语句语句2 AB?MAX=A:MAX=B等价于等价于: if(条件)(条件) 语句语句1; else 语句语句2;2.7 控制语句522021/3/262.7

39、 控制语句4)switch 语句语句switch(条件条件) case 常量表达式常量表达式1; 语句语句1; break; case 常量表达式常量表达式2; 语句语句2; break; default: 语句语句n; break;条件条件:为一个整型或字符串表达式。为一个整型或字符串表达式。语句语句:为控制传递个为控制传递个case或或default时执行的嵌入语句。时执行的嵌入语句。常量表达式常量表达式:为根据此表达式的值将为根据此表达式的值将控制传递给特定的控制传递给特定的case。例例2-1 e2_2.cs532021/3/26 Console.WriteLine(Coffee si

40、zes:1=Small 2=Medium 3=Large); Console.Write(Please enter your selection:); string s=Console.ReadLine(); int n=int.Parse(s);将字符串类型转换成将字符串类型转换成 int类型类型 int cost=0; 542021/3/26switch(n) case 1: cost+=25; break; case 2: cost+=25; goto case 1; case 3: cost+=50; goto case 1; default: Console.WriteLine(In

41、valid selection. Please select 1,2 or 3); break; if (cost!=0) Console.WriteLine(Please insert 0 cents.,cost); Console.WriteLine(Thank you for your business.);552021/3/262.7 控制语句n2 2、循环语句、循环语句1 1)for for 语句语句for for 语句的形式语句的形式: :for (for (初始化条件表达式初始化条件表达式 ; ; 表达式表达式11; ; 表达式表达式2)2)语句语句; ;“初始化条件表达式初始化条件表达式”: :为初始化循环计数器的表达为初始化循环计数器的表达式或赋值语句的逗号分隔列表。式或赋值语句的逗号分隔列表。“表达式表达式1 1”: :为一个表达式为一个表达式, ,可隐式转换为可隐式转换为boolbool或包或包含重载含重载truetrue和和falsefalse运算符的类型。此表达式用于运算符的类型。此表达式用于测试循环终止条件。测试循环终止条件。“表达式表达式2 2”: :为递增或递减

温馨提示

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

评论

0/150

提交评论