




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#程序设计实验指导实验一 熟悉C#的编辑和编译环境【实验目的与要求】l 熟悉Visual Studio.NET集成开发环境(IDE)l 熟悉C#源程序语言的编辑、编译和运行过程l 能够创建、编译和执行一个简单的C#程序【实验内容与步骤】1、 练习使用C#编写第一个控制台应用程序示例(1)using System;class HelloWordpublic static void Main()/在控制台出“Hello,这是我的第一个C#程序”System.Console.WriteLine(“Hello,这是我的第一个C#程序”);保存文件为D:myCsHelloWord.cs选择开始程序Mi
2、crosoft Visual Studio.Net.Net工具命令提示,打开命令提示窗口。如下图所示:运行CSC/?,可以看到编译器的各种相关命令参数。执行CSC D:mycsHelloWord.cs2、 练习使用C#编写第一个Windows应用程序using System;using System.Windows.Forms;namespace sample4 public class WinApp2:Form TextBox txtTest; public static void Main() Application.Run(new WinApp2(); public WinApp2()
3、Form myfrm=new Form(); txtTest=new TextBox(); txtTest.Size=new System.Drawing.Size(50,20); txtTest.Location=new System.Drawing.Point(20,20); Button btnOk=new Button(); btnOk.Size=new System.Drawing.Size(50,20); btnOk.Location=new System.Drawing.Point(80,20); btnOk.Text=Click Me; btnOk.Click+=new Sys
4、tem.EventHandler(btnClick); this.Controls.Add(txtTest); this.Controls.Add(btnOk); void btnClick(object sender,System.EventArgs e) string userInput; userInput=txtTest.Text; MessageBox.Show(userInput); 输入以上代码,并保存文件为:TestWinApp.cs使用: csc /target:winexe D:mycsTestWinApp.cs进行编译,将其编译为Windows应用程序,然后执行该可执行文
5、件。 3、 练习使用.NET下C#和VB.NET语言的互操作(1) 编写以下VB.NET程序NameSpace VBMethod public class MyVB public Function Add(ByVal a as integer, ByVal b as integer) as Integer Add=a+b End Function end classEnd NameSpace将该程序保存为:VBAdd.VB,然后在命令行用VBC命令将该文件编译成一个动态链接库文件:VBC /target:library vbadd.vb(2) 编写以下C#调用程序using System; u
6、sing VBMethod; /使用Using关键字引入前面定义的用户命名空间namespace CallVB /定义一个新的用户命名空间 public class TestCallAdd /定义用户类 public static void Main() MyVB MyAdd=new MyVB(); int sum=MyAdd.Add(32,21); Console.WriteLine(32+21=+sum.ToString(); 将文件保存为:CallVb.cs,然后在命令行按以下格式进行编译:csc /reference:VBAdd.dll CallVB.cs运行编译后的可执行文件,看看能
7、否用C#程序调用VB编写的类方法。(3) 用ILDasm.exe程序,反汇编 VBAdd.dll和CallVB.exe,看看有什么差异。4、调试并运行下列程序(1)using System;class OrdLengthpublic static void main(String args)Console.Write (“显示自变量的个数”);Console.WriteLine(“命令行中自变量的个数是:0”,args.Length);(2)class wayReadpublic static void Main()Console.Write(May I get your name?_);St
8、ring s=Console.ReadLine();Console.WriteLine(Nice to meet you, o,S);Console.Write(Are you male or female?_(M/F);char i=(char)Console.Read();if (i=M| i=m)Console.WriteLine(You are boy, arent you?);else if (i=F| i=f)Console.WriteLine(“You are Girl, arent you?”);elseConsole.WriteLine(I am sorry, I think
9、 you made a wrong choice!);(3)编写一个应用程序,输入一个圆的半径,打印该圆的直径、周长和面积。使用下面的公式(R是半径,直径=2R,周长等于2R,面积等于R2)(4) 编写一个应用程序,输入一个五位数,把这五个数分成单独的阿拉伯数字,并且把这五个数字用四个空格彼此分开逆序输出。例如用户输入31245,则输出5 4 2 1 3。(5) 任意输入一个正整数,请分别取出该整型数内存中各字节上的二进制数并将其转换为十进制输出。运行结果如下图所示。实验二 熟悉C#的基本语言与语法规则【实验目的与要求】l 掌握分支结构语句的语法书写格式l 掌握循环结构语句的语法书写格式l 综
10、合利用各种结构语句完成特定的任务【实验内容与步骤】一、 分支结构语句1.1 if 语句if 语句根据布尔表达式的值选择要执行的语句。 if 语句: if (布尔表达式1) if (布尔表达式2) (语句组1)else if (布尔表达式3) (语句组2)else(语句组3)示例1:根据输入的学生成绩,显示相应的等级:优,良,中,差,及格和不及格。using System;class StuGradepublic static void Main()int score;string grade;Console.Write(请输入学生的确学习成绩);score=Int32.Parse(Consol
11、e.ReadLine();if (score=90)grade=优秀!;else if (score=80)grade=良好!;else if (score=70)grade=中等!;else if (score60)grade=及格!;elsegrade=不及格!;Console.WriteLine (该学生的确学习成绩等级为:0,grade); 1.2 switch 语句switch 语句选择要执行的语句列表,此列表具有一个对应于 switch 表达式的值的相关联的 switch 标签。 switch 语句: switch ( 表达式 ) switch 块 switch 块: switch
12、 节可选 switch 节: switch 节switch 节 switch 节 switch 节: switch 标签 语句列表 switch 标签: switch 标签switch 标签 switch 标签 switch 标签: case 常数表达式 :default : switch 语句包含关键字 switch,后跟带括号的表达式(称为 switch 表达式),然后是一个 switch 块。switch 块包含零个或多个括在大括号内的 switch 节。每个 switch 节包含一个或多个 switch 标签,后跟一个语句列表。switch 语句的主导类型由 switch 表达式建立。
13、如果 switch 表达式的类型为 sbyte、byte、short、ushort、int、uint、long、ulong、char、string 或枚举类型,那么这就是 switch 语句的主导类型。否则,必须有且只有一个用户定义的从 switch 表达式的类型到下列某个可能的主导类型的隐式转换:sbyte、byte、short、ushort、int、uint、long、ulong、char、string。如果不存在这样的隐式转换,或者存在一个以上这样的隐式转换,将发生编译时错误。每个 case 标签的常数表达式必须表示可以隐式转换为 switch 语句的主导类型的类型的值。如果同一 swi
14、tch 语句中的两个或更多个 case 标签指定同一个常数值,将发生编译时错误。一个 switch 语句中最多只能有一个 default 标签。switch 语句的执行方式如下: 计算 switch 表达式并将其转换为主导类型。 如果在同一 switch 语句中的 case 标签中指定的常数之一等于 switch 表达式的值,控制将转到匹配的 case 标签后的语句列表。 如果在同一 switch 语句中的 case 标签中指定的常数都不等于 switch 表达式的值,且如果存在一个 default 标签,控制将转到 default 标签后的语句列表。 如果在同一 switch 语句中的 ca
15、se 标签中指定的常数都不等于 switch 表达式的值,且如果不存在 default 标签,控制将转到 switch 语句的结束点。 如果 switch 节的语句列表的结束点是可到达的,将发生编译时错误。这称为“非贯穿”规则。示例2:using System;class ThrowRollpublic static void Main()int roll=0;Random rnd=new Random(); /创建一个存储随机数的变量roll=(int) rnd.Next(1,7);/生成一个1-6之间的随机整数Console.Write(开始掷筛子);Console.WriteLine(这
16、次掷的筛子是:0,roll);switch(roll)case 1:case 3:case 5:Console.WriteLine(筛子是奇数);break;case 2:case 4:case 6:Console.WriteLine(筛子是偶数);break;default:Console.WriteLine(筛子不在1-6之间);break; 二、 循环结构语句2.1 while 语句while 语句有条件地执行嵌入语句零次或多次。 while 语句: while ( 布尔表达式 ) 嵌入语句 while 语句的执行方式如下: 计算布尔表达式。 如果布尔表达式产生 true,控制将转到嵌入
17、语句。当(和如果)控制到达嵌入语句的结束点(可能是通过执行一个 continue 语句)时,控制将转到 while 语句的开头。 如果布尔表达式产生 false,控制将转到 while 语句的结束点。 在 while 语句的嵌入语句内,break 语句可用于将控制转到 while 语句的结束点(从而结束嵌入语句的迭代),而 continue 语句可用于将控制转到嵌入语句的结束点(从而执行 while 语句的另一次迭代)。如果 while 语句是可到达的且布尔表达式不具有常数值 false,则该 while 语句的嵌入语句是可到达的。如果下列条件中至少有一个为真,则 while 语句的结束点是可
18、到达的: while 语句包含一个退出 while 语句的可到达的 break 语句。 while 语句是可到达的且布尔表达式不具有常数值 true。 示例3: 使用while 语句,计算1+2+3+100的值。using System;class sumpublic static void Main()int sum=0,i=1;while (i100)sum+=i+; /循环变量是i,i+是用于改变循环变量的Console.WriteLine(sum=0,sum); 2.2 dowhile 语句do 语句有条件地执行一个嵌入语句一次或多次。 do 语句: do 嵌入语句 while ( 布
19、尔表达式 ) ; do 语句的执行方式如下: 控制转到嵌入语句。 当(和如果)控制到达嵌入语句的结束点(可能是通过执行一个 continue 语句)时,计算布尔表达式。如果布尔表达式产生 true,控制将转到 do 语句的开头。否则,控制转到 do 语句的结束点。 在 do 语句的嵌入语句内,break 语句可用于将控制转到 do 语句的结束点(从而结束嵌入语句的迭代),而 continue 语句可用于将控制转到嵌入语句的结束点(从而执行 do 语句的另一次迭代)。如果 do 语句是可到达的,则 do 语句的嵌入语句是可到达的。如果下列条件中至少有一个为真,则 do 语句的结束点是可到达的:
20、do 语句包含一个退出 do 语句的可到达的 break 语句。 嵌入语句的结束点是可到达的且布尔表达式不具有常数值 true。 示例4:使用do while 语句计算5!using System;class jiechengpublic static void Main()int sum=1,i=1;dosum*=i+; /循环变量是i,i+是用于改变循环变量的while (i=5);Console.WriteLine(sum=0,sum); 2.3 for 语句for 语句计算一个初始化表达式序列,然后,当某个条件为真时,重复执行某个嵌套语句并计算一个迭代表达式序列。 for 语句: fo
21、r ( for 初始值设定项可选 ; for 条件可选 ; for 迭代程序可选 ) 嵌入语句 for 初始值设定项: 局部变量声明语句表达式列表 for 条件: 布尔表达式 for 迭代程序: 语句表达式列表 语句表达式列表: 语句表达式语句表达式列表 , 语句表达式 for 初始值设定项(如果存在的话)由一个局部变量声明或一个用逗号分隔的语句表达式列表组成。用 for 初始值设置项声明的局部变量的范围从变量的变量声明符开始,一直延伸到嵌入语句的结尾。该范围包括 for 条件和 for 迭代程序。for 条件(如果存在的话)必须是一个布尔表达式。for 迭代程序(如果存在的话)包含一个用逗号
22、分隔的语句表达式列表。for 语句的执行方式如下: 如果存在 for 初始值设定项,则按变量初始值设定项或语句表达式的编写顺序执行它们。此步骤只执行一次。 如果存在 for 条件,则计算它。 如果不存在 for 条件或如果计算产生 true,控制将转到嵌入语句。当(和如果)控制到达嵌入语句的结束点(可能是通过执行一个 continue 语句)时,则按顺序计算 for 迭代程序的表达式(如果有的话),然后从计算上一个步骤中的 for 条件开始,执行另一次迭代。 如果存在 for 条件,且计算产生 false,控制将转到 for 语句的结束点。 在 for 语句的嵌入语句内,break 语句可用于
23、将控制转到 for 语句的结束点(从而结束嵌入语句的迭代),而 continue 语句可用于将控制转到嵌入语句的结束点(从而执行 for 语句的另一次迭代)。示例5:使用for 语句计算1!+2!+3!+10!using System;class sm4public static void Main()int i,k,m=1,sum=0;for (i=1;i=10;i+)for(k=1;k=i;k+)m=m*k;sum=sum+m;m=1;Console.WriteLine(1!+2!+3!+10!=0,sum);2.4 foreach 语句foreach 语句枚举集合的元素,为集合的各个元素
24、执行一个嵌入语句。 foreach 语句: foreach ( 类型 标识符 in 集合对象 ) 嵌入语句 foreach 语句的类型和标识符声明该语句的迭代变量。迭代变量对应于一个其范围覆盖整个嵌入语句的只读局部变量。示例6 按照元素的顺序打印出一个二维数组中的各个值:class Test static void Main() double, values = 1.2, 2.3, 3.4, 4.5, 5.6, 6.7, 7.8, 8.9 ; foreach (double elementValue in values) Console.Write(0 , elementValue); Con
25、sole.WriteLine(); 输出为:1.2 2.3 3.4 4.5 5.6 6.7 7.8 8.9实验三 数组【实验目的与要求】 掌握一纬数组的定义及使用方法 掌握多纬数组的定义及使用方法 掌握不规则锯齿数组的定义及其使用方法 熟悉数组对象的一些常用属性和静态方法 掌握使用数组来求解一些现实问题的步骤和方法 【实验内容与步骤】 数组是包含若干通过计算所得的索引进行访问的变量的数据结构。数组中包含的变量(又称数组的元素)具有相同的类型,该类型称为数组的元素类型。 数组具有秩,它确定与每个数组元素关联的下标的数目。数组的秩又称为数组的维度。秩为 1 的数组称为一维数组,秩大于 1 的数组称
26、为多维数组。特定大小的多维数组常根据其大小命名,如二维数组、三维数组,等等。 数组的每个维度都有一个关联的长度,它是一个大于或等于零的整数。维度的长度不是数组类型的组成部分,而是在运行时创建数组类型的实例时建立的。维度的长度确定该维度的下标的有效范围:对于长度为 N 的维度,下标范围可以为 0 到 N 1(包括 0 和 N 1)。数组中的元素总数是数组中各维度长度的积。如果数组的一个或多个维度的长度为零,则称该数组为空。 数组的元素类型可以是任意类型,包括数组类型。一、一纬数组的定义及其使用方法(1)一纬数组的定义和初始化同变量一样,数组也必须先定义,后使用。定义一纬数组的格式如下:数据类型
27、数组名; 其中,数据类型可以是C#语言中的各种数据类型,包括数值类型和引用类型。 方括号“”在这里表示是定义一个数组,而不是普通的一个变量或对象 数组名是任意合法的变量标识符 如:int myArray; 初始化一纬数组静态初始化格式:数据类型 数组名=元素1,元素2,元素n;如: int arry=1,2,3,4动态初始化:可以用两条语句来实现:数据类型 数组名;/数组定义数组名=new 数据类型表达式;/ 动态初始化或用一条语句来实现:数据类型 数组名=new 数据类型表达式;如: int x=new int4;例1:选择排序法using System;namespace shuzucla
28、ss selectOrderstatic void Main(string args)int i,j,k,m;int que=new int3,5,34,65,15,74,28,59,122,42;/定义数组并动态初始化for(i=0;i10;i+)k=i;for(j=i+1;j10;j+) /从i的下一个元素起开始比较if(quejquek)/比较数组元素k=j; /记录下标值if(k!=i)m=quei;quei=quek;quek=m;Console.WriteLine(输出排序后的结果是:);for(i=0;i10;i+)Console.Write(0t,quei);例2:冒泡排序法u
29、sing System;namespace shuzuclass maopopublic static void Main()int a=new int10;Console.WriteLine(请输入10个整数);for(int i=0;i10;i+)Console.Write(第0个数:,i+1);ai=Int32.Parse(Console.ReadLine();Console.WriteLine(排序前的十个数是:);for(int i=0;i10;i+)Console.Write(0t,ai);Console.WriteLine();int temp;/临时变量for(int j=0;
30、j 9;j+)for(int i=0;iai+1)temp=ai;ai=ai+1;ai+1=temp;for (int i=0;i10;i+)Console.WriteLine(排序后的结果是:);Console.Write(0t,ai);Console.WriteLine();例3:字符数组using System;namespace shuzuclass charArraypublic static void Main()/定义并初始化name字符数组char name=new charG,o,o,d, ,m,o,r,n,i,n,g,0;int ctr=0; /建立一个计数器ctr,用于遍
31、历数组元素while(namectr!=0) /输出数组中的字符,直到遇到一个ASCII码为0的字符为止,结束循环Console.WriteLine(0,namectr);ctr+;例4:对象数组using System;using System.Windows.Forms;namespace shuzupublic class useArraypublic static void Main()ArrayForm newfrm=new ArrayForm10;for (int i=0;i10;i+)newfrmi=new ArrayForm(这是第+i.ToString()+个窗体);newf
32、rmi.ShowDialog();public class ArrayForm:System.Windows.Forms.Formpublic ArrayForm(string whichForm)this.Text=whichForm;二、多纬数组的定义及其使用对于多维数组,数组初始值设定项必须具有与数组维数同样多的嵌套级别。最外面的嵌套级别对应于最左边的维度,而最里面的嵌套级别对应于最右边的维度。数组各维度的长度是由数组初始值设定项中相应嵌套级别的元素数目确定的。对于每个嵌套的数组初始值设定项,元素的数目必须与同一级别的其他数组初始值设定项相同。示例:int, b = 0, 1, 2, 3
33、, 4, 5, 6, 7, 8, 9;创建一个二维数组,其最左边的维度的长度为 5,最右边的维度的长度为 2:int, b = new int5, 2;然后用下列值初始化该数组实例:b0, 0 = 0; b0, 1 = 1;b1, 0 = 2; b1, 1 = 3;b2, 0 = 4; b2, 1 = 5;b3, 0 = 6; b3, 1 = 7;b4, 0 = 8; b4, 1 = 9;当数组创建表达式同时包含显式维度长度和一个数组初始值设定项时,长度必须是常数表达式,并且各嵌套级别的元素数目必须与相应的维度长度匹配。示例:int i = 3;int x = new int3 0, 1, 2
34、; / OKint y = new inti 0, 1, 2; / Error, i not a constantint z = new int3 0, 1, 2, 3; / Error, length/initializer mismatch这里,由于维度长度表达式不是常数,因此 y 的初始值设定项导致编译时错误;另外由于初始值设定项中的长度和元素数目不一致,z 的初始值设定项也导致编译时错误。三、锯齿型数组数组创建表达式允许实例化包含数组类型的元素的数组,但必须手动初始化这类数组的元素。例如,语句int a = new int100;创建一个包含 100 个 int 类型的元素的一维数组。
35、每个元素的初始值为 null。同样的数组创建表达式不可能也实例化子数组,并且语句int a = new int1005; / Error导致编译时错误。实例化子数组必须改为手动执行,如下所示int a = new int100;for (int i = 0; i 100; i+) ai = new int5;当数组的数组具有“矩形”形状时,即当子数组全都具有相同的长度时,使用多维数组更有效。在上面的示例中,实例化数组的数组创建 101 个对象1 个外部数组和 100 个子数组。相反,int, = new int100, 5;只创建单个对象(即一个二维数组)并在单个语句中完成分配。例5:二维数组
36、及锯齿型数组示例/ Initializing two-dimensional arrays.using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace TwoDimensionalArrays/ / Summary description for Form1./ public class TwoDimensionalArrays : System.Windows.Forms
37、.Formprivate System.Windows.Forms.Button showOutputButton;private System.Windows.Forms.Label outputLabel;/ / Required designer variable./ private System.ComponentModel.Container components = null;public TwoDimensionalArrays()/ Required for Windows Form Designer support/InitializeComponent();/ TODO:
38、Add any constructor code after InitializeComponent call/ / Clean up any resources being used./ protected override void Dispose( bool disposing )if( disposing )if (components != null) components.Dispose();base.Dispose( disposing );#region Windows Form Designer generated code/ / Required method for De
39、signer support - do not modify/ the contents of this method with the code editor./ private void InitializeComponent()this.showOutputButton = new System.Windows.Forms.Button();this.outputLabel = new System.Windows.Forms.Label();this.SuspendLayout();/ / showOutputButton/ this.showOutputButton.Location
40、 = new System.Drawing.Point(102, 8);this.showOutputButton.Name = showOutputButton;this.showOutputButton.Size = new System.Drawing.Size(88, 23);this.showOutputButton.TabIndex = 0;this.showOutputButton.Text = Show Output;this.showOutputButton.Click += new System.EventHandler(this.showOutputButton_Clic
41、k);/ / outputLabel/ this.outputLabel.Location = new System.Drawing.Point(8, 48);this.outputLabel.Name = outputLabel;this.outputLabel.Size = new System.Drawing.Size(280, 104);this.outputLabel.TabIndex = 1;/ / TwoDimensionalArrays/ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);this.ClientSiz
42、e = new System.Drawing.Size(292, 165);this.Controls.AddRange(new System.Windows.Forms.Control this.outputLabel,this.showOutputButton);this.Name = TwoDimensionalArrays;this.Text = TwoDimensionalArrays;this.ResumeLayout(false);#endregion/ / The main entry point for the application./ STAThreadstatic vo
43、id Main() Application.Run( new TwoDimensionalArrays() );private void showOutputButton_Click( object sender, System.EventArgs e )/ declaration and initialization of rectangular arrayint, array1 = new int, 1, 2, 3 , 4, 5, 6 ;/ declaration and initialization of jagged arrayint array2 = new int 3 ;array
44、2 0 = new int 1, 2 ;array2 1 = new int 3 ;array2 2 = new int 4, 5, 6 ;outputLabel.Text = Values in array1 by row aren;/ output values in array1for ( int i = 0; i array1.GetLength( 0 ); i+ )for ( int j = 0; j array1.GetLength( 1 ); j+ ) outputLabel.Text += array1 i, j + ;outputLabel.Text += n;outputL
45、abel.Text += nValues in array2 by row aren;/ output values in array2for ( int i = 0; i array2.Length; i+ )for ( int j = 0; j array2 i .Length; j+ )outputLabel.Text += array2 i j + ;outputLabel.Text += n; / end method showOutputButton_Click四、数组类(Array)的常用属性和方法的使用Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Ar
46、ray 类显式派生。用户应当使用语言提供的数组构造。一个元素就是 Array 中的一个值。Array 的长度是它可包含的元素总数。Array 的秩是 Array 中的维数。Array 中维度的下限是 Array 中该维度的起始索引,多维 Array 的各个维度可以有不同的界限。Type 对象提供有关数组类型声明的信息。具有相同数组类型的 Array 对象共享同一 Type 对象。Type.IsArray 和 Type.GetElementType 可能不返回所预期的 Array 形式的结果,因为如果某个数组被强制转换为 Array 类型,则结果是对象,而非数组。即,typeof(System.
47、Array).IsArray 返回 false,而 typeof(System.Array).GetElementType 返回空引用。与大多数类不同,Array 提供 CreateInstance 方法,以便允许晚期绑定访问,而不是提供公共构造函数。Array.Copy 方法不仅可在同一类型的数组之间复制元素,而且可在不同类型的标准数组之间复制元素;它会自动处理强制类型转换。例6:使用数组类的属性和方法using System;public class SamplesArray public static void Main() / Creates and initializes a new
48、 integer array and a new Object myIntArray = new int5 1, 2, 3, 4, 5 ;Object myObjArray = new Object5 26, 27, 28, 29, 30 ;/ Prints the initial values of both arrays.Console.WriteLine( Initially, );Console.Write( integer array: );PrintValues( myIntArray );Console.Write( Object array: );Print
49、Values( myObjArray );/ Copies the first two elements from the integer array to the Object array.Array.Copy( myIntArray, myObjArray, 2 );/ Prints the values of the modified arrays.Console.WriteLine( nAfter copying the first two elements of the integer array to the Object array, );Console.Write( integ
50、er array: );PrintValues( myIntArray );Console.Write( Object array: );PrintValues( myObjArray );/ Copies the last two elements from the Object array to the integer array.Array.Copy( myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0) - 1, 2 );/ Prints the values of the modified
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版新能源汽车货物运输合同
- 二零二五年度ktv安全保卫及应急预案合同范本
- 二零二五年10月航空货运标准货物运输委托合同
- 二零二五年度电子商务平台信用保证合同模板
- 二零二五年度办公室装修合同(含办公家具维修)升级版
- 2025版办公设备耗材集中采购合同范本
- 2025版KTV装修材料采购与施工监理合同范本
- 二零二五年报关销售合同范本适用于外贸企业报关
- 二零二五年度清洁行业市场调研与分析合同
- 二零二五年度厂房租赁合同范本(含企业信息化建设)
- 职业规划第一课课件
- 托管回馈活动方案
- 2025届四川内江中考数学试题【含答案】
- 高中生物自然选择与适应的形成课件-2024-2025学年高一下学期生物人教版必修2
- 2025年7月黑龙江高中学业水平合格考化学试卷试题(含答案详解)
- 行政处罚法培训
- 耕地保护培训课件
- 考试设备设施管理制度
- 2025至2030中国学生校服行业发展分析及投资前景与战略规划报告
- 二年级下二升三数学暑假作业(人教)
- 2025贵州省水利投资(集团)有限责任公司招聘84人笔试备考题库含答案详解(精练)
评论
0/150
提交评论