第3章程序结构33_第1页
第3章程序结构33_第2页
第3章程序结构33_第3页
第3章程序结构33_第4页
第3章程序结构33_第5页
已阅读5页,还剩53页未读, 继续免费阅读

下载本文档

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

文档简介

1、3.3 3.3 循环结构程序设计循环结构程序设计回回 顾顾nifif语句,语句,if-elseif-else语句和嵌套语句和嵌套ifif语句语句n条件运算符,条件运算符,ifif语句的另外一种表达方语句的另外一种表达方式式nswtichswtich语句解决多分支问题,当分支超语句解决多分支问题,当分支超过过3 3个以上,一般个以上,一般swtichswtich语句更简洁语句更简洁学习目标学习目标n了解循环结构的意义和基本语句了解循环结构的意义和基本语句n正确利用正确利用whilewhile、do-whiledo-while语句和语句和forfor语句语句进行循环程序设计进行循环程序设计n掌握掌

2、握whilewhile、do-whiledo-while、forfor三种循环语句三种循环语句的互换和嵌套的互换和嵌套n理解理解breakbreak语句、语句、continuecontinue语句并应用语句并应用n循环:同一程序段重复执行若干次循环:同一程序段重复执行若干次n实现循环的语句:实现循环的语句:pgotogoto语句与语句与ifif语句语句pWhileWhile语句语句 pdowhiledowhile语句语句 pforfor语句语句3.3.1 goto3.3.1 goto语句语句ngotogoto语句无条件转移语句语句无条件转移语句p格式:格式:goto 语句标号语句标号;p功能:

3、程序将调转到该标号处并执行其后的语功能:程序将调转到该标号处并执行其后的语句;句;任何合法的标识符,如:任何合法的标识符,如: goto flag1; goto loop; goto stop; 例例3.253.25用用gotogoto语句和语句和ifif语句构成循环,求语句构成循环,求1+2+3+ +99+1001+2+3+ +99+100的值。的值。 #include main() int i,sum=0; i=1;loop: if(i=100) sum=sum+i;i+;goto loop; printf(%d,sum);sum=0+1,i=2sum=1+2=3,i=3sum=3+3=6

4、,i=4sum=6+4,i=5sum=4950+100=5050,i=101循环初值循环初值循环终值循环终值循环变量自增循环变量自增循环体循环体pgotogoto语句的用途:语句的用途:l与与ifif语句一起构成循环结构语句一起构成循环结构l从循环体中跳到循环体外。从循环体中跳到循环体外。gotogoto语句不符合结构化编程的原则,一般不提倡采用语句不符合结构化编程的原则,一般不提倡采用3.3.2 while3.3.2 while语句语句n问题提出:编程实现计算问题提出:编程实现计算1 11010的数的和。的数的和。#include void main()int sum=0; sum=1+2+

5、3+4+5+6+7+8+9+10; printf(%d,sum);p进一步,计算进一步,计算1100的数的和。的数的和。p再进一步,如果要求计算再进一步,如果要求计算110000110000的数的和呢?的数的和呢?#include void main() int sum=0; sum=1+2+3+4+5+6+99+100; printf(%d,sum);此类问题如何解决此类问题如何解决p从从1100的数相加问题的特点的数相加问题的特点分析分析l重复做加操作重复做加操作l加操作的规律:下一次的加数比上一次加数大加操作的规律:下一次的加数比上一次加数大1l结束加操作的条件明确结束加操作的条件明确此

6、类问题都需要用循环结构解决此类问题都需要用循环结构解决n执行流程:执行流程:表达式表达式循环体循环体假假(0)真真(非非0)n格式:格式:while(表达式表达式) 语句语句;whilewhile语句中的表达语句中的表达式一般是关系表达式式一般是关系表达式或逻辑表达式或逻辑表达式, , 也可也可以为其他类型。以为其他类型。循环体中一定要有能循环体中一定要有能使表达式变为使表达式变为0 0的操的操作,即有使循环趋于作,即有使循环趋于结束的语句,否则会结束的语句,否则会造成死循环。造成死循环。 例例3.263.26用用whilewhile循环语句实现求循环语句实现求1+2+.1001+2+.100

7、#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);while(i=100) i+; sum=sum+i;程序作如下修改,结程序作如下修改,结果有无变化?果有无变化?3.273.27统计输入的字符的个数。统计输入的字符的个数。#include void main()int n=0;printf(请输入一个字符串:请输入一个字符串:);while(getchar()!=n) n+;printf(字符个数:字符个数:%d个。个。n,n); 思考思考 统计输入的大写字符个数。统计输入的大写字符个数。

8、 #include void main() int n=0; char c; printf(请输入一个字符串:请输入一个字符串:); while(c=getchar()!=n) if (c=A) n+; printf(“大写字符个数:大写字符个数:%d个。个。n,n);注意:设计循环时需要考虑如下因素:注意:设计循环时需要考虑如下因素:p循环条件,要避免死循环循环条件,要避免死循环p循环变量,要能使循环须向结束循环变量,要能使循环须向结束1.循环体,若有多条语句,要使用循环体,若有多条语句,要使用“”例例3.28 求圆周率求圆周率的近似值。公式为:的近似值。公式为:/4=1-1/3+1/5-1

9、/7+1/9-直到上述级直到上述级数最后一项的绝对值小于数最后一项的绝对值小于10-4为止。为止。float pi=0,t=1.0,n=1.0;while(1.0/n=1e-4) pi=pi+t*1.0/n ; n+=2.0; t=-1*t; pi=pi*4;printf(n=%f,pi=%fn,n,pi);分母分母n每次增加每次增加2t用作正负交替用作正负交替3.3.3 do-while3.3.3 do-while语句语句n一般形式:一般形式:do 循环体语句循环体语句;while(表达式表达式);do和和while必须成对出必须成对出现,现,while后的分号不可后的分号不可丢。循环体如有

10、多条语句,丢。循环体如有多条语句,要用要用括起来。括起来。假假(0)do循环体循环体表达式表达式真真(非非0)循环体至少会循环体至少会执行一次。执行一次。 例例3.29while3.29while和和do-whiledo-while循环比较。循环比较。 #include void main()int sum=0,i; printf(“请输入起始请输入起始 值值i:); scanf(%d,&i); do sum=sum+i; i+; while(i=100); printf(sum=%dn,sum); #include void main() int sum=0,i; printf(“请输入起始

11、请输入起始值值i:); scanf(%d,&i); while(i=100) sum=sum+i;i+; printf(sum=%dn,sum); 在一般情况下,用在一般情况下,用whilewhile语句和语句和do-whiledo-while语语句处理同一个问题时,若二者的循环体部分句处理同一个问题时,若二者的循环体部分一样,他们的结果也一样。只是如果一样,他们的结果也一样。只是如果whilewhile后面的表达式一开始就为假(后面的表达式一开始就为假(0 0值)时,两值)时,两者的结果才有区别。者的结果才有区别。ndo-while同同 while语句的重要区别语句的重要区别表达式表达式循环

12、体循环体假假(0)真真(非非0)循环控制在循环体之前,循环控制在循环体之前,只有当只有当whilewhile后的表达式为后的表达式为非非0 0时,才可能执行循环体,时,才可能执行循环体,循环体有可能一次都不执循环体有可能一次都不执行。行。do循环体循环体表达式表达式假假(0)真真(非非0)总是先执行一次循环体,总是先执行一次循环体,然后再求表达式的值,因然后再求表达式的值,因此,无论表达式的值是此,无论表达式的值是0 0还还是非是非0 0,循环体至少执行一,循环体至少执行一次。次。3.3.4 for 3.3.4 for 语句语句n一般形式一般形式nfor语句的一般应用形式语句的一般应用形式fo

13、r(表达式表达式1;表达式表达式2;表达式表达式3)循环体语句循环体语句;for(循环变量赋初值循环变量赋初值;循环条件循环条件;循环变量增值循环变量增值)循环体语句循环体语句;n执行流程执行流程表达式表达式2循环体循环体假假(0)真真(非非0)进入进入for循环循环表达式表达式1表达式表达式3sum=0;for(i=1;i=100;i+) sum+=i;n用用forfor循环语句实现循环语句实现1+2+1001+2+100nforfor语句的几点说明语句的几点说明pforfor语句中表达式语句中表达式1,1,表达式表达式2 ,2 ,表达式表达式3 3 类型任类型任意,且可省略,但表达式后面的

14、分号不可省意,且可省略,但表达式后面的分号不可省省略表达式省略表达式1:i=1;sum=0;for(;i=100;i+) sum=sum+i;省略表达式省略表达式2:for(i=1,sum=0; ; i+) if(i=100) sum=sum+i;省略表达式省略表达式3:for(sum=0,i=1;i=100;)sum=sum+i; i+; 省略表达式省略表达式1和表达式和表达式3:i=1;sum=0;for(;i=100;) sum=sum+i; i+; 3个表达式都省略:个表达式都省略:for( ; ; ) 语句语句;相当于相当于:while(1) 语句语句;nforfor语句的几点说明语

15、句的几点说明pforfor语句可以转换成语句可以转换成whilewhile结构语句结构语句for(表达式表达式1;表达式表达式2;表达表达3)循环体语句循环体语句; 完全等价于:完全等价于:表达式表达式1;while(表达式表达式2)循环体语句循环体语句;表达式表达式3;i=1; for(sum=0; i=100; i+) sum=sum+i;for(sum=0,i=1; i=100; i+) sum=sum+i;nforfor语句的几点说明语句的几点说明p表达式表达式1 1可以是设置循环变量初值的表达式,可以是设置循环变量初值的表达式,也可以是与循环变量无关的其他表达式。也可以是与循环变量无

16、关的其他表达式。for(i=1,j=100;i=j;i+,j-)k=i+j; for (;(c=getchar()!=n;) printf(”%c”,c);nforfor语句的几点说明语句的几点说明p表达式表达式2 2一般是关系表达式或逻辑表达一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表式,但也可以是数值表达式或字符表达式,只要其值非零,就执行循环体。达式,只要其值非零,就执行循环体。例例3.30打印打印200以内能被以内能被3整除的所有整数,整除的所有整数,每行打印每行打印10个数。个数。#include void main() int i,j=0; for(i=3; i=20

17、0; i+) if(i%3=0) printf(%5d,i); j+; if(j%10=0) printf(n); printf(n); 循环体循环体#include void main( ) int i; for(i=0;i10;i+) putchar(a+i); 运行结果:运行结果:abcdefghij 思考思考 从字符从字符a a显示到字符显示到字符j j。 思考思考 观察以下程序运行结果并分析。观察以下程序运行结果并分析。void main()int n=0; while(n3) printf(n is %dn,n); n+;在使用在使用whilewhile时,只有位于判断条件之后时,

18、只有位于判断条件之后的单个语句(简单语句或复合语句)才是的单个语句(简单语句或复合语句)才是循环的部分。循环的部分。 思考思考 观察以下程序运行结果并分析。观察以下程序运行结果并分析。void main(void)int n=0;while(n+3);printf(n is %dn,n);循环在判断条件后的第一个简单或复合语循环在判断条件后的第一个简单或复合语句处就结束了。句处就结束了。3.3.5 3.3.5 循环的嵌套循环的嵌套n循环嵌套:循环嵌套:一个循环内又包含另一个完整的循环结构,一个循环内又包含另一个完整的循环结构,称为循环的嵌套。称为循环的嵌套。 例例3.31 3.31 打印所有的

19、打印所有的3 3位二进制数位二进制数: :void main() int i, j, k; for(i=0;i2;i+) for(j=0;j2;j+) for(k=0; k2; k+) printf(%d%d%d ,i,j,k); printf(n); 运行过程:运行过程:i=0,j=0,k=0k=1j=1,k=0k=1i=1,j=0,k=0k=1j=1,k=0k=1n循环的嵌套说明循环的嵌套说明p三种循环可互相嵌套,层数不限三种循环可互相嵌套,层数不限while() while() do do while(); while();while() do while( ); for( ; ;) d

20、o while(); while() 三种循环的比较三种循环的比较nwhilewhile和和dowhiledowhile中循环体是反复执行的部分中循环体是反复执行的部分, ,要有要有使循环趋于结束的语句。使循环趋于结束的语句。forfor中使循环趋于结束的中使循环趋于结束的操作在表达式操作在表达式3 3中;中;nwhile , do while while , do while 中循环变量初始化在该语句之中循环变量初始化在该语句之前,而前,而forfor是在表达式是在表达式1 1中;中;nwhile, forwhile, for先判断表达式,然后再执行语句,而先判断表达式,然后再执行语句,而d

21、o do while while先执行语句,再判表达式;先执行语句,再判表达式;nwhile , do while , for while , do while , for 可用可用break break 跳出循环,跳出循环,continuecontinue是结束本次循环,而是结束本次循环,而 if - goto if - goto 中不能中不能使用使用break break 和和 continuecontinue语句。语句。3.3.6 break3.3.6 break语句和语句和continuecontinue语句语句n结束结束本层本层循环循环nbreak;while(i100) break

22、; .while后续语句后续语句;n结束结束本次本次循环循环nContinue;while(i100) continue; . while后续语句后续语句;表达式break;假(0)真(非0)whiledobreak;.表达式假(0)真(非0)whilenbreakbreak语句的说明:语句的说明:pbreakbreak只能终止并跳出本层的结构;只能终止并跳出本层的结构;pbreakbreak不能用于循环语句和不能用于循环语句和switchswitch语语句之外的任何其它语句之中。句之外的任何其它语句之中。ncontinuecontinue语句语句p功能:结束本次循环,跳过循环体中尚功能:结束

23、本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循未执行的语句,进行下一次是否执行循环体的判断。环体的判断。p仅用于循环语句中仅用于循环语句中exprcontinue;假(0)真(非0)while真(非0)docontinue;.expr假(0)whileexpr2continue;.假(0)真(非0)forexpr1expr3for(i=1;i100;i+)if (i=5) continue; printf(“%d”,i);程序作用:打印1100中所有不能被5整除的数。void main()int i,a,b,c; for(i=100;i=999;i+) /试探全部三位数试探全部三位

24、数 a=i%10;/ a为为i的个位数的个位数 b=i/10%10;/ b为为i的十位数的十位数 c=i/100;/ c为为i的百位数的百位数 if(a*b*c=a+b+c) printf(“第一个各位之和等于各位之积的第一个各位之和等于各位之积的 三位数是:三位数是:%dn,i); break;/ 跳出循环跳出循环 例例3.323.32找出第一个各位之和与各位之积相等的找出第一个各位之和与各位之积相等的三位数。三位数。#include void main() int i; printf(20以内不能被以内不能被7整除的整数有:整除的整数有:n); for(i=1; i=20; i+) if(

25、i%7=0) continue; printf(%3d,i); 例例3.333.33输出输出2020以内不能被以内不能被7 7整除的数。整除的数。 3.3.7 3.3.7 应用综合举例应用综合举例 例例3.343.34编写程序统计输入的字符串中,大写字母、编写程序统计输入的字符串中,大写字母、小写字母、数字字符和其他字符的个数,并以回车小写字母、数字字符和其他字符的个数,并以回车结束输入。结束输入。#include #include void main()int m=0,n=0,i=0,j=0; char ch; printf(请输入一个字符串,以回车结束请输入一个字符串,以回车结束:n);

26、while(ch=getchar()!=n) if(isupper(ch) m+; else if(islower(ch) n+; elseif(isdigit(ch) i+; else j+; printf(大写字符有大写字符有%d个,小写字符有个,小写字符有%d个,数字字个,数字字符有符有%d个,其他字符有个,其他字符有%d个。个。n,m,n,i,j);isupper()等函数用于判等函数用于判断字符类型的,故要使用断字符类型的,故要使用包含命令将包含命令将ctype.h文件文件包含进来。包含进来。 例例3.353.35求求s=a+aa+aaa+aaaa+aa.as=a+aa+aaa+aa

27、aa+aa.a的值,其中的值,其中a a是是一个数字。相加的项数由键盘输入。一个数字。相加的项数由键盘输入。 思路:这一题关键是计算出每一项的值。用思路:这一题关键是计算出每一项的值。用tntn来表来表示每个加数,每个加数都是由上一个加数示每个加数,每个加数都是由上一个加数tntn* *10+a10+a计计算得到的。设算得到的。设snsn是是n n个数的和。个数的和。 #include void main() int a,n,i=1; int sn=0,tn=0; printf(请输入请输入a与与n的值的值:n); scanf(%d,%d,&a,&n); while(i=n) tn=tn+a;

28、 /tn为为i个个a组成数的值组成数的值 sn=sn+tn; /sn为多项式前为多项式前i项之和项之和 tn=tn*10; i+; /i用来记录相加的项数用来记录相加的项数 printf(a+aa+aaa.=%dn,sn); 例例3.363.36用迭代法求某正数用迭代法求某正数a a的平方根。迭代公式为:的平方根。迭代公式为: 0 . 2001xaxx1.1.先给先给x0 x0赋初值赋初值a/2a/2,代入迭代公式计算出第一个,代入迭代公式计算出第一个x1x1。该。该x1x1的值与的值与a a的平方根还有一定的差距;的平方根还有一定的差距;2.2.将将x1x1之值作为新的之值作为新的x0 x0

29、,用上面的公式再求,用上面的公式再求x1x1的新的新值,该值与值,该值与a a的平方根的差距会缩小;的平方根的差距会缩小;3.3.比较前后两次求得的平方根值比较前后两次求得的平方根值x0 x0和和x1x1,若它们之,若它们之间的误差小于或等于指定的数,则认为该间的误差小于或等于指定的数,则认为该x1x1之值就之值就是是a a的平方根值,否则重新执行第的平方根值,否则重新执行第2 2步,即继续循环步,即继续循环迭代;迭代;4.4.输出输出a a的平方根值。的平方根值。#include #include void main()float i,x0,x1,a; printf(请输入一个正数请输入一个

30、正数a:n ); scanf(%f,&a); if(a1e-5); printf(sqrt(%f)=%fn,a,x1); 例例3.373.37有一分数序列:有一分数序列:2/12/1,3/23/2,5/35/3,8/58/5,13/813/8,21/1321/13,求出这个数列的前,求出这个数列的前2020项之和。项之和。可以看到这个分数序列的规律,就是前一项的分子可以看到这个分数序列的规律,就是前一项的分子与分母之和为下一项的分子,而前一项的分子是下与分母之和为下一项的分子,而前一项的分子是下一项的分母。一项的分母。 #include void main()int i; float s=0,

31、a=2.0,b=1.0,t; for(i=1;i=20;i+) s=s+a/b; t=a; a=a+b; /*前一项分子与分母之和作为下一项前一项分子与分母之和作为下一项的分子的分子*/ b=t; /*前一项的分子作为下一项的分母前一项的分子作为下一项的分母*/ printf(数列前数列前20项之和为:项之和为:%.3fn,s);要做除法,分子分要做除法,分子分母应定义成实型数母应定义成实型数 例例3.383.38在屏幕上显示在屏幕上显示100100200200之间所有的素数。之间所有的素数。如果要判断如果要判断m m是否为素数,只需要用它去除以是否为素数,只需要用它去除以2 2到到sqrt(

32、m)sqrt(m)之间的数,如果能被其间任意一个数整除,之间的数,如果能被其间任意一个数整除,则表明则表明m m不是素数,反之是素数。另外,如果不是素数,反之是素数。另外,如果m m是偶是偶数,则数,则m m一定不是素数,因此只用判断一定不是素数,因此只用判断101101200200之间之间的奇数是否为素数即可。的奇数是否为素数即可。 #include #include void main() int m,i,k,n=0; for(m=101;m200;m=m+2) 判断判断m是否为素数,若是则打印是否为素数,若是则打印; printf(n);/判断判断m是否为素数,若是则打印是否为素数,若是

33、则打印;k=sqrt(m);for(i=2;i=k+1) /m未被整除,是素数未被整除,是素数 printf(%5d,m); n=n+1; /n用来记录打印了几个素数用来记录打印了几个素数 */ if(n%10=0) printf(n);/* 每打每打印印10个素数就换行个素数就换行 */循环有两种循环有两种结束方式结束方式用用ifif来断定循环来断定循环是如何结束的是如何结束的 例例3.393.39将一个正整数分解为质因数相乘的形式。将一个正整数分解为质因数相乘的形式。例如:输入例如:输入9090,打印出,打印出90=190=1* *2 2 * *3 3* *3 3* *5 5。 对对n n

34、进行分解质因数,应先找到一个最小的质数进行分解质因数,应先找到一个最小的质数k k,然后按下述步骤完成:然后按下述步骤完成:1.1.如果这个质数恰等于如果这个质数恰等于n n,则说明分解质因数的过,则说明分解质因数的过程已经结束,打印出即可。程已经结束,打印出即可。2.2.如果如果nknk,但,但n n能被能被k k整除,则应打印出整除,则应打印出k k的值,的值,并用并用n n除以除以k k的商,作为新的正整数的商,作为新的正整数n n,重复执行步,重复执行步骤骤1 1。3.3.如果如果n n不能被不能被k k整除,则用整除,则用k+1k+1作为作为k k的值,重复执的值,重复执行步骤行步骤

35、1 1。#include void main()int n,i; printf(请输入正整数请输入正整数n: ); scanf(%d,&n); printf(%d=1*,n); do for(i=2;in;i+) /寻找能整除寻找能整除n的最小质数的最小质数 if(n%i=0) /i能整除能整除n printf(%d*,i); n=n/i; break; while(n!=i); printf(“%dn”,n); /输出最后一个因子输出最后一个因子 例例3.403.40按要求打印九九乘法表。按要求打印九九乘法表。1 1* *1=11=11 1* *2=2 22=2 2* *2=42=41 1*

36、 *3=3 23=3 2* *3=6 33=6 3* *3=93=91 1* *9=9 29=9 2* *9=18 89=18 8* *9=72 99=72 9* *9=81 9=81 对于此类打印二维表格或图形的题目,往往要用双对于此类打印二维表格或图形的题目,往往要用双重循环解决。循环中设置重循环解决。循环中设置2 2个循环变量,分别控制行个循环变量,分别控制行列的输出。列的输出。 #include void main() int i,j; for(i=1;i=9;i+) /i控制行数控制行数 for(j=1;j=i;j+)/ i行要输出行要输出i个乘式个乘式 printf(%d*%d=%

37、dt,j,i,j*i); printf(n); 思考思考 打印如图显示的图形打印如图显示的图形#include void main() int row; char ch; for(row=0;row6;row+ ) for(ch=(A+row);ch(A+6);ch+)printf(%c,ch);printf(n); 3.4 3.4 本章小结及常见错误列举本章小结及常见错误列举(1)include后面添加多余分号。例如:后面添加多余分号。例如:#include ;诸如诸如include、define之类以之类以“#”开头的是开头的是C语言的预语言的预处理命令,并非语句,所以不能添加分号。处理命

38、令,并非语句,所以不能添加分号。(2)在使用)在使用scanf函数时,变量的前面漏写函数时,变量的前面漏写“&”。例如:。例如:int a;scanf(%d,a);/*错误错误*/scanf函数是将键盘输入的内容送入变量所在地址,变量函数是将键盘输入的内容送入变量所在地址,变量名前面加上名前面加上“&”符号代表取地址。符号代表取地址。(3)scanf函数的操作对象只能为变量。例如:函数的操作对象只能为变量。例如:scanf(%d,&(a+b); /*错误错误*/因为表达式是没有存储地址的。因为表达式是没有存储地址的。(4)scanf函数可以规定输入宽度,但不能规定输入精度。函数可以规定输入宽度

39、,但不能规定输入精度。scanf(%3d,a);/*正确正确*/scanf(%5.2f,&b);/*错误错误*/(5)printf函数可以根据需要在格式控制字符串中随意添函数可以根据需要在格式控制字符串中随意添加转义字符,但加转义字符,但scanf函数中使用转义字符通常会出错。函数中使用转义字符通常会出错。scanf(%d,%dn,&a,&b);无法正确的输入变量,去掉无法正确的输入变量,去掉“n”后才能正确执行。后才能正确执行。(6)忘记必要的逻辑运算符。如:)忘记必要的逻辑运算符。如:if(abc)本意为如果本意为如果ab并且并且bc,由于数学中使用,由于数学中使用abc的形式,的形式,也就把它搬到计算机程序中。而在也就把它搬到计算机程序中。而在C语言程序中,语言程序中,abc的求值是先求的求值是先求ab,得到一个逻辑值,得到一个逻辑值0或或1,再拿这个数与,再拿这个数与c作比较,结果当然是不对的。对于这种情况,应该写成:作比较,结果当然是不对的。对于这种情况,应该写

温馨提示

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

评论

0/150

提交评论