C语言数组教学课件_第1页
C语言数组教学课件_第2页
C语言数组教学课件_第3页
C语言数组教学课件_第4页
C语言数组教学课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第六章数组数组地基本概念一维数组地定义与引用二维数组地定义与引用字符数组地定义与引用基本概念一,前面使用地数据类型属于基本类型(整型,实型,字符型)存储特点:每个变量单独存储,称为简单变量。如:x=‘a’;y一=零;y二=-二*x;各变量之间单独存放,无任何联系。二,构造类型地基本概念构造类型:由基本类型构造而成地(如数组,结构体,同体,枚举型)。如:inta[一零]; floatb[三][四]; structstudent { intnum; charname[二零]; charsex; intage; floatscore; charaddr[三零]; }student一,student二;三,数组概念数组:按序排列地具有相同类型地变量地集合。用一符号名(数组名)来表示这一组数;用数组名后跟下标来唯一地确定数组地元素;数组地首地址,数组元素地类型与个数(数组长度)。一维数组一,定义一维数组类型名数组名一[exp],数组名二[exp],…其:exp为常量表达式如: intA[一零],b[五];charc[八]; floatX[二零],y[四*M+一],w[五];(M为符号常量)注意:一)数组名命名规则与简单变量名相同;二)数组名后只能是方括号括起来地常量表达式(常量与符号常量);三)常量表达式地值确定数组元素地个数。此时数组类型为整型,每个数据元素相当于一个整型变量,占二个字节(TurboC)a[零]a[一]a[二]a[三]...a[九九]八六九二七七五二...九四低地址

高地址二,一维数组地存储用连续地内存单元存放各个元素。如:inta[一零零];总字节数=sizeof(基本类型)*数组元素个数三,一维数组地引用数组需要先定义后引用;C语言规定只能逐个引用数组元素,而不能一次引用整个数组。引用地一维数组元素地一般形式:数组名[下标]/*下标可以是整型常量或整型表达式,从零开始,最大下标值为数组元素个数-一*/如:a[零]=a[五]+a[七]-a[二*三]例:读程序,写出程序输出地结果。#include<stdio.h>voidmain(){inti,a[一零];for(i=零;i<=九;i++)a[i]=i;for(i=九;i>=零;i--)printf("%d",a[i]);printf("\n");}数组元素地下标常用循环变量控制。i=零a[零]=零i=一a[一]=一……i=九a[九]=九四,一维数组地初始化一)在定义数组时对数组元素赋初值如:inta[四]={一,二,三,四};等价于a[零]=一,a[一]=二,a[二]=三,a[三]=四二)给一部分元素赋初值如:intb[一零]={一,二};等价于:b[零]=一,b[一]=二,b[二]=零,…,b[九]=零四,一维数组地初始化三)若对全部数组元素赋初值时,可以不指定数组长度。如:intc[]={一,二,三,四,五};//自动定义c数组长度为五注意:若被定义数组长度与提供初值地个数不相同,则数组长度不能省略。如:inta[一零]={一,二,三,四,五};例:数组地初始化#include<stdio.h>voidmain(){inta[五]={一,二,三,四,五};intb[五]={一,二,三};intc[]={一,二,三,四,五};intd[五];inti;for(i=零;i<五;i++)printf("%d",a[i]); printf("\n");for(i=零;i<五;i++)printf("%d",b[i]); printf("\n");for(i=零;i<五;i++)printf("%d",c[i]); printf("\n");for(i=零;i<五;i++)printf("%d",d[i]); printf("\n");}例:已知一个含一零个元素地整型数组,求该数组地最大值,最小值与均值。#include<stdio.h>voidmain(){ inta[一零]={九,九,八,三,七,一五,六,一,三,二}; intmax,min,sum,i; floatave; max=min=sum=a[零]; for(i=一;i<=九;++i) { if(max<a[i]) max=a[i]; } for(i=一;i<=九;++i) { if(min>a[i]) min=a[i]; } 例:已知一个含一零个元素地整型数组,求该数组地最大值,最小值与均值。 for(i=一;i<=九;++i) { sum+=a[i];} ave=sum/一零.零; printf("Themaxis%d\n",max); printf("Theminis%d\n",min); printf("Theaverageis%f\n",ave);}例:已知一个含一零个元素地整型数组,求该数组地最大值,最小值与均值。#include<stdio.h>voidmain(){ inta[一零]={九,九,八,三,七,一五,六,一,三,二}; intmax,min,sum,i; floatave; max=min=sum=a[零]; for(i=一;i<=九;++i) { if(max<a[i]) max=a[i]; if(min>a[i]) min=a[i]; sum+=a[i];} ave=sum/一零.零; printf("Themaxis%d\n",max); printf("Theminis%d\n",min); printf("Theaverageis%f\n",ave);}例:统计选票。设候选有八,其编号为一~八,约定零为统计结束标志。分析:若用简单变量做,需要八个变量分别存放八个候选地票数;读入一张选票,则行判断,累加。#include<stdio.h>voidmain(){intx,n一,n二,n三,n四,n五,n六,n七,n八;printf("inputnumber:");scanf("%d",&x);while(x){if(x==一)n一+=一;if(x==二)n二+=一;…if(x==八)n八+=一;printf("inputnumber:");scanf("%d",&x);}…}intx,n一,n二,n三,n四,n五,n六,n七,n八;n一=n二=n三=n四=n五=n六=n七=n八=零;用数组统计:定义一个数组n[九]n[一]元素存放编号为一地候选票数;n[二]元素存放编号为二地候选票数;……n[八]元素存放编号为八地候选票数;数组元素地下标与要统计地候选地编号相吻合,故可直接采用:n[x]=n[x]+一#include<stdio.h>voidmain(){intx,n[九]={零};printf("inputnumber:");scanf("%d",&x);while(x){n[x]=n[x]+一;printf("inputnumber:");scanf("%d",&x);}for(x=一;x<=八;x++){printf("No.%d=%d",x,n[x]);if(x%二==零)printf("\n");}}利用数组作为一组计数器,通过将统计对象地值与存放该统计值地下标联系起来,这样既可以使程序简洁,又提高程序效率。用起泡法对几个数排序(由小到大)。起泡法地思路:将相邻两个数比较,将小地调到前面。第一趟比较经过第一趟(五次比较与换)后,最大地数九已"沉底"。如果有n个数,则要行n-一趟比较。在第一趟比较要行n-一次两两比较,在第j趟比较要行n-j次两两比较。第二趟比较分析可知:要排序地数需要放入数组;用二重循环控制排序过程:外循环j控制比较趟数(n-一趟)内循环i控制一趟比较地次数(n-j次)#include<stdio.h>voidmain(){inta[一一],i,j,t;printf(″input一零numbers:\n″);for(i=一;i<=一零;i++)scanf("%d",&a[i]);printf("\n");for(j=一;j<=一零-一;j++)for(i=一;i<=一零-j;i++)if(a[i]>a[i+一]){t=a[i];a[i]=a[i+一];a[i+一]=t;}printf(″thesortednumbers:\n″);for(i=一;i<=一零;i++)printf(″%d″,a[i]);printf(″\n″);}input一零numbers:一零四八一二六五-七六一零零-四五一二三↙thesortednumbers:-七六-四五零一四八一二六五一零零一二三二维数组一,二维数组地定义类型名数组名[exp一][exp二],…如:inta[三][四],b[四][M];(M是符号常量)定义:a为三*四(三行四列)地整型数组b为四*M(四行M列)地整型数组不能写成inta[三,四],b[四,M];可把a[三][四]理解为三*四地矩阵二维数组可以看作一种特殊地一维数组:它地元素又是一个一维数组。如:inta[三][四];可将a数组看作是一个一维数组,它有三个元素:a[零],a[一],a[二],每个元素又是一个包含四个元素地一维数组。二维数组可以看作一种特殊地一维数组:它地元素又是一个一维数组。如:inta[三][四];可将a数组看作是一个一维数组,它有三个元素:a[零],a[一],a[二],每个元素又是一个包含四个元素地一维数组。a[零] a[零][零] a[零][一] a[零][二] a[零][三]a[一] a[一][零] a[一][一] a[一][二] a[一][三]a[二] a[二][零] a[二][一] a[二][二] a[二][三]二,二维数组地存储二维数组从概念上可理解为行-列矩阵,但存储器是一维地,需按一定规则转换。在内存,二维数组元素排列地顺序是---按行存放:先顺序存放第一行地元素,再存放第二行地元素……(右边下标比左边下标变化快)。地址值数组元素b[零][零]b[零][一]b[零][二]b[一][零]b[一][一]b[一][二]b[二][零]b[二][一]b[二][二]三零零零H三零零二H三零零四H三零零六H三零零八H三零零AH三零零CH三零零EH三零一零H例:整型数组intb[三][三]={{一,二,三},{四,五,六},{七,八,九}};一二三四五六七八九三,二维数组地引用二维数组地元素地引用形式:数组名[下标][下标]如:inta[二][四],b[五][三]; a[二-一][二*二-一] b[一][二]=a[一][三]/二;下标可以是整型表达式注意下标地最大取值,即注意数组定义与数组引用地区别:如:inta[三][四];则下标下限值是a[零][零]下标上限值是a[二][三]四,二维数组地初始化(按行存放)一)按存放顺序赋如:intx[二][三]={一,二,三,四,五,六};等价于: x[零][零]=一,x[零][一]=二,x[零][二]=三 x[一][零]=四,x[一][一]=五,x[一][二]=六二)按行赋如:intx[二][三]={{一,二,三},{四,五,六}};三)部分赋如:intx[二][三]={一,二,四};/*以存放顺序赋*/等价于: x[零][零]=一,x[零][一]=二,x[零][二]=四 x[一][零]=零,x[一][一]=零,x[一][二]=零如:intx[二][三]={{一,二},{四}};/*以行赋*/等价于: x[零][零]=一,x[零][一]=二,x[零][二]=零 x[一][零]=四,x[一][一]=零,x[一][二]=零问:intx[二][三]={{六,二},{五,零}};每个元素是多少?四)省略第一维长度如:intx[][三]={一,二,三,四,五,六,七};等价于: x[零][零]=一,x[零][一]=二,x[零][二]=三, x[一][零]=四,x[一][一]=五,x[一][二]=六, x[二][零]=七,x[二][一]=零,x[二][二]=零问:能否省略第二维地长度?例:二维数组地输入与输出#include<stdio.h>voidmain(){inta[三][三],i,j;for(i=零;i<=二;i++){for(j=零;j<=二;j++)scanf("%d",&a[i][j]); }for(i=零;i<=二;i++){for(j=零;j<=二;j++)printf("%二d",a[i][j]);printf("\n");}}i=零a[零][零]=一a[零][一]=二a[零][二]=三i=一a[一][零]=四a[一][一]=五a[一][二]=六i=二a[二][零]=七a[二][一]=八a[二][二]=九若输入一二三四五六七八九,则结果为?例:二维数组地输入与输出#include<stdio.h>voidmain(){inta[三][三],i,j;for(i=零;i<=二;i++){for(j=零;j<=二;j++)scanf("%d",&a[i][j]); }for(i=零;i<=二;i++){for(j=零;j<=二;j++)printf("%二d",a[i][j]);printf("\n");}}一般二维数组地处理用二重循环来实现,用循环变量地值控制数组元素地下标。#include<stdio.h>voidmain(){inta[三][三],i,j;for(i=零;i<=二;i++){for(j=零;j<=二;j++)scanf("%d",&a[j][i]);}for(i=零;i<=二;i++){for(j=零;j<=二;j++)printf("%二d",a[i][j]);printf("\n");}}for(i=零;i<=二;i++)printf("%五d",a[i][i]);一二三四五六七八九一四七二五八三六九i=零a[零][零]=一a[一][零]=二a[二][零]=三i=一a[零][一]=四a[一][一]=五a[二][一]=六i=二a[零][二]=七a[一][二]=八a[二][二]=九例:通过循环按行顺序为一个五×五地二维数组a赋一到二五地自然数,然后求所有元素地总与,并按行输出该数组左下半三角地元素。一,对二维数组赋值一~二五二,求所有元素地总与三,输出数组左下半三角地元素若用i代表行下标,j代表列下标,即i>=j元素输出。#include<stdio.h>voidmain(){inta[五][五],i,j,k=一,s=零;for(i=零;i<=四;i++){for(j=零;j<=四;j++){a[i][j]=k;k++;}}for(i=零;i<=四;i++){for(j=零;j<=四;j++){s=s+a[i][j];}}for(i=零;i<=四;i++){for(j=零;j<=四;j++){if(i>=j)printf("%五d",a[i][j]);}printf("\n");}}#include<stdio.h>voidmain(){inta[五][五],i,j,k=一,s=零;for(i=零;i<=四;i++){for(j=零;j<=四;j++){a[i][j]=k;k++;s=s+a[i][j];if(i>=j)printf("%五d",a[i][j]);}printf("\n");}printf("s=%d\n",s);}例:将一个二维数组行与列元素互换,存到另一个二维数组(转置)算法:一)a数组初始化(或赋值)并输出二)用二重循环行转置b[j][i]=a[i][j]三)输出b数组例如:a=一二三一四四五六b=二五三六#include<stdio.h>voidmain(){inta[二][三]={{一,二,三},{四,五,六}};intb[三][二],i,j;printf(″arraya:\n″);for(i=零;i<=一;i++){for(j=零;j<=二;j++){printf(″%五d″,a[i][j]);b[j][i]=a[i][j];}printf(″\n″);}printf(″arrayb:\n″);for(i=零;i<=二;i++){for(j=零;j<=一;j++)printf("%五d″,b[i][j]);printf(″\n″);}}arraya:一二三四五六arrayb:一四二五三六字符数组一,定义字符数组在C语言,没有专门地字符串变量,而是用一个一维数组来存放一个字符串,每个元素存放一个字符;字符数组是数组地一个特殊情况,但定义方法与前面介绍地类似。如:charc[一零];c[零]=‘I’;c[一]=‘’;c[二]=‘a’;c[三]=‘m’;c[四]=‘’;c[五]=‘h’;c[六]=‘a’;c[七]=‘p’;c[八]=‘p’;c[九]=‘y’;二,字符数组地初始化一)按元素赋charc[一零]={’s’,’t’,’o’,’r’,’e’};注意:在C语言,将字符串作为字符数组来处理,即用一个一维数组来存放一个字符串。如:c[一零]存放字符串"store";为了测定实际字符串长度,C语言规定了一个"字符串结束标志",即‘\零’,遇到字符‘\零’时,表示字符串结束。(定义字符数组地长度与字符串长度是两个概念)二)使用字符串常量给字符数组赋初值例:charc[六]={"china"};charc[六]="china";charc[]="china";注意:以字符串方式赋值时,需要保证数组元素个数>=字符个数+一(字符串后面自动加上一个’\零’)例:字符数组初始化#include<stdio.h>voidmain(){chara[七]={‘a’,’p’,’p’,’l’,’e’};charb[七]={"apple"};charc[七];inti;for(i=零;i<=六;i++)printf("%六d%六d%六d\n",a[i],b[i],c[i]);}数组初始化后,剩余地元素均为\零。例:用一字符串给字符数组赋初值,然后打印出各元素地ASCII编码值。#include<stdio.h>voidmain(){charstr[]="agirl";inti=零;while(str[i]!=‘\零’){printf("%c=%d\n",str[i],str[i]);++i;}printf("%c=%d\n",str[i],str[i]);}agirl\零str[零]str[一]str[二]字符串地引用与输入输出对于字符数组,在程序既可以逐个引用字符串地单个字符(数组元素),也可以一次引用整个字符串(数组)。一)逐个字符数组元素输入输出:用%c格式符描述例:chara[一零];for(i=零;i<=九;i++)scanf("%c",&a[i]);printf("%c%c%c",a[零],a[二],a[三]);二)整个字符串(数组)输入输出:用%s格式符描述如:chara[一零];scanf("%s",a);printf("%s",a);注意:用%s输出,无论数组元素有多少个只要遇到"\零"就结束。如:charstar[一零]={"***"};printf("%s\n",star);输入地字符串应短于已定义地字符数组地长度。二)整个字符串(数组)输入输出:用%s格式符描述如:chara[]="china";scanf("%s",a);printf("%s",a);注意:用%s输出,无论数组元素有多少个只要遇到"\零"就结束。如:charstar[三][四]={{"*"},{"**"},{"***"}};printf("%s\n%s\n%s\n",star[零],star[一],star[二]);******如果利用一个scanf函数输入多个字符串,则在输入时以空格分隔。例如:charstrl[五],str二[五],str三[五];scanf("%s%s%s",str一,str二,str三);输入数据:Howareyou?数组未被赋值地元素地值自动置’\零’。用%s输入时,遇到空格或回车便认为一个字符串结束。charstr[一三];scanf("%s",str);printf("%s",str);说明:(一)用"%s"格式符输出字符串时,printf函数地输出项是字符数组名,而不是数组元素名。(二)如果数组长度大于字符串实际长度,也只输出到遇‘\零’结束。(三)输出字符不包括结束符‘\零’。(四)如果一个字符数组包含一个以上‘\零’,则遇第一个‘\零’时输出就结束。(五)可以用scanf函数输入一个字符串。字符串处理函数一)gets(字符数组名)从键盘输入一个字符串(以回车结束)放到数组,并且得到一个函数值,该函数值是字符数组地起始地址。如:gets(str);二)puts(字符数组名/字符串)将数组地字符串(以’\零’结束地字符序列)输出到终端上,输完换行。即puts(str);与printf("%s\n",str);等价,puts("OK!");与printf("%s\n","OK!");等价。#include<stdio.h>#include<string.h>三)strcpy(字符数组一,字符串/字符数组二)将字符串/字符数组二地字符串拷贝到字符数组一。注意:字符数组一地长度>=字符数组二/字符串地长度;拷贝时连同’\零’一起拷贝;不能把字符串或字符数组直接赋给一个字符数组。如:charstr[六];str="China";/*错误,str表示一个地址*/str[零]=‘C’;str[一]=‘h’;strcpy(str,"China");#include<stdio.h>#include<string.h>voidmain(){chars一[四零],s二[四零];printf("请输入串s一:");scanf("%s",s一);strcpy(s二,s一);printf("复制地串s二:");printf("%s\n",s二);}gets(s一);四)strcat(字符数组一,字符串/字符数组二)将字符串或字符数组二连接到字符串一地后面,并放在字符数组一。#include<string.h>#include<stdio.h>voidmain(){charstr一[四零],str二[一零],str三[一零];gets(str一);gets(str二);gets(str三);strcat(str一,str二);strcat(str一,str三);puts(str一);}五)strp(字符数组一/字符串一,字符数组二/字符串二)字符串一>字符串二时,结果为正数;x=strp("abc","ABC");字符串一=字符串二时,结果为零;x=strp("AX","AX");字符串一<字符串二时,结果为负数。x=strp("一零零零","二");注意:对两个字符串地比较,不能用以下形式str一==str二或str一>str二只能用strp(str一,str二)>零或==零或<零来判断。字符串地比较,拷贝,连接都需要用函数。#include<stdio.h>#include<string.h>voidmain(){chars一[四零],s二[四零];inti;printf("输入字符串s一:");gets(s一);printf("输入字符串s二:");gets(s二);i=strp(s一,s二);if(i==零)printf("输入地两字符串相等");elseif(i>零)printf("字符串s一>s二");elseprintf("字符串s一<s二");printf("\n");}六)strlen(字符数组名/字符串)测试字符串长度(不含’\零’)例:strlen("china")值为五六)strlen(字符数组名/字符串)测试字符串长度(不含’\零’)例:strlen("china")值为五#include<stdio.h>#include<string.h>voidmain(){chars[四零];inti;printf("Enterastring:\n");gets(s);i=strlen(s);printf("串长=%d\n",i);for(;i>=零;i--)putchar(s[i]);printf("\n");}作业一:一,使用数组编程实现:统计全班某门功课期末考试地均分与最高分。(设全班数一零)二,编程实现:数组a包含一零个整数,把a所有地后项除以前项之商存入数组b,并按每行三个元素地格式输出数组b。作业一:一,使用数组编程实现:统计全班某门功课期末考试地均分与最高分。(设全班数一零)二,编程实现:已知数组a有一零个元素且均为正整数,求a偶数地个数与偶数地均值。#include<stdio.h>voidmain(){inti=零,a[一零],max=零;floatsum=零;for(i=零;i<=九;i++)scanf("%d",&a[i]);for(i=零;i<=九;i++)sum=sum+a[i];for(i=零;i<=九;i++)if(max<=a[i])max=a[i];printf("均分为%f,最高分为%d",sum/一零,max);}#include<stdio.h>voidmain(){inta[一零]={二,三,四,六,八,五,九,一零,五,八},i,t=零,sum=零;for(i=零;i<=九;i++)if(a[i]%二==零){t++;sum=sum+a[i];}printf("偶数地个数是%d,偶数地均值是%f",t,(float)sum/t);}#include<stdio.h>voidmain(){inta[一零],b[一零];for(i=零;i<=九;i++)scanf("%d",&a[i]);for(i=一;i<=九;i++){b[i]=a[i+一]/a[i];printf("%d",b[i]);if(i%三==零)printf("\n");}}作业二:一,编程实现:从键盘输入一个字符,找出该字符在已知字符串"Hello,world!"第一次出现地位置。若不在该字符串,则打印"该字符不在已知字符串"。二,编程实现:通过循环按行顺序为一个五×五地二维数组a赋一到二五地自然数,然后求所有元素地总与,并按行输出该数组左下半三角地元素。作业二:一,编程实现:已知数组a有一零个元素且均为正整数,求a偶数地个数与偶数地均值。二,编程实现:从键盘输入一个字符,找出该字符在已知字符串"Hello,world!"第一次出现地位置。若不在该字符串,则打印"该字符不在已知字符串"。#include<stdio.h>voidmain(){inta[一零]={二,三,四,六,八,五,九,一零,五,八},i,t=零,sum=零;for(i=零;i<=九;i++){if(a[i]%二==零){t++;sum=sum+a[i];}}printf("偶数地个数是%d,偶数地均值是%f",t,(float)sum/t);}Hello,world!\零s[零]s[一]s[二]s[一二]若输入字符与s[零]相等,则在第一个位置若输入字符与s[一]相等,则在第二个位置…….若输入字符与s[i]相等,则在第i+一个位置若从前扫描到最后还没找到该字符,即搜索到\零还没找到。#include<stdio.h>voidmain(){chars[一三]="Hello,world!",a;inti=零;scanf("%c",&a);while(s[i]!=‘\零’){if(a==s[i]){printf("该字符位于第%d位",i+一);break;}elsei++;}if(i==一二)printf("该字符不在字符串!");}#include<stdio.h>voidmain(){inta[五][五],i,j,k=一;for(i=零;i<=四;i++){for(j=零;j<=四;j++){a[i][j]=k;k++;if(i>=j)printf("%五d",a[i][j]);}printf("\n");}}作业三:一,编程实现:已知数组a有一零个元素且均为正整数,求a偶数地个数与偶数地均值。二,编程实现:已知数组a是一个四*四地二维数组,首先以行列地形式输出该数组,再检查该数组是否对称(即对所有i与j都有a[i][j]=a[j][i])并输出相应地信息。#include<stdio.h>voidmain(){inta[四][四]={{二,三,四,六},{八,五,九,一零},{五,八,六,八},{三,四,七,八}},i,j,flag=零;for(i=零;i<=三;i++){for(j=零;j<=三;j++){printf("%五d",a[i][j]);if(a[i][j]==a[j][i])continue;elseflag=一;}printf("\n");}if(flag==零)printf("对称");elseprintf("不对称");}一,以下对一维整型数组a地正确说明是。A)inta(一零); B)intn=一零,a[n];C)intn;scanf("%d",&n);inta[n]; D)#defineSIZE一零inta[SIZE];二,以下能对一维数组a行正确初始化地语句是。A)inta[一零]=(零,零,零,零,零);B)inta[一零]={};C)inta[]={零};D)inta[一零]={一零*一};三,分析下列程序main(){ intn[三],i,j,k; for(i=零;i<三;i++) n[i]=零; k=二; for(i=零;i<k;i++) for(j=零;j<k;j++) n[j]=n[i]+一; printf("%d\n",n[一]);}上述程序运行后,输出地结果是。A)二B)一C)零D)三四,若有如下定义:inta[三][三]={一,二,三,四,五,六,七,八,九},i;则下列语句地输出结果是:。for(i=零;i<=二;i++)printf("%d",a[i][二-i]);A)三五七B)三六九C)一五九D)一四七五,若有说明:inta[三][四]={零};则下面正确地叙述是:。A)只有元素a[零][零]可以得到初值零B)此说明语句不正确C)数组a每个元素均可得到初值

温馨提示

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

评论

0/150

提交评论