程序設(shè)計基礎(chǔ)(C語言)(第2版)(微課版) 課件 第9章結(jié)構(gòu)體、共同體和枚舉_第1頁
程序設(shè)計基礎(chǔ)(C語言)(第2版)(微課版) 課件 第9章結(jié)構(gòu)體、共同體和枚舉_第2頁
程序設(shè)計基礎(chǔ)(C語言)(第2版)(微課版) 課件 第9章結(jié)構(gòu)體、共同體和枚舉_第3頁
程序設(shè)計基礎(chǔ)(C語言)(第2版)(微課版) 課件 第9章結(jié)構(gòu)體、共同體和枚舉_第4頁
程序設(shè)計基礎(chǔ)(C語言)(第2版)(微課版) 課件 第9章結(jié)構(gòu)體、共同體和枚舉_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第九章結(jié)構(gòu)體、共用體和枚舉目錄CONTENTS指針與結(jié)構(gòu)體共用體類型與變量9.2結(jié)構(gòu)體類型與變量結(jié)構(gòu)體數(shù)組9.19.39.49.5結(jié)構(gòu)體應(yīng)用枚舉類型與變量自定義數(shù)據(jù)類型9.69.7綜合應(yīng)用9.8結(jié)構(gòu)體類型與變量9.1結(jié)構(gòu)體變量的引用結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義結(jié)構(gòu)體變量的初始化結(jié)構(gòu)體類型與變量結(jié)構(gòu)體類型:結(jié)構(gòu)體是一種構(gòu)造數(shù)據(jù)類型用途:把不同類型的數(shù)據(jù)組合成一個整體—自定義數(shù)據(jù)類型結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01struct[結(jié)構(gòu)體名]{

類型標識符成員名1;類型標識符成員名2;

…………….};成員類型可以是基本型或構(gòu)造型struct是關(guān)鍵字,不能省略合法標識符可省:無名結(jié)構(gòu)體結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01結(jié)構(gòu)體類型定義結(jié)構(gòu)體類型定義描述結(jié)構(gòu)的組織形式,不分配內(nèi)存注:‘;’不能省成員列表的格式為:類型

成員名;structSD{ intnum; charname[20]; charsex[3]; floatscore;};在這個結(jié)構(gòu)體定義中,結(jié)構(gòu)體名為SD,該結(jié)構(gòu)體由4個成員組成:第一個成員為num,整型變量;第二個成員為name,字符數(shù)組;第三個成員為sex,字符數(shù)組;第四個成員為score,實型變量。定義結(jié)構(gòu)體變量3種方法:結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01例如:

structsd{intnum;charname[20];charsex[3];floatscore;};structsdx1,x2;程序說明了兩個變量x1和x2為sd結(jié)構(gòu)體類型。struct結(jié)構(gòu)體名{

類型標識符成員名;類型標識符成員名;

…………….};struct結(jié)構(gòu)體名

變量名表列;(1)先定義結(jié)構(gòu),再說明結(jié)構(gòu)體變量。(2)在定義結(jié)構(gòu)體類型的同時說明結(jié)構(gòu)體變量。結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01例如:structsd{intnum;charname[20];charsex[3];floatscore;}x1,x2;struct結(jié)構(gòu)體名{

類型標識符成員名;類型標識符成員名;

…………….}變量名表列;結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01例如:struct{intnum;charname[20];charsex[3];floatscore;}x1,x2;(3)直接說明結(jié)構(gòu)體變量。struct{

類型標識符成員名;類型標識符成員名;

…………….}變量名表列;用無名結(jié)構(gòu)體直接定義變量只能一次結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01structdate{intmonth;intday;intyear;}struct{intnum;charname[20];charsex[3];structdatebirthday;floatscore;}x1,x2;使用結(jié)構(gòu)體嵌套定義,可以增強結(jié)構(gòu)體類型描述現(xiàn)實世界中各種事物的能力。說明結(jié)構(gòu)體類型與結(jié)構(gòu)體變量概念不同類型:不分配內(nèi)存;

變量:分配內(nèi)存類型:不能賦值、存取、運算;變量:可以結(jié)構(gòu)體可嵌套結(jié)構(gòu)體成員名與程序中變量名可相同,不會混淆結(jié)構(gòu)體類型及變量的作用域與生存期結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的定義01例

structstudent{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu;numnamebirthdaymonthdayyear例

structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];

structdatebirthday;}stu;numnamebirthdaymonthdayyear由結(jié)構(gòu)體變量名引用其成員結(jié)構(gòu)體變量不能整體引用,只能引用變量成員可以將一個結(jié)構(gòu)體變量賦值給另一個結(jié)構(gòu)體變量結(jié)構(gòu)體嵌套時逐級引用引用方式:結(jié)構(gòu)體變量名.成員名成員(分量)運算符優(yōu)先級:1結(jié)合性:從左向右例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;stu1.num=10;stu1.score=85.5;stu1.score+=stu2.score;stu1.age++;例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;printf(“%d,%s,%c,%d,%f,%s\n”,stu1);(

)stu1={101,“WanLin”,‘M’,19,87.5,“DaLian”};(

)例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;stu2=stu1;()例structstudent{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu1,stu2;numnamebirthdaymonthdayyearstu1.birthday.month=12;例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;if(stu1==stu2)……..(

)結(jié)構(gòu)體變量的引用02形式一:struct結(jié)構(gòu)體名{

類型標識符成員名;類型標識符成員名;

…………….};struct結(jié)構(gòu)體名

結(jié)構(gòu)體變量={初始數(shù)據(jù)};例structstudent{intnum;charname[20];charsex;intage;charaddr[30];};structstudentstu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};結(jié)構(gòu)體變量的初始化03形式二:struct結(jié)構(gòu)體名{

類型標識符成員名;類型標識符成員名;

…………….}結(jié)構(gòu)體變量={初始數(shù)據(jù)};例structstudent{intnum;charname[20];charsex;intage;charaddr[30];}stu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};結(jié)構(gòu)體變量的初始化03形式三:struct{

類型標識符成員名;類型標識符成員名;

…………….}結(jié)構(gòu)體變量={初始數(shù)據(jù)};例struct{intnum;charname[20];charsex;intage;charaddr[30];}stu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};結(jié)構(gòu)體變量的初始化03結(jié)構(gòu)體變量的初始化03例在定義結(jié)構(gòu)體變量時進行初始化。

#include"stdio.h" structsd { intnum; char*name; charsex; floatscore; }x2,x1={101,"chenzhong",'M',91}; intmain() { x2=x1; printf("Number=%d\nName=%s\n",x2.num,); printf("Sex=%c\nScore=%f\n",x2.sex,x2.score); return0; }結(jié)構(gòu)體數(shù)組9.2

結(jié)構(gòu)體數(shù)組的初始化結(jié)構(gòu)體數(shù)組的定義結(jié)構(gòu)體數(shù)組元素引用舉例結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組的定義01結(jié)構(gòu)體數(shù)組定義一般形式為:struct結(jié)構(gòu)體類型名數(shù)組名[常量表達]例如:structsd{intnum;charname[20];charsex;floatscore;}b[2];結(jié)構(gòu)體數(shù)組的初始化02例如:structsd{intnum;char*name;charsex;floatscore;}boy[5]={{100,"HY",'M',75},{101,"ztp",'M',65},{102,"wyong",'F',95},{103,"wangwei",'F',85},{104,"jzhen",'M',45};}結(jié)構(gòu)體數(shù)組元素引用舉例03#include"stdio.h"structtxl{charname[25];charcall[15];};intmain(){structtxlman[35];inti;for(i=0;i<35;i++){printf("inputname:\n");gets(man[i].name);printf("inputcall:\n");gets(man[i].call);}printf("name\t\tcall\n");for(i=0;i<35;i++)printf("%s\t\t\t%s\n",man[i].name,man[i].call);return0;}

例:建立同學(xué)通訊錄指針與結(jié)構(gòu)體9.3指向結(jié)構(gòu)體數(shù)組的指針指向結(jié)構(gòu)體變量的指針結(jié)構(gòu)體與函數(shù)參數(shù)指針與結(jié)構(gòu)體指向結(jié)構(gòu)體變量的指針定義形式:struct結(jié)構(gòu)體名*結(jié)構(gòu)體指針名;例structstudent*p;使用結(jié)構(gòu)體指針變量引用成員形式存放結(jié)構(gòu)體變量在內(nèi)存的起始地址numnamesexagestupstructstudent{intnum;charname[20];charsex;intage;}stu;structstudent*p=&stu;(*結(jié)構(gòu)體指針名).成員名結(jié)構(gòu)體指針名->成員名結(jié)構(gòu)體變量名.成員名指向運算符優(yōu)先級:1結(jié)合方向:從左向右例intn;int*p=&n;*p=10;

n=10structstudentstu1;structstudent*p=&stu1;stu1.num=101;(*p).num=101指向結(jié)構(gòu)體變量的指針01main(){structstudent{longintnum; charname[20]; charsex; floatscore;}stu_1,*p;p=&stu_1;stu_1.num=89101;strcpy(stu_1.name,"LiLin");p->sex='M';p->score=89.5;printf("\nNo:%ld\nname:%s\nsex:%c\nscore:%f\n", (*p).num,p->name,stu_1.sex,p->score);}指向結(jié)構(gòu)體變量的指針01指向結(jié)構(gòu)體變量的指針01例9.3:結(jié)構(gòu)體變量成員的3種引用方式。#include"stdio.h"structsd{intnum;char*name;charsex;floatscore;}b1={1001,"Wang",'M',99},*p;intmain(){p=&b1;printf("Number=%d\nName=%s\n",b1.num,);printf("Sex=%c\nScore=%f\n\n",b1.sex,b1.score);printf("Number=%d\nName=%s\n",(*p).num,(*p).name);printf("Sex=%c\nScore=%f\n\n",(*p).sex,(*p).score);printf("Number=%d\nName=%s\n",p->num,p->name);printf("Sex=%c\nScore=%f\n\n",p->sex,p->score);return0;}printf("%s\t\t\t%s\n",man[i].name,man[i].call);return0;}

structstudent{intnum;charname[20];charsex;intage;}stu[3]={{10101,"LiLin",'M',18},{10102,"ZhangFun",'M',19}, {10104,"WangMin",'F',20}};main(){structstudent*p;for(p=stu;p<stu+3;p++)printf("%d%s%c%d\n",p->num,p->name,p->sex,p->age);}numnamesexagestu[0]pstu[1]stu[2]p+1指向結(jié)構(gòu)體數(shù)組的指針02用結(jié)構(gòu)體變量的成員作參數(shù)----值傳遞用指向結(jié)構(gòu)體變量或數(shù)組的指針作參數(shù)----地址傳遞用結(jié)構(gòu)體變量作參數(shù)----多值傳遞,效率低結(jié)構(gòu)體與函數(shù)參數(shù)03將一個結(jié)構(gòu)體變量的值傳遞給函數(shù)作參數(shù),有以下3種方法。#include"stdio.h"structData{inta,b,c;};intmain(){voidf(structData);structDataAA;AA.a=550;AA.b=300;AA.c=AA.a+AA.b;printf("AA.a=%dAA.b=%dAA.c=%d\n",AA.a,AA.b,AA.c);printf("main()…\n");f(AA);printf("AA.a=%dAA.b=%dAA.c=%d\n",AA.a,AA.b,AA.c);return0;}voidf(structDataBB){printf("BB.a=%dBB.b=%dBB.c=%d\n",BB.a,BB.b,BB.c);printf("f()…\n");BB.a=110;BB.b=150;BB.c=BB.a*BB.b;printf("BB.a=%dBB.b=%dBB.c=%d\n",BB.a,BB.b,BB.c);printf("Return…\n");}return0;}

結(jié)構(gòu)體與函數(shù)參數(shù)03例9.5用結(jié)構(gòu)體變量作函數(shù)參數(shù)。結(jié)構(gòu)體應(yīng)用9.4鏈表順序表結(jié)構(gòu)體應(yīng)用順序表的基本操作順序表的定義和創(chuàng)建順序表順序表的定義和創(chuàng)建01(1)順序表的定義。例如:定義順序表list:typedefstruct{intdata[1000];intlast;}LIST;LISTlist;(2)創(chuàng)建順序表就是輸入數(shù)據(jù)元素,設(shè)置表的長度。順序表的定義和創(chuàng)建01例如:創(chuàng)建順序表函數(shù):voidcreate(){inti,n;printf("請輸入元素個數(shù):");scanf("%d",&n);printf("請輸入各元素的值:");for(i=0;i<n;i++)

scanf("%d",&List.data[i]);List.last=n;}

1、順序表元素的插入順序表的基本操作02要在i的位置上插入一個新數(shù)據(jù)d,必須先將元素Di,…,Dn-1的位置向后移,然后在第i個位置上放入d的值。同時,順序表的長度加1。順序表的基本操作02

voidinsert(inti,intd)

{intk;if((i<0)‖(i>list.last));printf("錯誤!");else{for(k=list.last-1;k>=i;k--)

list.last[k+1]=list.last[k];list.last[i]=d;list.last=list.last+1;}}例:順序表元素插入函數(shù)其中:i為插入的位置;d為插入的數(shù)據(jù)元素。

2、順序表元素的刪除順序表的基本操作02要在i的位置上刪除第i個元素,只要將元素Di+1,…,Dn-1的位置向前移一個位置。同時,順序表的長度減1。順序表的基本操作02voiddelete(inti){intk;if((i<0)‖(i>list.last-1));printf("錯誤!");else{for(k=i+1;k<=list.last-1;k++)

list.last[k-1]=list.last[k];list.last--;}}例:順序表元素刪除函數(shù)。其中,i為刪除的位置鏈表概述鏈表鏈表的存儲分配鏈表的基本操作鏈表的建立及輸出鏈表:指有若干個數(shù)據(jù)項,每個數(shù)據(jù)項稱為一個“節(jié)點”,這些節(jié)點按一定的原則連接起來。每個數(shù)據(jù)項都包含若干個數(shù)據(jù)和一個指向下一個數(shù)據(jù)項的指針,依靠這些指針將所有的數(shù)據(jù)項連接起來鏈表概述01鏈表示意圖鏈表是一種常見的數(shù)據(jù)結(jié)構(gòu)。它是實現(xiàn)動態(tài)存儲分配的一種結(jié)構(gòu)。例如,無須預(yù)先確定學(xué)生的準確人數(shù),有一個學(xué)生就分配一個節(jié)點,如果某位學(xué)生退學(xué)了,就刪去該節(jié)點,釋放該節(jié)點所占用的存儲空間。從而節(jié)約了寶貴的內(nèi)存資源。鏈表概述01鏈表概述01鏈表節(jié)點示意圖structstudent{

intnum;intscore;structstudent*next;}例:鏈表概述01前兩個成員項num和score組成數(shù)據(jù)域,后一個成員項next構(gòu)成指針域,它是一個指向student類型結(jié)構(gòu)的指針變量。C語言提供了管理內(nèi)存的函數(shù),這些內(nèi)存管理函數(shù)可以按需要動態(tài)地分配內(nèi)存空間,可以將不再使用的內(nèi)存空間回收待用,為有效地利用內(nèi)存資源提供了手段。鏈表的存儲分配021.分配內(nèi)存空間函數(shù)malloc()調(diào)用形式:(類型說明符*)malloc(size)功能:在內(nèi)存的動態(tài)存儲區(qū)中分配一塊長度為“size”字節(jié)的連續(xù)區(qū)域。函數(shù)的返回值為該區(qū)域的首地址;“(類型說明符*)”用于強制類型轉(zhuǎn)換。如果此函數(shù)未能成功地執(zhí)行(例如內(nèi)存空間不足),則返回空指針(NULL)。鏈表的存儲分配022.分配內(nèi)存空間函數(shù)calloc()調(diào)用形式:

(類型說明符*)calloc(n,size)功能:在內(nèi)存動態(tài)存儲區(qū)中分配n塊長度為“size”字節(jié)的連續(xù)區(qū)域。函數(shù)的返回值為該區(qū)域的首地址。(類型說明符*)用于強制類型轉(zhuǎn)換。calloc()函數(shù)與malloc()函數(shù)的區(qū)別僅在于其一次可以分配n塊區(qū)域。如果此函數(shù)未能成功地執(zhí)行。則返回空指針(NULL)。鏈表的存儲分配023.釋放內(nèi)存空間函數(shù)free()調(diào)用形式:free(void*ptr);功能:釋放ptr所指向的一塊內(nèi)存空間,ptr是一個任意類型的指針變量,它指向被釋放區(qū)域的首地址。被釋放區(qū)應(yīng)是由malloc()或calloc()函數(shù)所分配的區(qū)域。鏈表的存儲分配021.鏈表的建立所謂建立鏈表是指在程序執(zhí)行過程中從無到有地建立起一個鏈表,即一個個地開辟節(jié)點和輸入各節(jié)點數(shù)據(jù),并建立起前后相連的關(guān)系。通常用兩種方法建立鏈表。①從鏈頭到鏈尾:新節(jié)點插入鏈尾。②從鏈尾到鏈頭:新節(jié)點插入鏈頭。鏈表的建立及輸出03從頭到尾建立鏈表從尾到頭建立鏈表鏈表的建立及輸出03例9.6建立一個N個節(jié)點的鏈表,存放學(xué)號和成績數(shù)據(jù)。編寫一個建立鏈表的函數(shù)creat()。#defineNULL0structstudent{intnum;

floatascore;structstudent*next;};structstudent*creat(intn){structstudent*head,*pf,*pb;inti;for(i=0;i<n;i++){pb=(structstudent*)malloc(sizeof(structstudent));printf("inputNumberandScore\n");scanf("%d%d",&pb->num,&pb->score);if(i==0)pf=head=pb;elsepf->next=pb;pb->next=NULL;pf=pb;}return(head);}

1.鏈表的輸出將鏈表中各節(jié)點的數(shù)據(jù)依次輸出的操作很簡單,首先要知道表頭元素的地址,可由head得到,然后順著鏈表輸出各節(jié)點中的數(shù)據(jù),直到最后一個節(jié)點。鏈表的建立及輸出03鏈表的輸出鏈表的建立及輸出03voidprint(structstudent*head){printf("Nnm\tScore\n");while(head!=NULL){printf("%d\t\t%d\n",head->num,head->score);head=head->next;}}輸出鏈表的函數(shù)鏈表的建立及輸出031.鏈表的插入鏈表的基本操作04例:編寫一個在學(xué)生數(shù)據(jù)鏈表中按學(xué)號順序插入一個節(jié)點的函數(shù)。假設(shè)被插節(jié)點的指針為pi。structstudent*insert(structstudent*head,structstudent*pi){structstudent*pf,*pb;pb=head;if(head==NULL)/*空表插入*/{head=pi;pi->next=NULL;}else{while((pi->num>pb->num)&&(pb->next!=NULL)){pf=pb;pb=pb->next;}/*找插入位置*/if(pi->num<=pb->num){if(head==pb)head=pi;/*在第一節(jié)點之前插入*/elsepf->next=pi;/*在其他位置插入*/pi->next=pb;}else{pb->next=pi;pi->next=NULL;}/*在表末插入*/}returnhead;}鏈表的基本操作042.鏈表的刪除鏈表的基本操作04例:編寫一個刪除鏈表中指定節(jié)點的函數(shù)。structstudent*delete(structstudent*head,intnum){structstudent*pf,*pb;if(head==NULL)/*如為空表,輸出提示信息*/{printf("\nemptylist!\n");return0;}pb=head;while(pb->num!=num&&pb->next!=NULL)

{pf=pb;pb=pb->next;}/*pf指向當前節(jié)點,pb指向下一節(jié)點*/if(pb->num==num){if(pb==head)head=pb->next;else

pf->next=pb->next;free(pb);printf("Thenodeisdeleted\n");}elseprintf("Thenodenotbeenfound!\n");returnhead;}鏈表的基本操作043.鏈表的應(yīng)用鏈表的基本操作04intmain() { structstudent*head,*pnum; intn,num; printf("inputnumberofnode:"); scanf("%d",&n); head=creat(n); print(head); printf("Inputthedeletednumber:"); scanf("%d",&num); head=delete(head,num); print(head); printf("Inputtheinsertednumberandscore:"); pnum=(structstudent*)malloc(sizeof(structstudent)); scanf("%d%d",&pnum->num,&pnum->score); head=insert(head,pnum); print(head); return0;} 共用體類型與變量9.5共用體變量的引用方式與特點共用體與共用體變量的定義共用體類型與變量共用體及共用體變量的定義01定義一個共用體類型的一般形式為:union共用體名{成員表};例如:uniondt { inti; charch; floatf; };與定義結(jié)構(gòu)體類型變量一樣,定義共用體類型變量也有3種方式。(1)定義共用體類型后,再定義共用體類型變量。例如:uniondta;(2)定義共用體類型的同時,定義共用體類型變量。例如:uniondt { inti; charch; floatf; }a;(3)如果定義的共用體類型只使用一次,共用體類型名可以省略。例如:union { inti; charch; floatf; }a;共用體及共用體變量的定義01共用體變量的引用方式和特點02引用共用體類型變量的一般形式如下:共用體變量名.成員名例如:a.i=5;由于共用體類型數(shù)據(jù)是用同一個內(nèi)存段來存放幾種不同數(shù)據(jù)類型的成員。但它在每一時刻只能存放其中一個成員而不是同時存放。也就是說每一瞬間只有一個成員起作用,其他的成員無效。而起作用的成員是最后存放的那個成員。共用體變量的引用方式和特點02voidmain(){unionexx{inta,b;struct{intc,d;}lpp;}e={10};e.b=e.a+20;e.lpp.c=e.a+e.b;e.lpp.d=e.a*e.b;printf(″%d,%d\n″,e.lpp.c,e.lpp.d);}程序運行結(jié)果如下:60,3600枚舉類型與變量9.6定義枚舉類型的一般形式是:enum枚舉類型名{枚舉值表}例如:enumweekday{sun,mon,tue,wed,thu,fri,sat}枚舉類型與變量與其他數(shù)據(jù)類型一樣,定義枚舉類型后,能夠以下面3種方式定義枚舉變量。(1)定義枚舉類型后,再定義枚舉類型變量。例如:enumweekdayw1,w2,w3;(2)定義枚舉類型的同時,定義枚舉類型變量。例如:enumweekday{sun,mon,tue,wed,thu,fri,sat}w1,w2,w3;(3)如果定義的枚舉類型只使用一次,枚舉類型名可以省略。例如:enum{sun,mon,tue,wed,thu,fri,sat}w1,w2,w3;枚舉類型與變量#include"stdio.h"intmain(){enumweekday{sun,mon,tue=7,wed,thu,fri,sat}a,b,c;a=sun;b=mon;c=tue;printf("%d,%d,%d",a,b,c);return0;}枚舉應(yīng)用枚舉類型與變量程序運行結(jié)果:0,1,8自定義數(shù)據(jù)類型9.7自定義數(shù)據(jù)類型自定義數(shù)據(jù)類型的一般形式為:typedef類型名新名稱;例如:typedefstructstudent{charname[25];intage;charsex;}STU;綜合應(yīng)用9.8#include"stdio.h" structsd { intnum; char*name; charsex; fl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論