C語言課堂教學(xué)_第1頁
C語言課堂教學(xué)_第2頁
C語言課堂教學(xué)_第3頁
C語言課堂教學(xué)_第4頁
C語言課堂教學(xué)_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一:指針概述二:指針變量的定義,引用和作為函數(shù)參數(shù)三:指針變量在數(shù)組處理中的應(yīng)用四:指針變量的定義,引用和作為函數(shù)參數(shù)五:字符指針和字符串六:對象為函數(shù)的指針變量 函數(shù)指針七:返回值為指針的函數(shù) 指針函數(shù)八:元素為指針的數(shù)組 指針數(shù)組和多級指針九:小結(jié)第十章指 針 指針是C語言中最具特色的功能之一。指針在C語言中應(yīng)用極為廣泛,利用指針可以直接而快速地處理內(nèi)存中各種數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù),特別是數(shù)組、字符串、內(nèi)存的動態(tài)分配等,它為函數(shù)間各類數(shù)據(jù)的傳遞提供了簡捷便利的方法。 指針使C程序簡潔、緊湊、高效,但指針使用上的靈活性容易導(dǎo)致指針濫用而可能使程序失控。因此,必須全面正確地掌握C指針的概念和使用特點。

2、 10.1 指針概述 指針提供了一種通過地址間接地存取目標(biāo)的方法(間址運(yùn)算),指針可以指向各種基本數(shù)據(jù)類型變量,也可指向各種復(fù)雜的擴(kuò)展數(shù)據(jù)類型變量和函數(shù)。 指針是存放另一變量的地址的變量,也稱指針變量。它象數(shù)組名一樣可以直接訪問地址(此前有數(shù)組名和單目運(yùn)算符&可以訪問存儲地址)。 指針:房間號,地址指針?biāo)傅膶ο螅悍块g的內(nèi)容為什么學(xué)習(xí)指針: 如:鏈表插入,刪除等指針?biāo)傅膶ο螅?.6指針變量:2022.3692000200020022004內(nèi)存用戶數(shù)據(jù)區(qū)3010變量i_pointer變量i變量j變量k房間名稱房間內(nèi)容房間地址指針型i_pointer=&i10.2 變量的指針和指向變量的指針變量

3、一:指針類型變量的說明二:指針類型變量的引用和運(yùn)算三:指針類型變量作為函數(shù)參數(shù)指針變量的說明格式:數(shù)據(jù)類型*指針名(標(biāo)識符);功能:定義指針變量:指針名(標(biāo)識符) 它所指的對象類型:基類型(數(shù)據(jù)類型)例:int *p1, *p2;定義指針變量p1,p2它們所指對象類型為整型.說明:1、指針變量也可以和普通變量在一起說明 如 float *pa,d; 2、指針說明的數(shù)據(jù)類型不是指針變量的數(shù)據(jù)類型,而是指針變量的目標(biāo)變量的類型&a變量a指針p1目標(biāo)變量*p1int a;int *p1;p1=&a;&運(yùn)算和*運(yùn)算 &運(yùn)算和*運(yùn)算都屬于單目運(yùn)算,&要求運(yùn)算量是變量或數(shù)組元素,(取地址運(yùn)算符)其形式為:

4、 & 變量名或數(shù)組元素名 其含義為取指定變量或數(shù)組元素的地址 *運(yùn)算符要求運(yùn)算量是地址,(指針運(yùn)算符間址運(yùn)算符)其形式為: *指針變量名或目標(biāo)變量地址 含義訪問指定地址的目標(biāo)變量 如: int i , j; int *p_1 , *p_2; p_1=&i; p_2=&j;&運(yùn)算和*運(yùn)算 p_1=&i;p_2=&j;則 p_1和p_2分別是指向變量i,j的指針變量,而*p_1和*p_2分別是指針變量所指向的變量i和j(目標(biāo)變量) 下面是將x的值賦給y的兩種不同的操作 int x,y,*px;&xxy=x;px*pxyypx=&x;x y=*px;指針變量的初始化格式:數(shù)據(jù)類型*指針名=初始地址值

5、;例:int a,b; int *p1=&a, *p2=&b;定義指針變量p1,p2分別指向int型變量a和b說明:1、當(dāng)把一個變量的地址作為初始值賦給指針時,該變量必須先說明,且該變量的數(shù)據(jù)類型必須與指針的數(shù)據(jù)類型一致。 如 int n; int *p=&n; 2、也可將一個已初始化的指針值作為初值賦給另一個指針 如 float x,*p=&x,*q=p; 3、也可通過初始化定義某種類型的空指針 如 int *p=0; 或 int *p=NULL (這里的NULL就是整數(shù)0)指針變量的引用和運(yùn)算 指針的賦值運(yùn)算將一個變量的地址以&運(yùn)算的結(jié)果形式賦給一個同類型的指針 int a,*pa; pa

6、=&a; 將另一同類型的指針值賦給某一指針,如: char c,*s1=&c,*s2; s2=s1;將地址常量如數(shù)組名賦給同類型的指針,如: char *str,ch80; str=ch;同類型指針?biāo)阈g(shù)運(yùn)算的結(jié)果,如果還是地址的話,可以賦值給同類型的指針 int *p1,*p2,a20; p1=a; p2=p1+5; p1=p2-3; p1+=2; p2-=10; 但不能給數(shù)組名賦值?與指針初始化有何區(qū)別?指針變量的引用和運(yùn)算 設(shè)int *c,a=20,*b=&a; float *p; 則下面對指針的賦值操作是錯誤的: b=2000; /*不能給指針變量賦常數(shù)值*/ p=b; /*不能給指針變

7、量賦不同類型的指針值*/ c= *b;或c=a;/*不能給指針變量賦給非地址量值*/例: 輸出a,b的值和地址main( ) int a,b; int *p1,*p2; a=10; b=20; p1=&a; p2=&b; printf(a=%d,b=%dn,a,b); printf(%d is in %u roomn,*p1,p1); printf(%d is in %u room,*p2,p2); abp2p1結(jié)果:a=10,b=20 10 is in 65502 room 20 is in 65504 room例:輸入整數(shù)a和b,按從大到小的順序輸出。main( ) int *a1,*a2

8、,*t,a,b; a=5; b=9; a1=&a; a2=&b; if (aq時,則p指向位置在q指向位置的前方(下方) p=q時,則p、q指向同一位置, pq時,此時p指在q的上方。 指針變量作為函數(shù)參數(shù)(P225)指針變量可作為函數(shù)參數(shù)功能:將一個變量的地址傳送到另一個函數(shù)中由于實參變量的地址傳到函數(shù)中,在函數(shù)中利用指針直接對內(nèi)存進(jìn)行操作,就可以改變實參變量的值例:編寫一個swap函數(shù)對兩個數(shù)據(jù)進(jìn)行交換 (P225例10.3)swap(int x,int y) int t; t=x; x=y; y=t; printf(x=%d,y=%dn,x,y);main( )int a,b; a=5;

9、 b=9; swap(a,b); printf(a=%d, b=%dn,a,b);下面程序能夠完成交換嗎?x 5y 9a 5b 9x 9y 5swap(int *p1,int *p2) int p; p=*p1; *p1=*p2; *p2=p;main( ) int a,b; int *p1,*p2; a=5;b=9; p1=&a; p2=&b; swap(p1,p2); printf(n%d,%dn,a,b); abp1p2p1p2p:5 a 9b5指針變量作為函數(shù)的參數(shù)的好處函數(shù)調(diào)用可以利用return語句得到一個返回值(函數(shù)值),而利用指針變量做參數(shù)可得到多個變化了的值。關(guān)鍵:調(diào)用函數(shù)雖

10、然不能改變指針變量的值,但可以改變指針?biāo)笇ο蟮闹?。例:輸?個數(shù)a,b,c,按先大后小順序輸出。 (P228例10.4)swap(int *p1,int *p2) int p; p=*p1; *p1=*p2; *p2=p;exchange(int *q1,int *q2,int *q3) if (*q1 *q2) swap(q1,q2); if (*q1 *q3) swap(q1,q3); if (*q2 *q3) swap(q2,q3);main( ) int a,b,c; a=9; b=0; c=10; exchange(&a,&b,&c); printf(n%d,%d,%dn,a, b

11、, c);10.6 指針函數(shù)返回值為指針的函數(shù) (P265)概念:一個函數(shù)可以帶回一個返回值,可以是整型,實型,字符型.也可以是指針型(地址)。返回值為指針的函數(shù)稱為指針函數(shù)。指針函數(shù)的定義格式(有參函數(shù)為例): 類型標(biāo)識符 *函數(shù)名(參數(shù)表) 參數(shù)說明; . 如:float *search(pointer, n) . 函數(shù)search的返回值為指向float的指針。P267例10.25:有若干個學(xué)生的成績(每個學(xué)生有4門課程),要求在用戶輸入學(xué)生序號以后能輸出該學(xué)生的全部成績學(xué)生成績表: 60 70 80 90 56 89 67 88 34 78 90 66方法: (1)輸入序號m,如:1

12、(2)查找該序號對應(yīng)成績的地址p=search(score,m) (3)輸出成績,如: 56 89 67 88 for (i=0;i4;i+) 輸出*(p+i)用二維數(shù)組做main( ) float score 4=60,70,80,90,56,89,67,88,34,78,90,66; int i,m; scanf(%d,&m); for (i=0;i4;i+) printf(%5.2ft,scoremi);用指針函數(shù)做main( ) static float score 4=60,70,80,90,56,89,67,88,34,78,90,66; float *p; int i,m; sc

13、anf(%d,&m); p=search(score,m); /*將第m個學(xué)生成績的開始地址送給p*/ for (i=0;i4;i+) printf(“%5.2ft”, *(p+i) ); /*輸出4門課成績*/float *search( pointer, n )float (*pointer)4; /*對象為數(shù)組的指針*/int n; float *pt; pt=*(pointer+n); /*第n個元素的首地址*/ return(pt);例:對上例的學(xué)生,找出有不及格課程的學(xué)生及學(xué)號for (i=0; i3;i+) 本學(xué)生有不及格課程?若有:-調(diào)用search函數(shù) 輸出學(xué)號; 輸出成績;

14、search函數(shù)的功能:若pointer所指的學(xué)生成績中有不及格成績,則返回pointer (或*pointer) , 若全及格則返回pointer+1 (或*(pointer+1)即下一個學(xué)生成績的首地址。float *search(pointer)float (*pointer)4; int i; float *pt; pt=*(pointer+1); /*若pointer所指學(xué)生成績?nèi)案?,返回此?/ for (i=0;i4;i+) /*判斷pointer所指學(xué)生4門成績是否及格*/ if (*(*pointer+i)60) pt=*pointer; /*若有不及格成績,則返回值為po

15、inter*/ return(pt);main( ) static float score 4=60,70,80,90,56,89,67,88,34,78,90,66; float *p; int i,j; for (i=0;i3;i+) /*循環(huán)判斷每個學(xué)生情況*/ p=search(score+i); /*若有不及格成績,返回值為第i個學(xué)生成績的首地址*(score+i); 否則返回*(score+i+1) */ if (p= =*(score+i) /*該學(xué)生有不及格成績*/ printf(No.%d scores: ,i); for (j=0;j4;j+) printf(“%5.2f

16、”,*(p+j); /*打印該學(xué)生4門成績*/ printf(n); .指向指針的指針(多級指針P271)定義:所指對象為指針數(shù)據(jù)的指針變量稱為指向指針的指針變量。定義此類變量的格式: 類型 *標(biāo)示符; 如:char *p; p為指針 p所指的對象為*p *p也為指針*p所指對象*p為字符。p*p*p A例:輸出字符串組 main( ) static char *name =“China,Brasi,“Turkey; char *p; int i; name0name2name1ChinaBrasilTurkeyfor (i=0;i3;i+) p=name+i; printf(%sn,*p);

17、 p10.3 數(shù)組與指針指針在數(shù)組處理中的應(yīng)用一: 指針與一維數(shù)組二: 通過指針對數(shù)組元素的引用三: 指向多維數(shù)組的指針和指針變量四: 指針做函數(shù)參數(shù)五:數(shù)組名做函數(shù)參數(shù)六: 函數(shù)間的參數(shù)傳遞七:程序舉例指針與一維數(shù)組(P229)一、建立指針與一維數(shù)組的關(guān)系數(shù)組有地址,數(shù)組元素有地址int a10;int *p; p=a; 或p=&a0 在特殊的情況下也可以讓指針直接指向某個數(shù)組元素 如 pa =&a9 a0a1a9ppa pa-4 a i 4 (pa-4) 2004 pa-3 a i 3 (pa-3) 2006 pa-2 a i 2 (pa-2) 2008 pa-1 a i -1 (pa-1

18、) 2010 pa a i pa 2012 pa+1 ai+1 (pa+1) 2014 pa+2 ai+2 (pa+2) 2016 pa+3 ai+3 (pa+3) 2018 pa+4 ai+4 (pa+4) 2020圖中,指針pa和數(shù)組a數(shù)據(jù)類型相同。假定pa指向數(shù)組元素ai,則pan分別指向相對ai前方或后方第n個元素,而*( pan)可分別訪問相應(yīng)的元素。 int a40,*pa; pa=&ai;二、通過指針引用數(shù)組元素1: 下標(biāo)法 如:a52:數(shù)組地址法 a+i表示數(shù)組中第i個元素ai的地址 *(a+i)即為ai /* 數(shù)組名即為數(shù)組首地址 */3: 指針法 : (1)指針地址法 in

19、t a10; int *p=a; *(p+i)即為ai (2)指針下標(biāo)法 如: int a10; int *p=a; pi即為ai 說明:若int a10; int *p=a;1: p+i, a+i 第i個元素的地址2: *(p+i) , *(a+i) 第i個元素的值a0a1aia9pp+1p+ip+9.通過指針引用數(shù)組元素實例例: 輸出數(shù)組全部元素,分別用下標(biāo)法,數(shù)組地址法,指針法main( ) int a10; int i,*p; for (i=0;i10;i+) scanf(%d,&ai); for (i=0;i10;i+) printf(“%d ”,ai); /*下標(biāo)法*/ print

20、f(n); for (i=0;i10;i+) printf(“%d ”,*(a+i);/*地址法*/ printf(n); for (p = a; p(a+10); p+) printf(“%d”,*p);/*指針法*/ printf(n); p=a; /或p=&a0; for (i=0;i max,則與max交換若*p min,則與min交換ppendp=p+1main( ) float *p,*pend,data10,max,min; p=pend=data; /* 建立指針和數(shù)組關(guān)聯(lián) */ printf(“Enter 10 number:n”); for (i=0;i10;i+) sca

21、nf(“%f”,pend+); /* pend+結(jié)果為地址*/ /* 循環(huán)結(jié)束后,pend指向數(shù)組末尾元素data9之后 */ max=min=*data; /* 先假定data0為最大或最小 */ for (p=data+1; pmax) max=*p; else if (*pmin) min=*p; printf(“max=%ftmin=%fn”,max,min); 說明用指針變量訪問數(shù)組元素效率高,但下標(biāo)法比較直觀.指針變量可以實現(xiàn)自身值的改變 如:p+合法? a+合法? p+合法,但a+不合法/* a為數(shù)組名,是地址常量,不能改變 */必須注意指針變量的當(dāng)前值.指針有可能指到數(shù)組以外,

22、也就是數(shù)組越界二維數(shù)組的地址static int a34=1,2,3,4,5,6,7,8,9,10,11,12;理解為:a為一個數(shù)組名;a中有個元素;而每個元素又是一個長度為的數(shù)組。地址:a為數(shù)組的首地址(&a00);a+1為第二行的首地址(&a10);a+2為第三行的首地址(&a20).常用法如下圖:a,&a0*(a+0),a0&a00a+1 *(a+1) a1a+2 *(a+2)a2 *(a+2)+3, a2+3二維數(shù)組和指針(P242)結(jié)論:二維數(shù)組中元素aij用指針的方法引用形式為*(*(a+i)+j)例: 求一個3x3矩陣主對角線元素之和 main() int a33=1,2,3,4

23、,5,6,7,8,9,i,sum=0; for(i=0;i3;i+) sum+=*(*(a+i)+i); printf(sum=%d,sum);例:將一個3x3的矩陣轉(zhuǎn)置(P279習(xí)題10.9)轉(zhuǎn)置的過程就是行列交換的過程,將aij與aji交換,*(*(a+i)+j)與*(*(a+j)+i)交換for(i=0;i3;i+)for(j=0;ji;j+)交換注意雙重循環(huán)的寫法用指針表示二維數(shù)組的方法(有兩種)方法1:將二維數(shù)組看成一維數(shù)組,用一維數(shù)組的指針處理方法進(jìn)行處理。main( ) static int a34=1,2,3,4,11,12,13,14,21,22,23,24; int i,j

24、; for (i=0;i3;i+) for(j=0;j4;j+) printf(“%4d”,*(*(a+i)+j); printf(“n”); 或 int *p; p=a0; while(pa0+12) printf(“%4d”,*p+);方法2:用“對象為數(shù)組的指針”進(jìn)行處理。 main( ) static int a34=1,2,3,4,11,12,13,14,21,22,23,24; int (*p)4,i,j; /* 定義p是一個指向包含4個元素的一維 數(shù)組的指針 */ p=a; /* p作為行指針 */ printf(“Enter i,j:”); scanf(“%d,%d”,&i,&

25、j); printf(“a%d,%d=%dn”,i,j,(*p+i)j); 數(shù)組名做函數(shù)參數(shù)(P235)main( ) int a10; . inv(a,10);.inv(arr,n)int arr ,n;.將數(shù)組的首地址傳給形參數(shù)組首地址數(shù)組做參數(shù)的特點參數(shù)是數(shù)組名和數(shù)組元素個數(shù)數(shù)組名傳遞的是數(shù)組在內(nèi)存中的地址,即函數(shù)雖然不能改變實參(地址)的值,但可以改變地址所指向的內(nèi)存單元中的值(數(shù)組元素的值)總之,傳地址的結(jié)果使得:形參和實參共享同一內(nèi)存單元,所以函數(shù)中對形參的處理,也是對實參的處理。例(P237例10.7):編寫一個函數(shù)將數(shù)組a中n個整數(shù)按逆序(相反次序)存放4351991534數(shù)組

26、a :數(shù)組a :程序舉例void inv(int x ,n) int t,i,j; for (i=0,j=n-1;in;i+,j-) t=xi; xi=xj;xj=t; return;main( )int i,a5; for (i=0;i5;i+) scanf(%d,&ai); inv(a,5); printf(n); for (i=0;i5;i+) printf(%d ,ai); printf(n);43519ijvoid inv(int *x,n) int t,*i,*j; i=x; j=x+n-1; for (;ij;i+,j-) t=*i; *i=*j; *j=t; main( ) i

27、nt i,a5; for (i=0;i5;i+) scanf(%d,&ai); inv(a,5); for (i=0;i5;i+) printf(%d ,ai);用指針做43519ij10.4 字符串與指針 指針在字符串處理中的應(yīng)用(P251)C程序中實現(xiàn)一個字符串的兩種方法1: 用字符數(shù)組,如: main( ) static char string =Happy New year!; printf(%sn,string); 2: 用字符指針 定義字符指針格式: char *指針變量名 賦初值方法: char *指針變量名=字符串常量 如:char *string=“Happy New yea

28、r!”;用字符指針實現(xiàn)字符串用字符指針表示字符串有三種方法。(1)指向字符數(shù)組例main( ) static char s=”Good morning!”; char *p; p=s; /* p指向s數(shù)組的首地址 */ printf(“s string is %sn”,s); printf(“(1) p string is %sn”,p); p=s+5; /* p指向s數(shù)組的第5個字符m */ printf(“(2) p string is %sn”,p); 用printf(“%s”,p)格式輸出時,從p所指向的地址開始輸出,直到遇到0為止用字符指針實現(xiàn)字符串(2)直接定義字符串 main(

29、) char *string=Happy!; /* 將Happy!的首地址賦值給指針變量string */ printf(%sn,string);等價于 char string=“Happy!”;Happy!0string用字符指針實現(xiàn)字符串(3)直接賦予字符串 main( ) char *string; string=Happy! /* 將Happy!的首地址賦值給指針變量string */ printf(%sn,string);字符串常量可以賦給字符指針,不能賦給數(shù)組Happy!0stringchar s80;s=”I am a student.”; 字符指針變量與字符數(shù)組概念區(qū)別:字符數(shù)

30、組由若干個元素組成,每個元素中放一個字符.而字符指針變量中存放的是字符串的首地址賦初值方式的區(qū)別: static char str =Happy! 合法 char *a=Happy! 合法賦值方式的區(qū)別: char str10; str=Happy!; 非法 char *a; a=Happy!; 合法其它操作的區(qū)別:char str10; scanf(%s,str); 合法char *a; scanf(%s,a);危險char *a, str10; a=str; scanf(%s,a);合法指針變量的值是可以改變的,如:main( ) char *a=Happy new year!; a=a+

31、6; printf(%s,a); 結(jié)果輸出:new year!char str =Happy new year!; str=str+6; printf(%sn,str);非法main( ) char *a=Happy new year!; int i; for (i=0; ai!=0; i+) printf(%c, ai); printf(n); 合法10.7 指針數(shù)組(P268)指針數(shù)組的概念指針數(shù)組:元素為指針類型的數(shù)組。格式: 類型標(biāo)識符 *數(shù)組名數(shù)組長度說明 如:int *p4 數(shù)組p有4個元素,每個數(shù)組元素是指向整型的指針。P是一個指針數(shù)組。注:int (*p)4 p是一個指針,指向

32、一個數(shù)組,該數(shù)組有4個元素,每個元素為整型。p是一個數(shù)組指針。注意兩者寫法的不同例:將若干字符串按字母順序由小到大輸出 (P271例10.27)分析:這是一個排序的問題。可以用冒泡法來解決(逐個掃描,逆序交換)。用指針數(shù)組存放指向各個字符串的字符指針。對指針數(shù)組進(jìn)行冒泡排序。方法:main( ) 輸入n個字符串:char *name ; 對 n個字符串排序 sort(name,n) 輸出排好序的字符串組print(name,n)#include #include main( ) char *name =China,Brasil, Turkey; /*賦初值*/ int n=3; sort(na

33、me,n); /*對數(shù)組name的每個元素所指的字符串進(jìn)行排序,數(shù)組name的長度為n*/ print(name,n); /*輸出name的n個元素所指的字符串*/注意:name為字符指針數(shù)組,namei為字符指針,所以對namei的處理同字符指針的處理。void sort(name,n)char *name ; int n; int i,j; char *temp; name0name2name1ChinaBrasilTurkeyfor (i=0;in-1;i+) for (j=0;j0) /*交換namej,namej+1,注意strcmp的用法*/ temp=namej; namej=n

34、amej+1; namej+1=temp; void print(char *name ; int n) int i; for (i=0;in;i+) printf(“%sn”, namei); /*namei為字符指針*/void sort(name,n)char *name ; int n; int i,j,k; char *temp; name0name2name1ChinaBrasilTurkeyfor (i=0;in-1;i+) k=i; /*k為當(dāng)前最小元素下標(biāo)*/ for (j=i+1;jn;j+) if (strcmp(namej,namek)0) k=j; if (k!=i) /*交換namei,namek*/ temp=namei; namei=namek; namek=temp; 選擇排序方法指針數(shù)組做main函數(shù)的形參(P273)C語言中main函數(shù)是可以帶參數(shù)的。格式: main(int argc,char *argv) /*argv是字符指針數(shù)組*/ . argv表示命令行參數(shù)的字符指針數(shù)組。命令行參數(shù)是指C語言的主函數(shù)main()也可以帶有自己的參數(shù),程序編譯成.EXE文件后,在DOS狀態(tài)下運(yùn)行,如同DOS命令一樣可帶參數(shù)。如讓命令行為:ex1 file a 3的形式。 程序:(程序文件名為

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論