计算机C语言第三章控制结构_第1页
计算机C语言第三章控制结构_第2页
计算机C语言第三章控制结构_第3页
计算机C语言第三章控制结构_第4页
计算机C语言第三章控制结构_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

第三章控制结构

3.1C语言的基本语句

3.2数据的输入输出一

3.3基本控制结构与流程控制语句

3.4选择结构控制一

3.5Switch控制

3.6循环控制Illi

3.7辅助控制语句II

3.8程序设计举例

说明语句是对变量或被调函数的声明,不产生机

器指令,其作用是描述程序中被处理数据(变量或函

数)的名称和类型,供编译程序使用。说明语句可以

出现在程序中任何块(即函数或复合语句)的外面

(称为外部说明)或块中(称为局部说明)。

例:

inta;/*定义变量a为整型*/

floatz;/*定义变量n为浮点型*/

floatadd(floatx,floaty);/*函数的声明*/

一般形式:

例:

x=10后面无分号,是赋值表达式,但不是语句

x=10;后面有分号,是赋值语句

国恒豆

一般形式:

C语言有丰富的标准函数库,可提供

各类函数供用户调用调用标准库函数可完

成预先设定好的操作.

-例如调用标准库函数求数学函数值:一

sin(x)、cos(x)、exp(x)(求ex)、

fabs(x)(求x的绝对值)、log(x).

调用标准库函数应注意:

(1)要在程序中包含相应的头文件。例如:

#include<stdio.h>

#include<math.h>

#include是编译预处理命令,其作用是将

某个已经存在的文件包含到程序中来。

(2)

有返回值的函数要作为表达式的一部分

例:Y=sin(1.7);

在表达式中调用函数,实际上是转去执行一段

预先设计好的程序,求出结果后返回调用点。

所以函数的值又叫函数的返回值。

无返回值的函数可作为语句调用。

例:printf("%d”,a);

调用它不是为了得到返回值(函数值),

是为了完成某项任务。

一般形式为:

它在语法上占有一个简单语句的位置,

执行该语句不做任何操作。空语句常用于

循环语句中,构成空循环。

用一'对花括号{}将多条语句组合在一■起,在

语法上相当于一'条语占O

一般形式:一

注意:“}”后不加分号

例:{intx,a=3,b=5;

x=a;

a=b;

b=x;

\\\\\!/i/国亘W

3.2数据的输入与输出

▲C语言无工/O语句,工/O操作由库函数实现

^#include<stdio.h>

▲本节主要介绍用于键盘输入和显示器输出的

输入/输出库函数

321字符数据的输入与输出函数

[■字符输出函数putchar。

原形:intputchar(int);

功能:在显示器上输出单个字符一

参数:可以是字符常量、字符型变量或整形

变量,即将一个整型数作为ASC工I编码输

出相应的字符。

返值:正常)为显示的代码值;出错)为

EOF(-l)

【例】输出单个字符。程序运行结果为:

#include<stdio.h>a

mainf)a

<inti=97;

charch='a';

putchar(i);

putcharCXn1);

putchar(ch);

国恒豆

原形:intgetchar();

功能:从键盘上输入一个字符,它每被调用一次,

就从标准输入设备上取一个字符,

返值:正常,返回读取的代码值;出错,返回EOF(-1)

通常把输入的字符赋予一个字符变量,构成赋值

语句。

例:

charc;

c=getchar();

国应豆

【例3.2】输入单个字符。

#include<stdio.h>

main()

<intch;

ch=getchar();

putchar(ch);

\—―—I程序运行结果如下:

a/

a

\\\\\\///W回

322格式输出函数

1.格式输出函数printf()

原形:intprintf(“格式控制字符串”,输出项列表)

功能:按指定格式向显示器输出数据

返值:正常,返回输出字节数;出错,返回EOF(・:l)

2.格式控制字符串

包含两种信息

A格式说明:用于指定输出格式

%[flags][width][.prec][F|N|H|L][type]

标志输出最小宽度精度长度类型

>普通字符或转义序列:原样输出

3.输出项表列:要输出的数据(可以没有,多个时以

分隔)

例:

输出结果:

inti=97;

i=97,a

printf("i=0/odf°/oc\n'\i,i);

两个输出项都是变量i,但以不同的格式输出,

一'个是输出的整型数,一个输出的是字符a.其

格式是由,%d与%c控制的.

FKI回

格式说明:用于指定输出格式

%[flags][width][.prec][F|N|H|L][type

标志输出最小宽度精度长度类型

Flags:标志字符。

常用的有:_

-:为左对齐,否则右对齐

+:正数输出十,负数输出-

_空格:正数输出空格,负数输出・!

Width:宽度指示符。用十进制数来设置输出值的最

少输出个数,少则左补空格,多则按实际输出。

而r<-iF^~Irm

格式说明:用于指定输出格式

%[flags][width][.prec][F|N|H|L][type

标志输出最小宽度精度长度类型

.prec:精度指示符。用小数点加十进制正整数构

成,用来限制输出数的精度。对实数,指定小数点

后位数(四舍五入);对字符串指定实际输出位数

[F|N|h|L]:长度修饰符

Ff远程指针地址Nf近程指针地址

hf短整数据的值Lf长整(双精度)数据的值

荷r<_iFKIrm

[type]:格式字符

d以带符号的十进制形式输出整数(正数不输出符号)

O以8进制无符号形式输出整数(不输出前导符O)

x(X)以16进制无符号形式输出整数(不输出前导符Ox)

u以无符号10进制形式输出整数

c以字符形式输出一个字符

s输出字符串

f以小数形式输出单、双精度数,隐含输出6位小数

e(E)以标准指数形式输出单、双精度数,小数位数为6位

g(G)选用或%)e格式中输出宽度较短的一种格式

%百分号

说明:

格式字符与输出项个数应相同,按先后顺序一一对应

输出转换:格式字符与输出项类型不一致,自动按指定格式输出

例inta=1234;

float4123.456;

charch=H;

printf(“%8d,%2d\n",a,a);

printf("%f,%8f,%8.lf,%.2f,%.2e\n”,fXf£f);

printf("%3c\n\ch);

运行1234,1234

结果:123.456000,123.456000,123.5J23.4691.23e+02

a

国国

■【例3.3]printf函数的使用。

/*源程序名:CH0303.C*/

#include<stdio.h>

■/*01*/main()

■/*02*/{

■/*03*/inta=15;

■/*04*/floatb=123.1234567;

■/*05*/doublec=12345678.1234567;

■/*06*/chard=,p,;

,,

■/*07*/printf("a=%df%5df%of%x\nfarafafa);

,,,,

■/*08*/printf(b=%f/%lfr%5.4lff%e\nfb/bfbrb);

■/*09*/printfCc=%lfz%fz%8.4lf\n"zczc/c);

,,

■/*10*/printf("d=%c/%8c\n/dzd);

卜=15-15」?,£

J)=123.123459.123.123459.123.1235.1.231235e+002

c=12345678.123457,12345678.12345?.12345678.1235

H=P.P

国应豆

3.2.3格式输入函数

1.格式输入函数scanf()

一般形式:scanf("格式控制字符串",地址表列)

功能:按指定格式从键盘读入数据,存入地址表指

定的存储单元中,并按回车键结束

返值:正常,返回输入数据个数

地址列表:变量的地址,常用取地址运算符&——

例:scanf(“%d%d%f\&a,&b,&c);

控制字符串说明了需输入数据的类型,两个整型数和一个

实型数。

&a,&b和&c是变量a,b和c的地址。

2.格式控制字符串

%[*][width][F|N][h|L]type

输入赋值抑制字符,输入数据但不赋值一

例:scanfC'%d%>*d%>d”,&a,&b);

当输入为:567时,把5赋予a,6被跳过,

7赋予b。

国应豆

%[*]|[width][F|N][h|L]type

输入赋值抑制字符,输入数据但不赋值

宽度指示符,表示最多可输入的字符个数。

EE豆

%[*][width][F|N][h|L]type

输入赋值抑制字符,输入数据但不赋值

宽度指示符,表示最多可输入的字符个数。

地址大小修饰符。F^farNfnear

%[*][width][F|N][h|L]type

输入赋值抑制字符,输入数据但不赋值

宽度指示符,表示最多可输入的字符个数。

地址大小修饰符。F^farN-^near

输入数据类型。hl短整型,长整或双精度

\\晶国怎回

%[*][width][F|N][h|L]1type

type是必须的,表示输入后转换的数据类型。

d(D)十进制整数

0(0)八进制整数

x(X)十六进制整数

i(I)自动根据数头分辨十、八、十六进制

u(U)无符号十进制整数[_1匚―L~j—

c单个字符

s字符串

f(e,g,G)实数

n不输入数据,将已读入的字符输送到对应的地址中

%百分号

说明:

(工)scanf函数中没有精度控制,如:

scanfC'%S.Zf'^&a);是非法的。

(2)scanf的格式控制字符串中普通字符是不显示的,

而是规定了输入时必须输入的字符。

(3)输入分隔符的指定

•一般以空格、TAB或回车键作为分隔符

•其它字符做分隔符:格式串中两个格式符间

字符

u9

例scanf(a=%d9b=%d5c=%d\&a9&b9&c);

输入a=12,b=249c=36J

国国

例:输入圆的半径,输出圆的周长和面积。

分析:

L定义实型变量r、1、s用于存放半径、周长、面

—积;

2.调用输入函数,输入r:一

3.分别利用周长公式和面积公式求出1、s;-

4.调用输出函数输出1、So

EE豆

程序:

#include<stdio.h>

main()

(

float咽s;

scanf(n%f;&r);

l=2*3.14159*r;

s=3.14159*r*r;

printf(u\nl=%8.4f\l);/*周长占8个字符宽,4位小数*/

printf(u\ns=%8.4f\s);/*面积占8个字符宽,4位小数*/

宜国应亘

例:从键盘输入一个小写字母,用大写形式输出

该字母。

分析:

1.输入小写字母存入变量a;

2.转换成大写a=a-32;

3输出a

EE豆

程序:

#include<stdio.h>

main。

<

chara;

printf(lvInputalowercaseletter:11

a=getchar();

a=a-32;

printf(,l(¥bc\rT,a);

}

3.3基本控制结构与流程控制语句

3.3.1三种基本结构

•结构化程序设计

■基本思想:任何程序都可以用三种基

本结构表示,限制使用无条件转移语

句(goto)

■结构化程序:由三种基本结构反复嵌

套箱成的程序叫~

■优点:结构清晰,易读,提高程序设

计质量和薮率

3.4选择结构控制

问题提出:解题的步骤:

回r<-iFKIrm

3.4.1if语句

if语句有三种形式:单分支选择if语句、

双分支选择if语句、多分支选择if语句。

1.单分支选择if语句

if(表达式)语句

【例3.5】求两个数中的较大值。

输入两个数a,b。把a先赋予变量max,再用if

语句判别max和b的大小,如max小于b,则把b赋

予max。因此max中总是大数,最后输出max的

值。

#include<stdio.h>

main()

inta,bfmax;

printf("\ninputtwonumbers:");

scanf('%d/cT,&a,&b);

max=a;

if(max<b)max=b;

<

printf("max=Vbd"zmax);

}

思考:如何用条件表达式来解决此问题?

EE豆

2.双分支if语句

if(表达式)

语句1;

else

语句2;

控制流程:

■【例3.6】求两个数中的最大值。

■程序的功能是输入两个数a,b。用if语句判别a和

b的大小,如a大于b,则输出a。否则把b输出。

#include<stdio.h>

main()

<

intafb;

printf("\ninputtwonumbers:

scanf(“d%ci”,&a,&b);

if(a>b)

printf(,,max=<%)d\n,,,a);

else

printf("max=<Vbd\n",b);

}

\\\\\/I//回

3■多分支选择结构

if(表达式1)

语句1;

elseif(表达式2)

语句2;

elseif(表达式3)

语句3;

■■■

elseif(表达式m)

语句m;

else

语句

n;II

仲,向rwi

例4・3:计算分段函数。r

JV<1

面ran

#include<stdio.h>

main()

{floatx,y;

printf(nenterx:n);

scanf(n%f

if(x<=l)y=x+5;

elseif(x<=10)y=2*x;

elsey=3/(x-10);

n!

printf(x=%.2f9y=%.2^n\x9y);

)

合国应豆

・说明:

♦if后面的表达式类型任意

♦语句可以是复合语句

♦if(x)oif(x!=O)

if(!x)=if(x=O)

rg小考虑下面程序的输出结果:

#include<stdio.h>

main()

{intx,y;

scanf(“%d,%d”,&x,&y);

if(x>y)q

{x=y;y=x;}

else

{x++;y++;}

printff6%d,%d\n”,x,y);

EE豆

3.4.2if语句的嵌套

当if语句中的执行语句又是if语句

时,则构成了if语句嵌套的情形。

例如:

EE豆

例输入两数并判断其大小关系

^include<stdio.h>

main()

{intx,y;运行Enterintegerx,y:12,23」

printf(nEnterintegerx,y:");X<Y

scanf("%d,%d”,&x,&y);Enterintegerx,y:12,6J

X>Y

if(x!=y)Enterintegerx,y:12,12J

Hn

if(x>y)printf(X>Y\n);X==Y

elseprintf(nX<Y\nn);

else

printffX==Y\n");

说明:

if〜else配对原则:缺省{}时,else总

是和它上面离它最近的未配对的if配对

「if(……)

「if(……)

rif(・・・・・・)

lelse......

Ielse......

else......

国恒豆

例:if(a==b)

y^-4f(b=c)

(printff'a==b==c'');

else

|printff'a!=b'”

修改:if(a==b)

{if(b=c)

printffE==b==c'');

)

else

printf("a!=b");

实现if〜else正确配对方法:加{}

向国白豆

J考虑下面程序输出结果:

main()

{intx=100,a=10,b=20;

intvl=5,v2=0;

if(a<b)

if(b!=15)

结果:

if(!vl)-1

x=l;

else

if(v2)x=10;

x=-l;

printf(“%d”,x);

国恒豆

3.5多分支选择根据表达式的不同值

,选择不同的程序分

1、语句形式支,又称开关语句。

switch

数值型

case常或

case常字符型

case常量表达二

常量表达式的值必须

case常量表迅互不相同,否则执行

[default:语句]时将出现矛盾,即同

一■个开关值,将对应

多种执行方案。

例4-4:假设用0、1、2.....6分别表示星期日、星期

一......星期六。现输入一个数字,输出对应的星期几

的英文单词。如果输入3,输出“Wednesday”。

#include<stdio.h>

程序运行情况如下:

voidmain()

{intn;3/

scanf(n%dn,&n);

Wednesday

switch(n)

{case0:printf(nSunday\nn);Thursday

case1:printf(nMonday\nH);

Friday

case2:printf(nTuesday\nn);

case3:printf(uWednesday\nn);Saturday

case4:printf(nThursday\nn);

error

case5:printf(nFriday\nH);

case6:printf(HSaturday\nu);

default:printf(nErrorn);

耳W

在“switch”语句中,“case常量表达式”只

相当于一个语句标号,表达式的值和某标号相

等则转向该标号执行,但不能在执行完该标号

的语句后自动跳出整个switch语句,因此会

继续执行所有后面语句的情况。

为此,C语言提供了一种break语句,其功能是

可以跳出它所在的switch语句。

国应豆

程序运行情况如下:

将上面的例4-4修改如下:

3/

#includeustdio.hn

Wednesday

voidmain()

{intn;

scanf(n%dn,&n);

switch(n)

{case0:printf(nSunday\nu);break;

case1:printf(nMonday\nu);break;

case2:printf(nTuesday\nn);break;

case3:printf(nWednesday\nu);break;

case4:printf(nThursday\nn);break;

case5:printf(MFriday\nM;break;

case6:printf(nSaturday\nn);break;

default:printf(uErroru);

}

直国w

说明:

(工)在case后的各常量表达式的值不能相同,否

则会出现错误。

(2)多个case语句可以共用一组执行语句。

switch(grade)

{case'A':

case'B':

case!C!:printf(ngrade>=60\nn);break;

default:printf(1!grade<60n);

)

⑶各case和default子句的先后顺序可以变动,

而不会影响程序执行结果。

(4)default语句可以省略不用。

(5)switch语句可以嵌套,break语句只跳出它所

在的switch语句。

眄voidmain()

{intx=l,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;运行结果:a=2,b=l

case1:b++;break;

)

case2:a++;b++;break;

case3:a++;b++;

)

printf("\na=%d,b=%d",a,b);

回国回亘

例4-5根据输入的学生成绩判断等级。

fE0<score<60

口60<score<70

等级|C

70<score<80

B80<score<90

A90<score<100

回国回亘

scorescore/10

使用

0,123,4,5

0——59switch

60——69

70——79分

80——89析

90——1009,10表

default,

0

#include<stdio.h>case4:

main()case5:y='E';break;

case6:y=vD)break;

intx;case7:y=,C,;break;

chary;case8:y=B;break;

printfCAnx:");case9:

scanf(”W,&x);case10:y=,A,;break;

switch(x/10){default:y='

case0:1——-4-——[-

}

case1:if(y=='')printf("Scoreerror!");

case2:elseprintf(",Grade=%c,,,y);

case3:)

EE豆

switch^Uelse-ifW比较

■else-i£比switch的条件控制更强大一'些

•else-i£可以依照各种逻辑运算的结果进行流程控制

•switch只能进行==判断,并且只能是整数判断

■switch,匕else-if更清晰

■两者都要尽量避免用得过多、过长,尤其不要嵌

套得太多

•它们大大增加程序的分支,使逻辑关系显得混乱,不

易维护,易出错

3.6循环控制

C语言有while、do-while、和for语句三种循

环结构语句。

3.6.1while语句

执行流程:

一般形式:

while(表达式)

循环体语句;

特点:先判断表达式,

后执行循环体

如果表达式的值一开始就为0,

则语句一次也会被不执行。

100

例用while循环求£n

n=1

回国回亘

程序运行结果为:5050

*ch5_2.c*/

finclude<stdio.h>循环条件

ain()

{inti,sum=O;

循环初值-i=l;

while(^=100

=sum+i;

循环变量增值循环终值

}、

printf(n%dn,sum);

)循环体

EE豆

例显示1〜10的平方

/*ch5_21.c*/运行结果:

^include<stdio.h>1*1=1

2*2=4

main()

3*3=9

{inti=1;4*4=16

while(i<=10)5*5=25

{printf("%d*%d=%d\n",i,i,i*i);6*6=36

i++;7*7=49

8*8=64

9*9=81

10*10=100

国应豆

3.6.2do-while语句

一般形式:执行流程:

do

循环体语句;

while(表达式);

特点:先执行循环体,

后判断表达式

至少执行一次循环体

100

例用do〜while循环求£n

n二1

3.6.3for语句

for语句是C语言中最有特色的语句,使用更灵

活,功能比while循环更强。

一般形式:

for([表达式]];[表达式2];[表达式31)

循环体语句

国回豆

Ofor语句一般应用形式:

for(循环变量赋初值;循环条件;循环变量增值)

循环体语句;

}

100

例用for循环求工匕

〃=1______

^include<stdio.h>

main()

{inti9sum=0;

for(i=1;i<=100;i++)

sum+=i;

printf(n%d,\sum);

for语句控制流程如图求解农达式I

表达式2

例如:

for(i=l;i<=100;i++)

sum=sum+i;

先给i赋初值1,判断i是否

求解衣达式3

小于等于100,若是则执

行语句,之后值增加1。再

重新判断,直到条件为假,IbriA句的卜

即i>100时,结束循环。

而E,自rwi

(1)for循环中的“表达式1(循环变量赋初

值)”、“表达式2(循环条件)"和“表达式3(循

环变量增量)”都是选择项,即可以缺省,但

不能缺省。

(2)省略了,,表达式1(循环变量赋初值)”,

表示不对循环控制变量赋初值。

(3)省略了“表达式2(循环条件)、则不做其

它处理时便成为死循环。

(4)省略了“表达式3(循环变量增量)”,则不

对循环控制变量进行操作,这时可在语句体中加

入修改循环控制变量的语句。

国恒豆

逗号表达式

逗号运算符的主要应用就在for语句中。for语句中的表达

式1和表达式3可以是逗号表达式,特别是有两个循环变量参

与对循环的控制时。表达式1和表达式3为逗号表达式,将使程

序显得非常清晰。

例:for(i=l,j=10;i<=j;i++,j-)

EE豆

例:求1/100+2/99+-.+1

floats=0.0;

for(i=l,j=100;i<=j;i++,j—)

s=s+i/j;

mBZ12S回

选择三种循环的一般思路

-如果循环次数已知,用for

■如果循环次数未知,用while一

■如果循环体至少要执行一次,用do-while

SUFE回

3.6.4循环嵌套

■在循环体语句中又包含有另一1个完整的循

环结构的形式,称为循环的嵌套。嵌套在

循环体内的循环体称为内循环,外面的循

环体称为外循环。如果内循环体中又有嵌

套的循环语句。则构成多重循环。

■While、do-while、for三种循环都可以互

相嵌套。

执行语句段:

fdr(i=0;i<6;i++)

for(j=0;j<6;j++)printfCc%3d%3d”,i,j);

putchar('\n');

输出结果:000102030405

101112131415

202122232425

303132333435

404142434445

505152535455

回国回亘

循环嵌套举例

问题:输出图形

*

**

***

****

EE豆

分析:一共5行,每行的inti,j;

数目与行号相同

for(i=1;i<=5;i++)

算法:行用i表示,{for0=1;j<=i;j++)

for(i=l;i<=5;i++)putcharC*1);

(输出i个田

printf("\n");

}

}

国恒豆

3.7辅助控制语句

3.7.1break语句

■功能:在循环语句和switch语句中,终止并

跳出循环体或开关体

■说明:

•break只能终止并跳出最近一层的结构

•break不能用于循环语句和switch语

句之外的任何其它语句之中

例break举例:输出圆面积,面积大于100时停止

^include<stdio.h>

^definePI3.14159

mainQ

intr;

floatarea;

for(r=l;r<=10;r++)

{area=PI*r*r;

if(area>100)

break;

nn

printf(r=%d9area=%.2f\n9r9area);

E/扇rwi

3.7辅助控制语句

3.7.2continue语句

语句形式为:continue;

■功能:结束本次循环,跳过循环体中

尚未执行的语句,进行下一次是否执

行循环体的判断

■仅用于循环语句中

例求输入的十个整数中正数的个数及其平均值

include<stdio.h>

ain()

{inti,num=O,a;

floatsum=0;

for(i=0;i<10;i++)

{scanf("%d\&a);

if(a<=0)continue;

num++;

sum+=a;

nn

printf(%dplusinteger'ssum:%6.0f\n9num9sum);

print"Meanvalue:%6.2f\n”,sum/num);

向回

3.7.3非结构化语句之goto

goto被称为无条件转移语句。

goto标号;

它最大的好处就是可以一下子跳出多重循环,

而break却不能做到这点。

3.8程序设计举例

典型例题分析

1.“累加”类型问题。

例:求累加和1+2+3+…+100

基本方法:

两个变量:累加和,当前项

(1)先给累加和赋初值(一般为0);

(2)用循环语句实现累加;

for(循环变量赋初值;循环条件;循环变量改变)

若循环次数不确定可用while或do-while循环语句

(3)循环体语句的设计。

累加和当前值=累加器原值+当前项;

rw-i亘EE豆

参考程序:思考

求偶数和

#include<stdio.h>2+4+6+...+100

main()

{intk,s;

s=0;---------►累加器赋初值

for(k=l;k<=100;k++)

s=s+k;----------►累加

printf(ns=%ld''⑼;

回国回亘

71111一

例用一P1——+———+.........公式求不的近似值,直到

4357

最后一项的绝对值小于10一6为止

累加问题:pi存放累加和,初值为0

一t存放当前项,初值为1—

循环控制:while(fabs(t)>1e-6)

——-----L循环累加:pi=pi+t-------------------------

t=s/n

\S初值为1每次S=-S

n初值为1每次n=n+2

而r<-i/i7>-|国

#include<math.h>while(fabs(t)>le-6)

#include<stdio.h>{

main()pi=pi+t;

(s=-s;

ints;n=n+2;

floatn,t,pi;t=s/n;

t=1;pi=O;s=1;n=1;

printf("\nPI=%r,pi*4);

)

温馨提示

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

评论

0/150

提交评论