




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络协议编程实验指导书九江学院信息科学与技术学院网络技术教研室二0一二年一月目录实验一、C#编程环境应用实验二、C#编程基础(一) 实验三、C#编程基础(二)实验四、C#面向对象编程基础实验五、常用数据类的应用实验六、Windows程序设计实例实验七、网络编程基础实例实验八、多线程程序设计实验九、TCP编程实例实验十、UDP编程实例实验十一、FTP客户端设计实验十二、FTP服务器端设计实验十三、基于Socket类的服务器编程实验十四、基于TcpListener类的服务器编程实验十五、基于HTTP的编程实例实验十六、综合实例实验项目名称和学时分配序号实验项目名称学时分配实验类型每组人数必做/选做1C#编程环境应用2演示性1必做2C#编程基础(一)2演示性1必做3C#编程基础(二)2演示性1必做4C#面向对象编程基础2演示性1必做5常用数据类的应用2演示性1必做6Windows程序设计实例2演示性1必做7网络编程基础实例2演示性1必做8多线程程序设计2演示性1必做9TCP编程实例2演示性1必做10UDP编程实例2演示性1必做11FTP客户端设计2设计性1必做12FTP服务器端设计2设计性1必做13基于Socket类的服务器编程2演示性1必做14基于TcpListener类的服务器编程2演示性1必做15基于HTTP的编程实例2演示性1必做16综合实例2设计性1必做实验一、C#编程环境应用实验目的:1、了解C#应用程序的本结构。2、熟悉C#应用程序的编译和运行过程。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、创建控制台应用程序的操作过程1)启动VS.NET集成开发环境;2)选择“文件”菜单,在模版栏中选择“控制台应用程序”;3)编写代码;4)调试程序。5)参考代码:/WelcomeToCS.csusing System;class WelcomeToCS static void Main() Console.WriteLine(Welcome to C#!); 2、创建Windows应用程序的操作过程1)启动VS.NET集成开发环境;2)选择“文件”菜单,在模版栏中选择“Windows应用程序”;3)编写代码;4)调试程序。5)参考代码(略)。注意:1. VS.NET集成开发环境。2. 程序的编译、调试方法。实验二、C#编程基础(一)实验目的:1、掌握C#的数据类型和类型转换;2、了解常量的作用,掌握常量与变量的定义;3、掌握C#运算符的用途和表达式的写法,熟悉调试程序的方法。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、求三个整数的最大值1)声明int 型变量a、b、c,用于保存三个待求整数。2)声明 int 型变量max,用于保存最大值。3)声明 string 型变量 str,用于表示一串字符。4)分别向屏目输出提示信息,提示用户输入三个整数,将用户输入的字符串保存在变量str中,并在将str中的数据转换成int型数据后分别赋值给变量a、b、c。5)使用条件运算符和关系运算符求出变量a和b中的大者,并赋值给变量max。6)使用条件运算符和关系运算符求出变量max和c中的大者,并赋值给变量max。7)输出变量 max的值。8)调试运行程序。9)参考代码:using System;class Test2_1static void Main()int a,b,c;int max;string str;Console.Write(请输入第一个数: );str=Console.ReadLine();a=Int32.Parse(str);Console.Write(请输入第二个数: );str=Console.ReadLine();b=Int32.Parse(str);Console.Write(请输入第三个数: );str=Console.ReadLine();c=Int32.Parse(str);/计算机已经按收了这三个数,然后比较三个数的大小. max=(ab)?a:b; max=(maxc)?max:c; Console.WriteLine(最大值是0,max);2、自定义数据类型1) 定义枚举类型MonthOfYear,用于描述一年中的12个月。2) 定义结构类型Date,用于描述日期,结构类型Date中包含三个公共字段。其中,string型字段Year用于表示年份,MonthOfYear型字段Month用于表示月份,string型字段Day用于表示天数。3) 定义一个含有Main()方法的类。4) 在Main方法中,首先声明两个Date变量date1,date2。5) 分别给变量date1的字段赋值。6) 输出变量date1各字段的值。7) 将变量date1的值赋给变量2,然后,修改变量date2的Day字段值。8) 输出变量date2各字段的值。9) 调试运行程序。10) 参考代码using System;class Test2_2enum MonthOfYear一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月struct Datepublic string Year;public MonthOfYear Month;public string Day;static void Main()Date date1,date2;date1.Year=二零零九年;date1.Month=MonthOfYear.三月;date1.Day=二号;Console.WriteLine(012,date1.Year,date1.Month,date1.Day);date2=date1;date2.Day=三十一号;Console.WriteLine(012,date2.Year,date2.Month,date2.Day);注意:1、算法的设计。2、程序的编译、调试方法。实验三、C#编程基础(二)实验目的:1、 掌握if、while、for等常用语句的使用方法。2、 掌握语句的嵌套使用。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、对用户输入的三个整数按序输出1) 声明int型变量a、b、c,用于保存用户输入的三个整数。2) 声明int型变量t,在交换变量a、b、c的值时,用于临时保存其中的某个值。3) 从键盘读入三个整数,分别保存在变量a、b、c中。4) 使用if语句将变量a、b、c中的最大值赋给变量c,最小值赋给变量a,中间值赋给变量b。5) 按从小到大的顺序依次输出变量a、b、c的值。6) 调试运行程序。7) 参考代码:using System;class Test3_1static void Main()int a,b,c,t;Console.Write(请输入第一个整数:);a=Int32.Parse(Console.ReadLine();Console.Write(请输入第二个整数:);b=Int32.Parse(Console.ReadLine();Console.Write(请输入第三个整数:); c=Int32.Parse(Console.ReadLine(); if(ab) t=a; a=b; b=t; if(bc) t=c; c=b; if(ta) b=t; else b=a; a=t; Console.WriteLine(从小到大的顺序依次为:0,1,2,a,b,c);2、简单计算器1) 声明int型变量firstNumber和secondNumber,用于保存操作数。2) 声明string型变量operation,用于保存运算符。3) 声明string型变量response,用于保存用户输入的决定是否继续运算的字符。4) 声明do-while语句读入运算符和操作数,在该循环中用switch语句执行相应运算,并输出运算结果。5) 在do-while语句中提示用户输入相应的字符决定是否断续运算,并根据输入字符决定是否结束do-while语句的运行。6) 调试运行程序。7) 参考代码using System;class test3_2static void Main()/声明两个输入的操作数。int firstNumber,secondNumber;/声明一个字符串类型来定义运算符。string operation;/来判断是否继续运算。string response;doConsole.Write(请输入运算符(+、-、*、/):);operation=Console.ReadLine();Console.Write(请输入第一个操作数:);/接收输入的操作数并转换成整形。firstNumber=Int32.Parse(Console.ReadLine();Console.Write(请输入第二个操作数:);secondNumber=Int32.Parse(Console.ReadLine();switch(operation)case+: Console.WriteLine(0+1=2,firstNumber,secondNumber,firstNumber+secondNumber);break; case-: Console.WriteLine(0-1=2,firstNumber,secondNumber,firstNumber-secondNumber); break;case*: Console.WriteLine(0*1=2,firstNumber,secondNumber,firstNumber* secondNumber);break;case/: Console.WriteLine(0/1=2,firstNumber,secondNumber,firstNumber/secondNumber); break;default: Console.WriteLine(运算符不合法); break;Console.Write(是否继续进行运算(Y/N););response=Console.ReadLine();while(response!=Y&response!=y&response!=N&response!=n)Console.WriteLine(输入错误!);Console.Write(是否继续进行运算(Y/N):);response=Console.ReadLine();while(response=Y|response=y);2、求指定范围内的所有合数1)声明int型变量min、max,并分别初始化为10和100;2)声明int型变量num,用于保存合数的个数,初始化为0。3)嵌套使用for语句,顺序判断10100中的每个整数,如果某个整数是合数,则输出该数,并将变量num加1。4) 调试运行程序。5) 参考代码using System;class Test3_3static void Main()int min=10,max=100;int num=0;Console.WriteLine(0到1之间的合数有:,min,max);for(int i=min;i=max;i+)/for(int j=2;ji;j+) for(int j=2;ji/2;j+)if(i%j=0)num+;Console.Write( 0,i);/让结果每行显示10个合数。if(num%10=0)Console.WriteLine();break;Console.WriteLine();Console.WriteLine(总共有0个合数,num);注意:1、算法的设计。2、程序调试方法。实验四、C#面向对象编程基础实验目的:1) 熟悉类的定义和使用。2) 掌握创建对象的方法。3) 掌握关键字this。4) 理解组合与继承的概念,掌握组合与继承的语法。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、类与对象1) 定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、price(价格)等字段。2) 为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数初始化时,价格取0,除书号的其他信息取“未知”。3) 为Book类定义方法Show,Show方法用于显示图书的所有信息。4) 编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象5) 调试运行程序。6) 参考代码:using System;class Bookprivate readonly string isbn; /书号private string title; /标题private string author; /作者private string press; /出版社private int price; /价格public Book()this.isbn=”未知”;this.title=”未知”;this.author=”未知”;this.press=”未知”;this.price=0;public Book(string isbn,string title,string author,string press,int price)this.isbn=isbn;this.title=title;this.author=author;this.press=press;this.price=price;public void Show()Console.WriteLine(书号: 0,isbn);Console.WriteLine(标题: 0,title);Console.WriteLine(作者: 0,author);Console.WriteLine(出版社:0,press);Console.WriteLine(价格: 0,price);class Test5_1static void Main()Book book1=new Book();book1.Show();Console.WriteLine();book1.Title=C#程序设计(C#2.0版);book1.Author=刘慧宁;book1.Press=机械工业出版社;book1.Price=32;book1.Show();Console.WriteLine();book1=new Book(978-7-302-15800-4,Java程序设计,温秀梅,清华大学出版社,29);book1.Show();2、简单几何图像描述1)定义student类,类中包含学号、姓名、班级、语文成绩、数学成绩、英语成绩字段,包含输出学生信息方法,计算总成绩方法。2) 定义Main方法测试上面定义的类和方法。3) 调试运行程序。4) 参考代码注意:1、类的定义和使用。2、对象的属性、方法。实验五、常用数据类的应用实验目的:1、熟练掌握String类和StringBuilder类的定义和应用;2、熟悉集合ArrayList类的定义和应用。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、String类的应用(1)判断是否包含子串 想要判断一个字符串中是否包含某个子串,可以用Contains方法来实现:public bool Contains (string value)(2)定位字符和子串在String类中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny。IndexOf/LastIndexOfIndexOf方法用于搜索在一个字符串中,某个特定的字符或者子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的重载形式如下所示。定位字符:int IndexOf(char value)int IndexOf(char value, int startIndex)int IndexOf(char value, int startIndex, int count)定位子串:int IndexOf(string value)int IndexOf(string value, int startIndex)int IndexOf(string value, int startIndex, int count)在上述重载形式中,其参数含义如下:value:待定位的字符或者子串。startIndex:在总串中开始搜索的起始位置。count:在总串中从起始位置开始搜索的字符数。下面的代码在“Hello”中寻找字符l第一次出现的位置。例:使用IndexOf寻找字符第一次出现位置:String s=”Hello”;int I = s.IndexOf(l); /2同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或者子串最后一次出现的位置,其方法定义和返回值都与IndexOf相同,不再赘述。IndexOfAny/LastIndexOfAnyIndexOfAny方法功能同IndexOf类似,区别在于,它可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。同样,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的IndexOfAny重载形式有3种:int IndexOfAny(charanyOf);int IndexOfAny(charanyOf, int startIndex);int IndexOfAny(charanyOf, int startIndex, int count)。在上述重载形式中,其参数含义如下:(1)anyOf:待定位的字符数组,方法将返回这个数组中任意一个字符第一次出现的位置。(2)startIndex:在原字符串中开始搜索的起始位置。(3)count:在原字符串中从起始位置开始搜索的字符数。下例在“Hello”中寻找字符l第一次和最后一次出现的位置。例:使用IndexOfAny寻找子串第一次和最后一次出现位置:String s = “Hello”;char anyOf=H,e,l;int i1 = s.IndexOfAny(anyOf); /0int i2 = s.LastIndexOfAny(anyOf); /3同IndexOfAny类似,LastIndexOfAny用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。(3)格式化字符串Format方法用于创建格式化的字符串及连接多个字符串对象。如果读者熟悉C语言中的sprintf()方法,可以了解两者有类似之处。Format方法也有多个重载形式,最常用的为:static string Format(string format, params object args);其中,参数format用于指定返回字符串的格式,而args为一系列变量参数。可以通过下面的实例来掌握其使用方法。使用Format设置字符串格式:/FormatString newStr=String.Format(0,1!,strA,strB); /Hello,World!在format参数中包含一些用大括号扩起来的数字,如0、1,这些数字分别一一对应于args参数数组中的变量。在生成结果字符串时,将使用这些变量代替i。需要说明的是,这些变量并不要求必须为String类型。(4)连接字符串String类包含了两个连接字符串的静态方法,它们是Concat和Join,下面分别进行介绍。1Concat方法Concat方法用于连接两个或多个字符串。如果读者熟悉C语言中的strcat()方法,可以了解两者有类似之处。Concat方法也有多个重载形式,最常用的为:static string Concat(params stringvalues);其中,参数values用于指定所要连接的多个字符串,可以通过下面的实例来掌握其使用方法。使用Concat连接字符串:1. /Concat2. newStr=;3. newStr=String.Concat(strA, ,strB);4. Console.WriteLine(newStr); /Hello World2Join方法Join方法利用一个字符数组和一个分隔符串构造新的字符串。它常常用于把多个字符串连接在一起,并用一个特殊的符号来分隔开。Join的常用形式为:static string Join(string separator, stringvalue);其中,参数separator 为指定的分隔符,而values用于指定所要连接的多个字符串数组,下例用“”分隔符把“Hello”和“World”连起来。使用Join连接字符串:/JoinnewStr=;String strArr=strA,strB;newStr=String.Join(,strArr);Console.WriteLine(newStr); /HelloWorld3连接运算符“+”String支持连接运算符“+”,可以方便的连接多个字符串,如下例把“Hello”和“World”连接起来。使用“+”连接字符串:/使用+newStr=;newStr=strA+strB; /HelloWorld(5)拆分字符串使用Join方法,可以利用一个分隔符把多个字符串连接起来。反过来,使用Split方法可以把一个整串,按照某个分隔字符或者字符串,拆分成一系列小的字符串。例如,把整串“HelloWorld”按照字符“”进行拆分,可以得到3个小的字符串:“Hello”、“”(空串)和“World”;根据字符串“”,则可以得到两个小的字符串:“Hello”和“World”。1根据字符拆分根据字符拆分的Split重载方法是:public stringSplit(params charseparator);其中,参数separator数组包含分隔符。下例把“HelloWorld”根据“”进行拆分。根据字符分裂分隔符字符串:/SplitnewStr=HelloWorld;char separator=;String splitStrings=new String100;splitStrings=newStr.Split(separator);int i=0;while(isplitStrings.Length)Console.WriteLine(splitStringsi)i+;输出结果为:HelloWorld2根据字符串拆分根据字符拆分的Split重载方法是:public stringSplit(string separator,StringSplitOptions options)其中,参数separator数组是分隔字符串数组;参数options取值RemoveEmptyEntries时,将过滤空的数组元素,若取值one则返回。下例把“HelloWorld”根据“”进行拆分。根据字符串分裂分隔符字符串:/splitString separator = new string strB.Text ;String splitStrings=new String100;splitStrings=newStr.Split(separator,StringSplitOptions.None);int i=0;while(isplitStrings.Length)Page.Response.Write(splitStringsi + );i+;输出结果为:HelloWorld(6)插入字符串String类包含了在一个字符串中插入新元素的方法Insert,用于在字符串的任意位置插入任意的字符:public string Insert(int startIndex, string value);其中,参数startIndex用于指定所要插入的位置,从0开始索引;value指定所要插入的字符串。下例中,在“Hello”的字符“H”后面插入“World”,构造一个串“HWorldello”。例:使用Insert插入字符串:/InsertnewStr=;newStr=strA.Insert(1,strB); /HWorldello(7)填充字符串有时候,可能需要对一个字符串进行填充,例如,想要把“Hello”变为长度为20个字符的串,并使用字符“*”进行填充,即变为“*Hello”。PadLeft方法可以实现这个功能,用于在一个字符串的左侧进行字符填充,使其达到一定的长度。PadLeft有两种重载形式:public string PadLeft(int totalWidth);public string PadLeft(int totalWidth, char paddingChar);其中,参数totalWidth指定了填充后的字符长度,而paddingChar指定所要填充的字符,如果默认,则填充空格符号。下例中,实现了对“Hello”的填充操作,使其长度变为20。使用PadLeft填充字符串:Default.aspx.cs/PadLeftnewStr=;newStr=strA.PadLeft(20,*); /*Hello 同PadLeft类似,PadRight可以实现对一个字符在其右侧的填充功能,对其不作赘述。(8)删除字符串String类包含了删除一个字符串的方法,可以用Remove方法在任意位置删除任意长度的字符,也可以使用Trim/TrimEnd/TrimStart方法剪切掉字符串中的一些特定字符。1Remove方法Remove方法从一个字符串的制定位置开始,删除指定数量的字符。最常用的为:public string Remove( int startIndex, int count);其中,参数startIndex用于指定所要开始删除的位置,从0开始索引;count指定所要删除的字符数量。下例中,把“Hello”中的“ell”删掉。使用Remove删除字符串:/RemovenewStr=;newStr=strA.Remove(1,3); /Ho2Trim/TrimStart/TrimEnd方法若想把一个字符串首尾处的一些特殊字符剪切掉,如去掉一个字符串首尾的空格等,可以使用String的Trim方法。其形式为:public string Trim ();public string Trim (params chartrimChars);其中,参数trimChars数组包含了指定了所要去掉的字符,如果默认,则删除空格符号。下例中,实现了对“Hello# $”的净化,去掉首尾的特殊符号。使用Trim去掉首尾的特殊符号:Default.aspx.cs/TrimnewStr=;char trimChars=,#,$, ;String strC=Hello# $;catorldnewStr=strC.Trim(trimChars); /Hello另外,同Trim类似,TrimStart和TrimEnd分别剪切掉一个字符串开头和结尾处的特殊字符。(9)复制字符串String类包含了复制字符串方法Copy和CopyTo,可以完成对一个字符串及其一部分的复制操作。1Copy方法若想把一个字符串复制到另一个字符串中,可以使用String的静态方法Copy来实现,其形式为:static string Copy(string str);其中,参数str为需要复制的源字符串,方法返回目标字符串。下例中,把TextBoxA种的字符串复制到newStr中。使用Copy复制字符串:/CopynewStr=;newStr=String.Copy(strA); /Hello2CopyTo方法CopyTo方法可以实现Copy同样的功能,但功能更为丰富,可以复制源字符串中的一部分到一个字符数组中。另外,CopyTo不是静态方法,其形式为: public void CopyTo(int sourceIndex, char destination, int destinationIndex, int count);其中,参数sourceIndex为需要复制的字符起始位置,destination为目标字符数组,destinationIndex制定目标数组中的开始存放位置,而count指定所要复制的字符个数。下例中,把strA字符串“Hello”中的“ell”复制到newCharArr中,并在newCharArr中从第2个元素开始存放。使用CopyTo复制字符串:Default.aspx.cs/CopyTochar newCharArr=new char100;strA.CopyTo(2,newCharArr,0,3); /Hel(10)替换字符串如果想要替换掉一个字符串中的某些特定字符或者某个子串,可以使用Replace方法来实现,其形式为:public string Replace(char oldChar, char newChar);public string Replace(string oldValue, string oldValue,);其中,参数oldChar和oldValue为待替换的字符和子串,而newChar和newValue为替换后的新字符和新子串。下例把“Hello”通过替换变为“Hero”。使用Replace替换字符串:Default.aspx.cs/ReplacenewStr=strA.Replace(ll,r); /Hero(11)更改大小写String提供了方便转换字符串中所有字符大小写的方法ToUpper和ToLower。这两个方法没有输入参数,使用也非常简单。下例首先把“Hello”转换为“HELLO”,然后在变为小写形式“hello”。使用ToUpper更改字符串大小写:Default.aspx.cs/ToUppernewStr=strA.ToUpper(); /HELLO/ToLowernewStr=strA.ToLower(); /hello注意:1、文件类的常见操作。2、相关类的常用方法。实验六、Windows程序设计实例实验目的:1、掌握IO流的定义和应用;2、掌握文件的基本操作方法;3、掌握Windows程序设计方法。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、常用控件的使用1)Label标签控件的使用;2)文本框控件的使用;3)列表框控件的使用;4)容器控件的使用;5)对话框控件的使用。6)菜单的设计与编程2、Windows程序设计实例1)窗体之间的链接案例(参见84页案例)。2)常用控件使用案例,编程完成如同所示功能(参见课本86页)。3)容器控件使用案例(参见课本90-93页)。注意:1、常用控件的使用方法。2、常用控件的常用属性和方法。实验七、网络编程基础实例实验目的:1、 理解TCP/IP协议参考模型;2、 熟练掌握网络编程的基本方法。实验设备: 计算机实验所需软件:Visual Studio 2008实验步骤:1、通过Socket对象建立客户机与服务器的连接。2、客户端向服务器发送信息。3、服务器收到后将信息显示出来并向客户机返回确认信息。4、客户机收到服务器的确认信息后,显示相关信息。详细流程如下图:5、预期效果图6、参考代码/server端using System;using System.Text;using System.IO;using System.Net;using System.Net.Sockets;namespace Project1 class Class2 static void Main() try int port = 2000; string host = 38; IPAddress ip = IPAddress.Parse(host); IPEndPoint ipe = new IPEndPoint(ip, port); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);/创建一个Socket类 s.Bind(ipe);/绑定2000端口 s.Listen(0);/开始监听 Console.WriteLine(Wait for connect); Socket temp = s.Accept();/为新建连接创建新的Socket。 Console.WriteLine(Get a connect); string recvStr = ; byte recvBytes = new byte1024; int bytes; bytes = temp.Receive(recvBytes, recvBytes.Length, 0);/从客户端接受信息 recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes); Console.WriteLine(Server Get Message:0, recvStr);/把客户端传来的信息显示出来 string sendStr = Ok!Client Send Message Sucessful!; byte bs = Encoding.ASCII.GetBytes(sendStr); temp.Send(bs, bs.Length, 0);/返回客户端成功信息 temp.Close(); s.Close(); catch (ArgumentNullException e) Console.WriteLine(ArgumentNullException: 0, e); catch (SocketException e) Console.WriteLine(SocketException: 0, e); Console.WriteLine(Press Enter to Exit); Console.R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年交警汽车考试题及答案
- 2025年国家开放大学(电大)《公共行政学》考试复习题库及答案
- 法制教育议题式教学课件
- 车辆生产基础知识培训课件
- 网络购物流程教学课件
- 特种设备应急培训知识课件
- 半导体设备热场优化工艺考核试卷及答案
- 河湖整治生态排水加固工考核试卷及答案
- 食醋醋酸发酵技术改造工艺考核试卷及答案
- 贵金属轧延工艺风险监控工艺考核试卷及答案
- 项目的运营规划
- 电子烟设计技术讲解课件
- 输电线路缺陷课件
- 保险核保岗位招聘笔试题与参考答案(某世界500强集团)2025年
- 《品类管理》教材正文
- 高职高考英语词汇表
- 必刷题2024七年级数学下册数据分析专项专题训练(含答案)
- GB/T 4706.19-2024家用和类似用途电器的安全第19部分:液体加热器的特殊要求
- 12D401-3 爆炸危险环境电气线路和电气设备安装
- DL∕T 796-2012 风力发电场安全规程
- DL∕ T 799.1-2010 电力行业劳动环境监测技术规范 第1部分:总则
评论
0/150
提交评论