第二章 C#编程基础_第1页
第二章 C#编程基础_第2页
第二章 C#编程基础_第3页
第二章 C#编程基础_第4页
第二章 C#编程基础_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

1、 程序结构程序结构 构成应用程序的必要元素有哪些?构成应用程序的必要元素有哪些? 怎样组织这些元素,使得编译器能够识别应用程序代怎样组织这些元素,使得编译器能够识别应用程序代码?码?C#程序结构 2.1.1第一个 C#程序 :HelloWorld1. using System;2. class HelloWorld3. 4. static void Main( )5. 6. Console.WriteLine(“Hello, World!”);7. 8. HelloWorld.cs第一个 C#程序 :HelloWorld1: using System;第 1 行:using 关键字w 用来引用

2、.NET框架类库中的资源w 通常在程序文件的开头使用w 如果程序中需要多种资源,可以使用多次usingSystem 命名空间w System命名空间提供了构建应用程序所需的系统资源第一个 C# 程序 :HelloWorld2: class HelloWorld3: .8: 第 2,3,8 行:类w 在C#或其他面向对象语言中,需要编写类w 使用关键字class定义一个类,类的内容放在一对 中w 示例中定义了一个名为HelloWorld的类第一个 C# 程序 :HelloWorld4: static void Main( )5: .7: 第 4,5,7 行:Main 方法w Main 方法是应用

3、程序的入口点,编译器将由该处开始执行程序w 方法体也放在一对 中w 每个C#的应用程序都必须包含Main方法4: static void Main( )5: .7: 第 4,5,7 行:Main方法 w static表示Main方法是一个全局方法w void表示Main方法没有任何返回值,即返回值是空w 参数放在小括号中定义。此处括号内没有内容,表明Main方法没有任何参数第一个 C# 程序 :HelloWorld6: Console.WriteLine(“Hello, World!”);第 6 行: 语句w 在C#中要执行的指令w 语句之间用;分隔,编译器通过分号来区分多个语句w 使用大括号

4、 标识某个代码块的开始和结束,从而可以对语句进行组合。大括号必须成对匹配。第一个 C# 程序 :HelloWorld6: Console.WriteLine(“Hello, World!”);第 6 行: 语句w HelloWorld程序的主要目的就是在屏幕上显示一条问候 WriteLine方法用来将问候语写到标准输出设备上。w Console代表标准输出设备- 屏幕,它属于System命名空间 w WriteLine方法是Console类的方法。访问类或对象的方法使用 点取符.来完成。w 字符串用双引号“ ”表示w 字符串“Hello,World”是WriteLine方法的参数,表示屏幕输出

5、 的内容第一个 C# 程序 :HelloWorld控制台指令输出: Console.WriteLine(“Hello World!”); /换行 Console.Write(“Hello World!”); /无换行输入: Console.ReadLine(); /读取一行字符 Console.Read(); /读取一个字符暂停:Console.ReadKey();代码注释在文档中插入注释是为了提高代码的可读性。注释也能帮助其他人来阅读和理解程序。 单行注释,以“/”开头的注释,注释在该行的末端结束。 多行注释,以“/*/”的多行注释。这是用于书写多行注释的语法。 C#中内置的数据类型 2.2

6、.1C#中的数据 int: 3 5 100 -10 double: 3.14 10.5 -3.14 -5.0 char:A b a string:”zhangsan” “李四” “计算机” “Hello World” decimal:存储金钱 5.62 decimal d=5.55m 变量与常量 无论使用何种程序设计语言编写程序,变量和常量都是构成一个程序的基本元素,我们可以从它们的定义、命名、类型、初始化等几个方面来认识和理解变量和常量。 常量常量 常量,顾名思义就是在程序运行期间其值不会改变的量,它通常可以分为字面常量和符号常量。常量及其使用非常直观,以能读懂的固定格式表示固定的数值,每一

7、种值类型都有自己的常量表示形式。常量1. 整数常量整数常量 对于一个整数数值,默认的类型就是能保存它的最小整数类型,根据常量的值其类型可以分为int,uint,long或ulong。如果默认的类型不是想要的类型,可以通过在常量后面加后缀(U或L)来明确指定其类型。 在常量后面加L或l(不区分大小写)表示长整型。例如:32 / 这是一个int类型32L / 这是一个long类型 在常量后面加U或u(不区分大小写)表示无符号整数。例如:128U / 这是一个uint 类型128UL / 这是一个ulong类型 常量2. 浮点常量浮点常量 一般带小数点的数或用科学计数法表示的数都被认为是浮点数,它的

8、数据类型默认为double类型,但也可以加后缀符表明三种不同的浮点格式数。 在数字后面加F(f)表示是float类型 在数字后面加D(d)表示是double类型 在数字后面加M(m)表示是decimal类型例如: 3.14 , 3.14e2, 0.168E-2 / 这些都是float类型常量 3.14D, 0.168d / 这些都是double类型常量 3.14M, 0.168m / 这些都是decimal类型常量 常量3. 字符字符常量常量 字符常量简单地说就是用单引号括起的单个字符,如:A,它占16位,以无符号整型数的形式存储这个字符所对应的Unicode代码。单引号括起的一个字符,如:A

9、 。显式转换整数字符代码,如:(char) 65。4. 字符串常量字符串常量 字符串常量是用双引号括起的零个或多个字符序列。C#支持两种形式的字符串常量,一种常规字符串,另一种逐字字符串。(1) 常规字符串 双引号括起的一串字符,可以包括转义字符。 例如:Hello, world常量5. 布尔常量布尔常量 它只有两个值:true和false。6. 符号常量符号常量 在声明语句中,可以声明一个标识符常量,但必须在定义标识符时就进行初始化并且定义之后就不能再改变该常量的值。 具体的格式为:const 类型 标识符=初值 例如: const double PI=3.14159变量 C#中的变量必须先

10、声明后使用。声明变量包括变量的名称、数据类型以及必要时指定变量的初始值。变量声明格式:变量声明格式: 数据类型 变量名称声明并初始化变量 2.2.2第 1步:声明变量作用:通过声明变量,可以在内存中为该变量申 请存储空间语法: 类型 变量名;int age;string name;变量的命名命名规则:1.必须以“字母” _或符号开头;2.后面可以跟任意“字母”、数字、下划线。注意:1)你起的变量名不要与C#系统中的 关键字重复。2)在C#中,大小写是敏感的。3)同一个变量名不允许重复定义(先这么认为,不严谨)定义变量时,变量名要有意义C#变量名编码规范Camel命名法: 首个单词的首字母小写,

11、其余单词的首字母大写。Pascal命名规范:每一个单词第一个字母都大写如果使用到英文单词的缩写,全部用大写!声明并初始化变量 2.2.2第 2步:初始化变量作用:给变量分配初值语法: 变量名 = 初值;string name;name = “张三”;/ 声明和初始化一步完成string name = “张三”;声明并初始化变量 2.2.2注意事项:bool 只能取2个值:true 或 falsechar 表示单个Unicode字符,用表示bool result = 0; / 错误bool result = false;char c = A; / 错误char c = A; 下面的变量名称哪些正

12、确? Principal 123rate discount %cost _price Mark$_3 city City int string变量的声明方法 如果一次要声明多个相同类型的变量可用逗号分隔。 string zsName,lsName;变量一定要先声明,再赋值,才能使用。练习:定义一个变量pi,并把3.14存进去,然后显示在屏幕上?想一想下面代码的输出结果是?int i=10; Console.WriteLine(“i”);赋值运算符和赋值表达式 赋值运算符:= a=a+1;这里的=号是赋值运算符,不是数学意义上的相等。 变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的老值就

13、不复存在了。 下边代码的输出结果是: int age=10; age=20; Console.WriteLine(age);演示: 定义一个变量存储客户的姓名,然后在屏幕上显示:“你好,某某”。 某某代表客户的姓名 +号可以连接两个字符串,这里的“+”号表示连接的意思。“+”在C#中有两种意义:1)是数学中的加法运算:两边参与加法运算的数据类型为数字类型,则“+”表示数学上的加法的意义。2)是连接的意思:两边参与加号运算的数据,有一个是字符类型,那么这个“+”号就是连接的意义。练习: 1.定义3个变量,分别存储一个人的姓名(张三),年龄(28),和工资(7600.33)。然后在屏幕上显示,我叫

14、*,今年*岁了,我的工资是*元。 2.定义一个变量存储一个人的年龄(18),然后发现这个人的年龄不是18岁,要把这个人的年龄修改成20岁(本题体会变量可以被重复多次赋值),最后把这个人的年龄输出到屏幕上。变量练习 3.定义四个变量,分别存储一个人的姓名、性别、年龄、电话。然后打印在屏幕上。 4.在屏幕上输出:我的手机是philips,型号是:998,价格是:1500元,重量是:0.3kg.(请定义变量存储上面的值,并显示在屏幕上。) 5.定义两个变量如:a,b分别赋值为10和5,写程序交换两个变量的值字符串类型 学习一句话:Console.ReadLine();用于接收用户的输入。要定义一个字

15、符串变量来接收存储用户输入的值。1.练习:问用户喜欢吃什么水果,假如用户输入“苹果”,则显示“哈哈,这么巧啊,我也喜欢吃苹果”。2.练习:请用户输入姓名,然后在屏幕上显示“你好,*”,*为用户刚刚输入的姓名输入输出示例-1using System;class ConsoleIO static void Main(string args) Console.Write(“请输入:”); int a = Console.Read(); Console.WriteLine(“通过Read()方法得到a=” + a); Console.WriteLine(通过Read()方法得到a= + (char)a

16、); 输入输出示例-2/控制台输入输出函数的例子using System;class ConsoleIO2 static void Main(string args) Console.Write(请输入:); string s = Console.ReadLine(); Console.WriteLine(你输入的内容为: + s); 字符串中的转义 能在字符串中输出双引号吗? 在屏幕上显示:C#用的字符串用“”号包含起来 +一个字符,组成转义字符,一般用于表示特殊符号 字在字符串前面表示不转义 常用的转义符:n b t ” 转义字符:什么时候用? 当我们需要在字符串中输入一些特殊字符时,比如

17、:半角引号,换行,退格,就需要使用转义字符。 转义字符时一个字符它由一个+一个字母来组成具有特殊意义的一个字符 常用的转义字符 n表示换行 b backspace 退格 t tab键 由多个空格组成的一个字符,具有行与行之间的对齐功能 表示一个在字符串前面加一个符号有两种意义:1)字符串中如果有,则不再理解为转义符2)使字符串可以换行 如果字符串前面加了符号,在字符串上用两个双引号代表一个双引号算术运算符及算术表达式 算术运算符:+ - * / %(取余数 取模) 算术表达式:由算术运算符连接起来的式子。如:1+1 a-b(变量ab前面已声明并赋初值) 演示:某学生三门课成绩为,语文:90 数

18、学:80 英语:91,编程求总分和平均分 优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算。 小括号可以无限制的套用,但一定要成对出现。练习 练习1:定义两个数分别为10和20,打印出两个数的和。 练习2:计算半径为5的圆的面积并打印出来。 练习3:某商店T恤的价格为35元/件,裤子的价格为120元/条。小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱? 假如商店为小明打8.8折,那么小明应该付多少钱呢? 购物总计为:*元,打折后应付为:*元。算术运算符-自动类型转换 下面代码的输出结果是什么? int a=10,b=3; int mod=a%b; double

19、 quo=a/b; Console.WriteLine(mod); Console.WriteLine(quo);类型自动转换规则 参与运算(算术运算和赋值运算)的操作数和结果类型必须一致,当不一致时,满足下面条件时,系统自动完成类型转换 两种类型兼容 例如:int和double兼容 目标类型大于源类型 例如:double*int对于表达式 如果一个操作数为double型,则整个表达式可提升为double型 比如前面打8.8折的练习题 求10/3求余数要想得到3.333的处理 发生自动转换(隐式转换)的条件: 1)参与运算的两个数据类型必须相兼容。 2)必须一边的数据类型表示范围小,一边的表示

20、范围大,并且把小的转向大的不丢失精度。字符串数值类型转换 显示类型转换:需要用户正确指定要转换的类型,又称强制类型转换,例如:int(a),char(10)等。 Parse(string),通过目标类型的成员方法:Parse(string)进行转换。 System.Convert,System.Convert类为类型的转换提供了一整套完整的方案。示例-1(Parse方法)/ 由控制台获得数值using System;class StringNumberParse static void Main(string args) Console.Write(请输入数值一:); string x = C

21、onsole.ReadLine(); int intValue1 = int.Parse(x); Console.Write(请输入数值二:); string y = Console.ReadLine(); short intValue2 = short.Parse(y); int minusValue = intValue1 - intValue2; Console.WriteLine(0 - 1 = 2,intValue1,intValue2,minusValue); 输入两个数值,输出减法结果。示例-2(Convert方法)/ 由控制台获得数值using System;class Str

22、ingNumberParse2 static void Main(string args) Console.Write(请输入数值一:); string x = Console.ReadLine(); int intValue1 = Convert.ToInt32 (x); Console.Write(请输入数值二:); string y = Console.ReadLine(); short intValue2 = Convert.ToInt16(y); int minusValue = intValue1 - intValue2; Console.WriteLine(0 - 1 = 2,i

23、ntValue1,intValue2,minusValue); 输入两个数值,输出减法结果。算术运算符 + 自加1 有前加和后加 - 自减1 有前减和后减 一元运算符+/-比二元的+-优先级高练习 int var1,var2=5,var3=6; var1=var2+ * -var3;1.请说出上面程序执行完成后,var1中的值?上题中如果改成: var1=+var2 * var3-; var1=?复合赋值运算符 += a+=5 等价于 a=a+5 -= c-=d 等价于 c=c-d *= a*=b+5 等价于 a=a*(b+5) /= g/=h-f 等价于 g=g/(h-f) %= a%=5

24、等价于 a=a%5练习1.设有定义a=3,b=4; b*=a+2;求b的值。2.设有定义int a=9;计算表达式a-=a+a的值。3.设有定义a=3,b=4; b*=(a+)+2;求a,b的值。4.设有定义a=3,b=4; b*=-a+2;求a,b的值。5.设有定义int a=9;计算表达式a+=a+a的值。6.设有定义j=3;i=k=j+=1;计算i,j,k的值。7.设有定义x=50,y;y=(x=x-5)*x/5;计算y的值。8.设有定义i=2,j=3,k,n,m;计算k=i+j;n=k*3;m=n%j;n=k/j;的值。关系运算符(比较运算) , = , 老鼠的重量(1) 39=90:

25、A 90成绩=80:B 80成绩=70:C 70成绩=60:D 成绩=90:A 90成绩=80:B 80成绩=70:C 70成绩=60:D 成绩60:E用if-else实现?更好的方法:if-else ifif-else if流程图课后练习 学编程不是看书,不是听老师讲,而是自己动手写。 练习1:提示用户输入密码,如果密码是“888888”,则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误,程序结束。 练习2:提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,否则,如果用户名不是admin提示用户名不存在

26、,如果用户名是admin,则提示密码错误。 练习3:提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,则告知不允许查看,如果大于等于10岁,则提示用户是否继续查看(yes、no),如果输入的是yes,则提示用户请查看,否则提示“退出,你放弃查看”。嵌套的if语句在if语句框架中,无论条件表达式为真或为假将要执行的语句都有可能又是一个if语句,这种if语句又包含if语句的结构就称之为嵌套的if语句。为了避免二义性,C#规定else语句与和它处于同一模块最近的if相匹配。想一想下面程序的输出结果为:int age=15;string sex=“girl”;if(age=90:

27、A 90成绩=80:B 80成绩=70:C 70成绩=60:D 成绩60:E 改成用Switch来做if-else if与switch的比较 相同点:都可以实现多分支结构 不同点: switch:一般只能用于等值比较 if-else if:可以处理范围练习 说出已学过的数据类型有哪些? 举例说明已学过的运算符有哪些? 李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级,工资降200元,如果定为E级,则工资降500元。 请用户输入年份,输入月份,输出该月的天数。68循环结构 循环结构用于对一组命令执行一定的次数或反复执行一组命

28、令,直到指定的条件为真。 循环结构的类型 while 循环 do while循环 for 循环 foreach循环69 while 循环又称为“当型”循环,它反复执行指定的语句,直到指定的条件为假 While语句的格式 :while (表达式) 语句; while语句的执行过程:1、计算并判断表达式的值。若值为0(假),则结束循环,退出while语句;若值非0(真),则执行循环体语句。2、转步骤1.while 循环例例 1 计算并输出计算并输出1+2+3+n的值的值 static void Main(string args) int s,i; s=0; i=1; While(i=100) s=

29、s+i; i+; Console.WriteLine(s); 注意:注意:1.循环体包括一条或多条语句,多条语句必须用一对花括号括起来。2.合理的循环是有限次循环。如果循环不能退出,则称为“死循环”,在程序设计中应该避免出现。71dowhile 循环 dowhile 循环是循环的另外一种形式,又称为“直到型”循环。dowhile语句的格式 :do 语句; while (表达式); do-while语句的执行过程: 先执行循环体语句再判断表达式的值。若值为0(假),则结束循环,退出do-while语句;若值非0(真),则继续执行循环体。例例2 计算并输出计算并输出1+2+3+n的值的值 stat

30、ic void Main(string args) int i, s; i = 1; s = 0; do s = s + i; i+; while (i = 100); Console.Write(s); 注意:1.do-while循环和while循环可以完成相同的任务。2. do-while循环与while 循环类似,二者区别在于 dowhile 循环中即使条件为假时也至少执行一次该循环体中的语句。 例如: int s=0, i=1; While(i1) s=s+i; i+; Console.WriteLine(s);int s=0, i=1; do s = s + i; i+; while

31、 (i 1); Console.WriteLine(s);练习:1.计算1-1000之间数的和。2.计算1-100之间所有奇数的和。3.计算1-100之间所有3的倍数之和。75for 循环for 循环是循环的一种标准形式,其语法如下:for(表达式1;表达式2;表达式3;) 循环体语句; 1.表达式1,通常用于循环的初始化,包括循环变量的赋初值、其他变量的准备等。2.表达式2,循环的条件判断式,如果为空则相当于真值。3.表达式3,通常设计为循环的调整部分,主要是循环变量的变化部分。4.循环体语句由一条或多条语句构成,多条语句需要用一对花括号括起来。二、执行流程二、执行流程 1 1、求解表达式、

32、求解表达式1 1。 2 2、求解表达式、求解表达式2 2。如果其值为真。如果其值为真 ( (非非0)0),执行第,执行第3 3步;否则,转步;否则,转 至第至第4 4步。步。 3 3、执行循环体语句组,并求解表达式、执行循环体语句组,并求解表达式3 3,然后转向然后转向2 2。 4 4、执行、执行forfor语句的下一条语句。语句的下一条语句。 例例2 计算并输出计算并输出1+2+3+n的值的值static void Main(string args) int i, s; s = 0; for(i=1;i=100;i+) s = s + i; Console.Write(s);选择三种循环的一

33、般原则选择三种循环的一般原则: :1. 如果循环次数已知,计数控制的循环如果循环次数已知,计数控制的循环,用用for2. 如果循环次数未知,条件控制的循环如果循环次数未知,条件控制的循环,用用while3. 如果循环体至少要执行一次如果循环体至少要执行一次,用用do-while4. 这只是这只是“一般一般”原则,不是原则,不是“原则原则”找错找错1.for(i0,i5,i+) j+;2.while(j10); j+;i=j;3.doj+;a=j; while(j10)练习:练习:1.计算1+1.5+2.0+2.5+3.0+3.5+10的值。2.计算1*2*3*4*8的值。3.计算1-2+3-4

34、+5-6+99-100的值。4.计算并输出1*3*5*7*(2N-1)的值。5.计算s=1*2+3*4+5*6+7*8+(2n-1)*2n的值(n1000)81 循环语句的循环体内,又包含另一个完整的循环结构,称为循环的嵌套。嵌套在循环体内的循环体语句称为内循环,外面的循环语句称为外循环。如果内循环体中又有嵌套的循环语句,称为多层循环。While 、do-while、for三种循环都可以互相嵌套。 循环的嵌套循环的嵌套82(1)while() (2) while() (3)for(;) while() for(;) for(;) (4)for(;) (5)do (6)do while() do

35、 for(;) while while(); while();例如下面的嵌套形式:例如下面的嵌套形式:例:计算s=1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+10)的值。 static void Main(string args) int i,j, s; i=1; s=0; while (i = 10) for (j = 1; j = i; j+) s = s + j; i+; Console.Write(s); 练习:1.计算并输出 1! + 2! + 3! + + 10! 的值。2.编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数

36、之和。3.计算1-100以内所有含6的数的和。4.编程求100以内能被7整除的最大自然数。5.输出所有的3位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如:153= 1*1*1+5*5*5+3*3*3(用循环语句做)。6.设计一个程序,输入一个三位数,将各位数字分开,并按其反序输出。例如:输入123,则输出321。85 break、continue、goto语句语句 这一类语句的功能是改变程序的结构,这一类语句的功能是改变程序的结构,使程序从其所在的位置转向另一处。使程序从其所在的位置转向另一处。一、一、break语句与语句与Continue语句语句 为了使循环控制更加灵活,为

37、了使循环控制更加灵活,#语言提供语言提供了了break语句和语句和continue语句。语句。1一般格式:一般格式: break; continue;break语句语法形式:语法形式: break; break break:强行结束其所在的那一层循环:强行结束其所在的那一层循环. .break语句只能用于循环语句或switch语句中,如果在switch语句中执行到break语句,则立刻从switch语句中跳出,转到switch语句的下一条语句; 如果在循环语句执行到break语句,则会导致循环立刻结束,跳转到循环语句的下一条语句。不管循环有多少层,break语句只能从包含它的最内层循环跳出一层

38、。 87 continue 语法形式:语法形式:continue ; continue:强行结束本次循环。continue语句只能用于循环语句之中,它的作用是结束本轮循环,不再执行余下的循环体语句。对于for循环,跳过循环体其余语句,转向循环变量增量表达式的计算;对于while和do-while循环,跳过循环体其余语句,但转向循环继续条件的判定。 如果continue语句陷于多重循环结构之中,它只对包含它最内层循环有效。89 例如:例如: int i,s=0; for (i = 1; i 5) break; /continue; s=s+i; Console.WriteLine(s); got

39、o语句是无条件的跳转语句。 使用goto语句有优点也有缺点,优点在于,可以方便地控制执行哪些代码;缺点在于,代码的可读性差、不易维护。goto语句语法形式:语法形式:goto 标号;其中标号就是定位在某一语句之前的一个标识符,这称为标号语句,它的格式是:标号:语句;它给出goto语句转向的目标。goto语句01 int i=5; /int型变量,赋初值为502 Goto myLabel; /转到标签为myLabel的行03 i+=10; /将myInteger加上1004 myLabel: /标签05 Console.WriteLine(“i=0”,i);1. 编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。2. 计算1-100以内所有含6的数的和。3. 输出所有的3位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如:153= 1*1*1+5*5*5+3*3*3。4. 编程求100以内能被7整除的最大自然数。5. 设计一个程序,输入一个三位数,将各位数字分开

温馨提示

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

评论

0/150

提交评论