南郵吳江職業(yè)技術(shù)學(xué)院16_第1頁
南郵吳江職業(yè)技術(shù)學(xué)院16_第2頁
南郵吳江職業(yè)技術(shù)學(xué)院16_第3頁
南郵吳江職業(yè)技術(shù)學(xué)院16_第4頁
南郵吳江職業(yè)技術(shù)學(xué)院16_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 十 章 指 針1一、指針在程序中的用途二、地址和指針的概念三、變量的指針和指針變量四、數(shù)組與指針五、字符串與指針六、返回指針值的函數(shù)主要內(nèi)容:2一、指針在程序中的用途有效的表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)能動態(tài)分配內(nèi)存方便的使用字符串直接處理內(nèi)存地址 總之,指針的應(yīng)用,使程序簡潔、緊湊、高效。3二、指針的概念1.數(shù)據(jù)在內(nèi)存中的存儲、讀取過程 例如:整型變量 i , j , k ; 在編譯時為變量分配內(nèi)存,內(nèi)存示意圖如圖 1 所示.(2) 給變量賦值為 i=3; j=6; k=9;(1) 假設(shè)變量 i,j,k 被分配的 內(nèi)存地址分別為2000,2002,2004(3) 通常,在程序中通過變量名對變量 進(jìn)行

2、存取。200020022004變量i變量j變量k內(nèi)存中用戶數(shù)據(jù)區(qū)。36920003010內(nèi)存地址編號變量 p其實程序經(jīng)過編譯后已將變量名轉(zhuǎn)換為變量的地址,對變量值的存取都是通過變量的地址進(jìn)行的。圖14(1) 直接訪問方式 按變量地址存取變量值的方式。 如果讀取變量 i的值,直接到為變量i分配的存儲單元(2000、2001字節(jié))中取出i的值(3)即可。(2) 間接訪問方式 先將變量 i 的地址存放在另一個變量p中,如果讀取變量 i的值,先找到變量p,從p中取出內(nèi)容(2000,即變量i的起始地址),然后到2000、2001字節(jié)中取出i的值(3)。 即通過變量p訪問為變量i分配的內(nèi)存單元。訪問變量的

3、兩種方式:5直接訪問示意圖間接訪問示意圖 表示將數(shù)值3送到變量i中,可有兩種表達(dá)方法:(1)將3送到變量i所標(biāo)志的單元中。即直接訪問方式(2)將3送到變量p所指向的單元(變量i)中。 即間接訪問方式i32000i320002000p注意:我們并不關(guān)心變量p的存儲地址,對 變量p的訪問屬于直接訪問。6三、 指針變量1.變量的指針 變量的地址稱為變量的指針。2. 指針變量 存儲變量地址的變量稱為指針變量,用來指向另一個變量。3. * 操作符 為了表示指針變量與它所指向的變量的之間的關(guān)系,在程序中用 * 符號表示“指向”。例如,P代表指針變量,* P則表示P所指向的變量。3i20002000P*P以

4、下兩個語句作用相同: i=3; *P=3; 7三、 指針變量(續(xù))4.指針變量的定義 int i , j ; int *pointer1, *pointer2;定義形式: 基類型 *指針變量名; 舉例 說明 (1)指針變量名前的*,表示該變量是指針型的變量。指針變量名為pointer1,而非 *pointer1。(2)定義指針變量時必須指明基類型。*注:以后幾張幻燈片中提到的pointer1 pointer2是基于此例的。8如何使一個指針變量指向一個變量呢? 使用取地址運算符 & ,即 :pointer1=&i; pointer2=&j;賦值語句pointer1=&i;實現(xiàn)將變量i的地址保存入

5、指針變量pointer1中。如右圖所示。3ipointer1*pointer1你能畫出第二個賦值語句的示意圖嗎? 三、 指針變量5.指針運算符 & 9三、 指針變量(續(xù))6.指針變量的引用 與指針變量有關(guān)的兩個運算符: & : 取地址運算符 * :間接訪問運算符 (1)上例將打印出i的值。(2)*pointer1 與普通的整型變量一樣使用,但前提是pointer1 必須已經(jīng)明確地指向了某整型變量,或者說指針變量中必須已經(jīng)存有了某整型變量的起始地址。 例如 i=3;pointer1=&i;printf(%d,*pointer1); 說明 3ipointer1*pointer110三、 指針變量(

6、續(xù))例1: 輸入兩個整數(shù),按先大后小輸出這兩個整數(shù) #include void main() int *p1, *p2, *p, a, b; scanf(%d%d,&a,&b); p1=&a; p2=&b; /* 取變量的地址*/ if(ab) p=p1; p1=p2; p2=p; /* 指針變量間的相互賦值*/ printf(%d%d,a,b); printf(max=%d, *p1, *p2 ); 你能畫出程序中指針處理過程的示意圖嗎? 11三、 指針變量(續(xù))7.指針變量作為函數(shù)參數(shù) 函數(shù)的實參值是地址,函數(shù)的形參應(yīng)定義為指針類型,此時,實參和形參之間仍然是傳值方式。參見例2。 #inc

7、lude void s *p1, int *p2) int temp; temp=*p1; *p1=*p2; *p2=temp; void main() int a,b,*pointer1, *pointer2; scanf(%d%d,&a,&b); pointer1=&a; pointer2=&b; /* 取變量的地址*/ if(ab) s); /* 函數(shù)調(diào)用,實參為指針變量*/ printf(%d%d,a,b);/* 打印函數(shù)調(diào)用后,變量a,b的值,觀察其變化*/ 在被調(diào)函數(shù)中,通過間接訪問,改變了主調(diào)函數(shù)中實參變量的值。變量a,b的地址被傳遞到函數(shù)的形參變量p1,p2中12四、數(shù)組與指針

8、 數(shù)組在內(nèi)存中占一片連續(xù)的存儲區(qū),該存儲區(qū)的大小與數(shù)組的元素類型和數(shù)組長度有關(guān)。 每個數(shù)組元素占用相同大小的存儲空間。 利用數(shù)組存儲區(qū)的起始地址,可以逐個獲得每個數(shù)組元素的存儲地址。例如,定義數(shù)組 int a10; 1.數(shù)組的存儲 a0a1a2a3a4a5a6a7a8a9注:假設(shè)數(shù)組a的存儲區(qū)起始地址為2000。20002002 200420062000+4*22000+9*2由上圖可知,數(shù)組元素ai的存儲地址的計算公式為: 數(shù)組a的起始地址+i元素類型占內(nèi)存的字節(jié)數(shù)圖213C語言規(guī)定: 數(shù)組名代表數(shù)組的起始地址,該地址在程序運行過程中不能修改。 即數(shù)組名a是個常量。2.指向數(shù)組元素的指針 四

9、、數(shù)組與指針例如, int a10; int *p;對指針變量p賦值:p=&a0; 則使p指向了數(shù)組的第一個元素。因此,下面對指針變量p賦值的兩個語句等價: p=&a0; p=a;因此定義指向數(shù)組的指針變量時,可以對其初始化: int a10;int *p=a; (或 int *p=&a0; )14四、數(shù)組與指針例如,定義:int a10 ,*p=a; 可有如下操作: p=a; p=&a1; *p=10; 3.通過指針變量引用數(shù)組元素 4.指針變量表達(dá)式和指針的算術(shù)運算符 (1) 可以對指針進(jìn)行有限的算術(shù)運算,包括自增運算(+)、自減運算(-)、加上一個整數(shù)、減去一個整數(shù),以及減去一個指針變量

10、。(2)指針運算的結(jié)果依賴于指針?biāo)赶虻膶ο蟮拇笮?。指針的算術(shù)運算的規(guī)則是:當(dāng)一個指針加上或減去一個整數(shù)時,指針并非簡單的加上或減去該整數(shù)值,而是加上或減去該整數(shù)與指針指向的對象的大小的乘積。例如:int a10 ,*p=a; 則 p=p+1; 使指針變量的值更新為數(shù)組元素a1的地址,即p指向了數(shù)組元素a1。15注意:a+是錯誤的,為什么呢?例如:int a10 ,*p=a,*q,x;假定數(shù)組a的起始地址為2000,則下列每個操作后變量的值分別為多少?四、數(shù)組與指針p=p+1;q=p;q+=2;x=q-p;p+;+p;-p;p的值為2002,p指向數(shù)組元素a1.q的值為2002, q指向數(shù)組元

11、素a1.q的值為2006, q指向數(shù)組元素a3.x 的值為2 p的值為2004, p指向數(shù)組元素a2.p的值為2006 , p指向數(shù)組元素a3.p的值為2004, p指向數(shù)組元素a2.p-;p的值為2002, p指向數(shù)組元素a1.通過 - 運算,讓指針變量指向數(shù)組中的上一個元素。得到:從p到q的數(shù)組元素的個數(shù)通過+ 運算,讓指針變量指向數(shù)組中的下一個元素。指針的算術(shù)運算除了用于數(shù)組外沒有什么意義16四、數(shù)組與指針5.指針和數(shù)組的關(guān)系C語言中數(shù)組與指針關(guān)系密切,它們幾乎可以互換。數(shù)組名可認(rèn)為是一個常量指針,指針可以完成涉及數(shù)組下標(biāo)的操作。例如:int a10 ,*p=a;則,p指向數(shù)組的第一個元

12、素,可用如下的指針表達(dá)式引用數(shù)組元素a3 *(p+3) 式中的 3 是對于指針變量p的偏移量。 當(dāng)p指向數(shù)組的起始位置時,偏移量等于數(shù)組的下標(biāo)。*(p+3) 這種表示法稱為“指針表示法” (或 *(a+3) )因為*的優(yōu)先級高于+,所以圓括號是必需的。注意總結(jié)至此,引用一個數(shù)組元素,可以采用如下兩種方法之一:(1) 下標(biāo)法: 如ai(2) 指針法:如 *(p+i) 或 *(a+i) 17四、數(shù)組與指針例3:輸出數(shù)組中的全部元素。(采用三種方法輸出數(shù)組元素的值) #include void main() int a10 , i ; for(i=0; i10;i+) scanf(%d,&ai);

13、for(i=0; i10;i+) printf(%d,ai); #include void main() int a10 , i ; for(i=0; i10;i+) scanf(%d,&ai); for(i=0; i10;i+) printf(%d,*(a+i) ); #include void main() int a10 , i , *p; for(i=0; i10;i+) scanf(%d,&ai); for(p=a; p(a+10); p+) printf(%d, *p); 1.下標(biāo)法2. 通過數(shù)組名計算數(shù)組元素的地址,找出元素的值3. 用指針變量指向數(shù)組元素(1)用下標(biāo)法直觀;(2

14、)用前兩種方法效率一樣; C編譯系統(tǒng)是將ai轉(zhuǎn)換為 *(a+i)來處理的(3)用第三種方法省時間, p+操作快。18四、數(shù)組與指針6.用數(shù)組名作函數(shù)的參數(shù)(1) 實參數(shù)組名代表該數(shù)組首元素的地址。而形參是用來接收 從實參傳遞過來的數(shù)組首元素的地址。因此,形參應(yīng)該是一個指針變量(只有指針變量才能存放地址)。 (2) 雖然函數(shù) f 的原型為 void f( int arr, int n) ,但編譯時是將arr數(shù)組按指針變量來處理的。即:void f( int arr, int n) 與 void f( int *arr, int n) 等價 #include void main() int arr

15、ay10 ; . f(array,10); . void f( int arr, int n) . . 首先回顧第八章“函數(shù)”中介紹的數(shù)組名作函數(shù)參數(shù)的情形:規(guī)定:如果形參數(shù)組中元素的值發(fā)生變化,實參數(shù)組元素的值隨之變化。說明19四、數(shù)組與指針例4.將數(shù)組a中n個元素按相反的順序存放。 #include void inv( int *x, int n) /* 形參為指針變量*/ int *p, temp,*i,*j, m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(;i=p; i+,j-) temp=*i; *i=*j; *j=temp; return; void ma

16、in() int i,a10=3,7,9,11,0,6,7,5,4,2; for(i=0;i10;i+) printf(%d,ai); inv(a , 10 ); /* 函數(shù)調(diào)用,實參為數(shù)組名*/ for(i=0;i10;i+) printf(%d,ai); 2 4 5 7 6 0 11 9 7 3a0a1a2a3a4a5a6a7a8a9a 數(shù)組i, xp=x+mj圖320四、數(shù)組與指針例5.用選擇法對10個整數(shù)按由小到大順序排序。 #include void sort( int *x, int n) /* 形參為指針變量*/ int i,j,k,t; for(i=0;in-1; i+) k=

17、i; for(j=i+1;j*(x+k) k=j; if(k!=i) t=*(x+i);*(x+i)=*(x+k);*(x+k)=t; void main() int *p,i,a10; p=a; for(i=0;i10;i+,p+) scanf(%d,p); sort(p , 10 ); /* 函數(shù)調(diào)用,實參為指針變量*/ for(i=0, p=a;i10;i+,p+) printf(%d,*p); a0a1a2a3a4a5a6a7a8a9圖4a 數(shù)組x21四、數(shù)組與指針7.指針和多維數(shù)組多維數(shù)組元素的地址假設(shè)有數(shù)組定義: int a34;C語言規(guī)定: (1) 二維數(shù)組的起始地址為a; (2

18、) 此二維數(shù)組由三個行元素組成:a0,a1,a2; (3) 每個行元素又是一個一維數(shù)組,包含4個元素: a0 為第一行的起始地址;a0 可用*a表示。 a1 為第二行的起始地址;a1 可用*(a+1)表示。 a2 為第三行的起始地址;a2 可用*(a+2)表示。 (4) 第0行第0列的元素a00的地址為: a0 ,也可用 *a表示。 第0行第1列的元素a01的地址為: a0+1,也可用 *a+1表示。 第0行第2列的元素a02的地址為: a0+2,也可用 *a+2表示。 第0行第3列的元素a03的地址為: a0+3,也可用 *a+3表示。 (5) 第0行第0列的元素a00可表示為: *(a0)

19、,也可用 *(*a)表示。 第0行第1列的元素a01可表示為: *(a0+1),也可用 *(*a+1)表示。 第0行第2列的元素a02可表示為: *(a0+2),也可用 *(*a+2)表示。 第0行第3列的元素a03可表示為: *(a0+3),也可用 *(*a+3)表示。(6) 第1行第3列的元素a13可表示為: *(a1+3),也可用 *(*(a+1)+3)表示。把 a 看成一維數(shù)組時,按照前面給出方法表示一維數(shù)組的元素。22 在C程序中,用兩種方法訪問字符串: (1)用字符數(shù)組存放一個字符串。 (2)用字符指針指向一個字符串。1.字符串的表示形式 五、字符串與指針 #include voi

20、d main() char string=china! ; printf(%sn,string); #include void main() char *string=china! ; printf(%sn,string); (1)用字符數(shù)組存放一個字符串。(2)用字符指針指向一個字符串。用字符串常量初始化字符指針用字符串常量初始化字符數(shù)組23五、字符串與指針2.訪問字符串中的字符 #include void main() char a=I love china! ,b20; int i; for(i=0;*(a+i)!=0; i+) *(b+i)=*(a+i); *(b+i)=0; prin

21、tf(%sn,b); 例6.將字符串a(chǎn)復(fù)制為字符串b。 243.字符串指針作函數(shù)參數(shù) 五、字符串與指針 #include void copy_string(char *from, char *to) for(; *from!=0; from+,to+) *to=*from; *to=0; void main() char a=I love china! ,b20; int i; copy_string(a,b); printf(%sn,b); 例7. 用函數(shù)調(diào)用實現(xiàn)字符串a(chǎn)復(fù)制。 此循環(huán)可改為:while(*to=*from)!=0)to+; from+;25六、返回指針值的函數(shù)一個函數(shù)可以返

22、回一個int型、float型、char型的數(shù)據(jù),也可以返回一個指針類型的數(shù)據(jù)。 返回指針值的函數(shù)簡稱為指針函數(shù)。 舉例指針函數(shù)的定義 函數(shù)類型 *函數(shù)名(形參表)定義形式int *func(int x , int y ) char *string; . return(string);26作 業(yè)P258: 10.1, 10.3, 10.6 27#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNf

23、QiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*

24、x-A2D5G8KbNfQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaM

25、dPgSkVnYq$t*x-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s

26、&v)y0C3F6IaLdPgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZ(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcO

27、gRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u

28、(y+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7Jb

29、MeQhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*

30、x-A2D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaL

31、dPgSkVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s

32、%v)y0C3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9Lc

33、OfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%

34、u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZ(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E

溫馨提示

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

評論

0/150

提交評論