C語言程序設計(第三版)(微課版)第7章 用戶自定義函數(shù)_第1頁
C語言程序設計(第三版)(微課版)第7章 用戶自定義函數(shù)_第2頁
C語言程序設計(第三版)(微課版)第7章 用戶自定義函數(shù)_第3頁
C語言程序設計(第三版)(微課版)第7章 用戶自定義函數(shù)_第4頁
C語言程序設計(第三版)(微課版)第7章 用戶自定義函數(shù)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1目錄7.1用戶自定義函數(shù)的種類7.2函數(shù)的定義7.3被調函數(shù)的聲明7.4函數(shù)的調用7.5函數(shù)的嵌套調用7.6函數(shù)的遞歸調用7.7數(shù)組作函數(shù)參數(shù)7.8變量的作用域7.9變量的存儲類別27.1

用戶自定義函數(shù)的種類

1.有返回值函數(shù)和無返回值函數(shù)

C語言的函數(shù)兼有其它語言中的函數(shù)和過程兩種功能,從這個角度看,又可把函數(shù)分為有返回值函數(shù)和無返回值函數(shù)兩種。

1)有返回值函數(shù) 此類函數(shù)被調用執(zhí)行完后將向調用者返回一個執(zhí)行結果,稱為函數(shù)返回值,如數(shù)學函數(shù)即屬于此類函數(shù)。由用戶定義的這種要返回函數(shù)值的函數(shù),必須在函數(shù)定義和函數(shù)聲明中明確返回值的類型,在函數(shù)調用時要接收函數(shù)的返回值。

2)無返回值函數(shù) 此類函數(shù)用于完成某項特定的處理任務,執(zhí)行完成后不向調用者返回函數(shù)值,這類函數(shù)類似于其它語言的過程。由于函數(shù)無須返回值,用戶在定義此類函數(shù)時可指定它的返回為空類型,空類型的聲明符為void,在函數(shù)調用時不能得到函數(shù)的返回值。37.1

用戶自定義函數(shù)的種類

2.無參函數(shù)和有參函數(shù) 從主調函數(shù)和被調函數(shù)之間數(shù)據(jù)傳送的角度看又可分為無參函數(shù)和有參函數(shù)兩種。

1)無參函數(shù) 函數(shù)定義、函數(shù)聲明及函數(shù)調用中均不帶參數(shù)。主調函數(shù)和被調函數(shù)之間不進行參數(shù)傳送。此類函數(shù)通常用來完成一組指定的功能,可以返回或不返回函數(shù)值。

2)有參函數(shù) 也稱為帶參函數(shù)。在函數(shù)定義及函數(shù)聲明時都有參數(shù),稱為形式參數(shù)(簡稱為形參)。在函數(shù)調用時也必須給出參數(shù),稱為實際參數(shù)(簡稱為實參)。形參和實參的個數(shù)及對應位置參數(shù)的類型必須一致。進行函數(shù)調用時,主調函數(shù)將把實參的值傳送給形參,供被調函數(shù)使用,這一過程叫形實結合方式,也叫參數(shù)傳遞方式。47.2

函數(shù)的定義

1.無參函數(shù)的定義

無參函數(shù)的定義形式為: 類型標識符函數(shù)名() {

聲明部分 執(zhí)行部分

}

1)函數(shù)首部 類型標識符和函數(shù)名為函數(shù)首部。 (1)類型標識符指明了本函數(shù)返回值的類型。無參函數(shù)可以帶回或不帶回函數(shù)值,但一般以不帶回函數(shù)值的居多,此時函數(shù)類型聲明符可以寫為void。57.2

函數(shù)的定義

1.無參函數(shù)的定義

1)函數(shù)首部

(2)函數(shù)名是由用戶定義的標識符,應符合標識符命名規(guī)則。函數(shù)名后有一個空括號,其中無參數(shù),但括號不可少,作為函數(shù)的標志。

2)函數(shù)體

{}中的內容稱為函數(shù)體,包括聲明部分和執(zhí)行部分。聲明部分是對函數(shù)體內部所用到的變量的類型聲明;執(zhí)行部分完成函數(shù)的功能。67.2

函數(shù)的定義 2.有參函數(shù)的定義 有參函數(shù)定義的一般形式為:

類型標識符函數(shù)名(形式參數(shù)表列) {

聲明部分 執(zhí)行部分

}

有參函數(shù)比無參函數(shù)多了一個內容,即形式參數(shù)表列。在形參表中給出的參數(shù)稱為形式參數(shù),它們可以是各種類型的變量,各參數(shù)之間用逗號分隔。在進行函數(shù)調用時,主調函數(shù)將賦給這些形式參數(shù)實際的值。形參既然是變量,必須在形參表中給出形參的類型聲明。77.2

函數(shù)的定義 3.帶返回值的函數(shù)定義 帶返回值的函數(shù),函數(shù)體的執(zhí)行部分必須通過return語句給函數(shù)返回指定類型的值。

return語句的一般形式為:

return表達式; 或者為:

return(表達式); 該語句的功能是計算表達式的值,并將該值返回給主調函數(shù)。在函數(shù)中允許有多個return語句,但每次調用只能有一個return語句被執(zhí)行,因此只能返回一個函數(shù)值。在定義函數(shù)時指定的函數(shù)類型一般應該和return語句中的表達式類型一致;如果函數(shù)值的類型和return語句中表達式的值不一致,則以函數(shù)類型為準。87.2

函數(shù)的定義 4.不帶返回值的函數(shù)定義 不帶返回值的函數(shù)應明確定義為空類型,類型聲明符為void。一旦函數(shù)被定義為空類型,就不能在主調函數(shù)中使用被調函數(shù)的函數(shù)值了。

5.函數(shù)定義的位置 在C程序中,一個函數(shù)的定義可以放在任意位置,既可放在主函數(shù)main之前,也可放在main之后。 在C語言中,所有函數(shù)的定義,包括主函數(shù)main在內,都是平行的。也就是說,在一個函數(shù)的函數(shù)體內,不能再定義另一個函數(shù),即不能嵌套定義。97.3

被調函數(shù)的聲明

對于用戶自定義函數(shù),不僅要在程序中定義函數(shù),而且在主調函數(shù)中還要對該被調函數(shù)進行聲明,然后才能使用。 在一個函數(shù)中調用另一個自己定義的函數(shù),如果被調函數(shù)在主調函數(shù)之后定義,那么在主調函數(shù)中調用被調函數(shù)之前應對該被調函數(shù)進行聲明,這與使用變量之前要先進行變量聲明是一樣的。在主調函數(shù)中對被調函數(shù)作聲明的目的是使編譯系統(tǒng)知道被調函數(shù)返回值的類型,以便在主調函數(shù)中按此種類型對返回值作相應的處理。107.3

被調函數(shù)的聲明 1.函數(shù)聲明的一般形式

類型聲明符被調函數(shù)名(類型形參,類型形參…);

或為:

類型聲明符被調函數(shù)名(類型,類型…);

括號內給出了形參的類型和形參名,或只給出形參類型。便于編譯系統(tǒng)進行檢錯,以防止可能出現(xiàn)的錯誤。 例如:

intmax(inta,intb);

或寫為:

intmax(int,int);117.3

被調函數(shù)的聲明

2.可以省略主調函數(shù)中對被調函數(shù)的函數(shù)聲明

C語言中又規(guī)定在以下幾種情況時可以省去主調函數(shù)中對被調函數(shù)的函數(shù)聲明。 (1)當被調函數(shù)的函數(shù)定義出現(xiàn)在主調函數(shù)之前時,在主調函數(shù)中也可以不對被調函數(shù)再作聲明而直接調用。 (2)如在所有函數(shù)定義之前,在函數(shù)外預先聲明了各個函數(shù)的類型,則在以后的各主調函數(shù)中,可不再對被調函數(shù)作聲明。

例如:

charstr(inta); voidmain() { } charstr(inta) { }127.4

函數(shù)的調用

1.函數(shù)調用的一般形式

C語言中,函數(shù)調用的一般形式為:

函數(shù)名(實際參數(shù)表列)

對無參函數(shù)調用時則無實際參數(shù)表列。實際參數(shù)表列中的參數(shù)可以是常量、變量、函數(shù)、表達式或其它構造類型數(shù)據(jù)。各實參無需指定類型,多個實參之間用逗號分隔。

2.函數(shù)調用的方式

1)函數(shù)表達式

函數(shù)調用出現(xiàn)在另一個表達式中,這時要求函數(shù)帶回一個確定的值以參加表達式的運算。例如:z=max(x,y)是一個賦值表達式,把max的返回值賦給變量z。137.4

函數(shù)的調用 2.函數(shù)調用的方式

2)函數(shù)調用語句 函數(shù)調用單獨作為一個語句,即在一般形式末尾加上分號構成函數(shù)調用語句。例如:printf(“%d”,a);就是以函數(shù)調用語句的方式調用函數(shù)。這時不要求函數(shù)帶返回值,只要求函數(shù)完成一定的操作。

3)函數(shù)實參 函數(shù)調用作為另一個函數(shù)調用的實際參數(shù)出現(xiàn)。這種情況是把該函數(shù)的返回值作為實參進行傳送,因此要求該函數(shù)必須是有返回值的。 例如: printf("%d",max(x,y)); 把max函數(shù)調用的返回值又作為printf函數(shù)的實參來使用。147.4

函數(shù)的調用 2.函數(shù)調用的方式

【例7_1】函數(shù)的定義、聲明及調用舉例。

#include<stdio.h> intmax(inta,intb) {if(a>b)returna; elsereturnb;} voidmain() {intmax(inta,intb); intx,y,z; printf("inputtwonumbers:\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d\n",z); }157.4

函數(shù)的調用

3.函數(shù)調用的參數(shù)傳遞

1)函數(shù)的形參和實參的特點 (1)形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數(shù)內部有效。函數(shù)調用結束返回主調函數(shù)后則不能再使用該形參變量。 (2)實參可以是常量、變量、函數(shù)、表達式或其它構造類型數(shù)據(jù),無論實參是何種類型的量,在進行函數(shù)調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值、輸入等辦法使實參獲得確定值。 (3)實參和形參的數(shù)量、類型、順序應嚴格一致,否則會發(fā)生類型不匹配的錯誤。

2)參數(shù)傳遞方式 (1)單向值傳遞 當實參是常量、變量、函數(shù)、表達式時,函數(shù)調用中發(fā)生的數(shù)據(jù)傳送是單向值傳遞的,即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數(shù)調用過程中,形參的值發(fā)生改變,而實參中的值不會變化。167.4

函數(shù)的調用

3.函數(shù)調用的參數(shù)傳遞

2)參數(shù)傳遞方式

【例7_2】單向值傳遞

#include<stdio.h> ints(intn) {inti; for(i=n-1;i>=1;i--)n=n+i; printf("n=%d\n",n); } voidmain() {intn; printf("inputnumber\n");scanf("%d",&n);s(n);printf("n=%d\n",n); }177.4

函數(shù)的調用

3.函數(shù)調用的參數(shù)傳遞

2)參數(shù)傳遞方式 (2)雙向地址傳遞 當實參是數(shù)組名或指針時,函數(shù)調用中發(fā)生的參數(shù)傳送是雙向的。即把實參的地址傳送給形參,也就是形參和實參共用同一地址空間,形參的值發(fā)生改變,就會改變這段地址空間的值,所以實參中的值也會跟著變化。187.5

函數(shù)的嵌套調用

C語言允許在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調用。這樣就出現(xiàn)了函數(shù)的嵌套調用,即在被調函數(shù)中又調用其它函數(shù)。b函數(shù)⑤①⑨結束a函數(shù)③調用b函數(shù)⑦②⑧④⑥main函數(shù)圖7_3函數(shù)嵌套調用a函數(shù)

例如:圖7_3中執(zhí)行main函數(shù)中調用a函數(shù)的語句時,即轉去執(zhí)行a函數(shù),在a函數(shù)中調用b函數(shù)時,又轉去執(zhí)行b函數(shù),b函數(shù)執(zhí)行完畢返回a函數(shù)的斷點繼續(xù)執(zhí)行,a函數(shù)執(zhí)行完畢返回main函數(shù)的斷點繼續(xù)執(zhí)行。197.5

函數(shù)的嵌套調用

【例7_3】計算s=(1+2)!+(1+2+3)!

本題可編寫兩個函數(shù),一個是用來計算平方值的函數(shù)f1,另一個是用來計算階乘值的函數(shù)f2。主函數(shù)先調f1計算出平方值,再在f1中以平方值為實參,調用f2計算其階乘值,然后返回f1,再返回主函數(shù),在循環(huán)程序中計算累加和。

#include<stdio.h> longf1(intp) {intk,r=0; intf2(int); for(k=1;k<=p;k++)r=r+k; returnf2(r); }207.5

函數(shù)的嵌套調用

intf2(intq) {inti,c=1; for(i=1;i<=q;i++)c=c*i; returnc; } voidmain() {inti,s=0; for(i=2;i<4;i++)s=s+f1(i); printf("s=%d\n",s); }217.6

函數(shù)的遞歸調用

一個函數(shù)在它的函數(shù)體內直接或間接調用它自身,稱為遞歸調用,這種函數(shù)稱為遞歸函數(shù)。執(zhí)行遞歸函數(shù)將反復調用其自身,每調用一次就進入新的一層。為了防止遞歸調用無終止地進行,必須在函數(shù)內有終止遞歸調用的手段。常用的辦法是加條件判斷,滿足某種條件后就不再作遞歸調用,然后逐層返回。

【例7_4】用遞歸法計算n!

計算n!可用下述公式表示:

22

#include<stdio.h> longff(intn) {longf; if(n<0)printf("n<0,inputerror"); elseif(n==0||n==1)f=1; elsef=ff(n-1)*n; return(f); } voidmain() {intn;longy; printf("inputainteagernumber:"); scanf("%d",&n);y=ff(n); printf("%d!=%ld\n",n,y); }237.7

數(shù)組作函數(shù)參數(shù)

1.數(shù)組元素作函數(shù)實參

用數(shù)組元素作實參的特點: (1)用數(shù)組元素作實參時,只要數(shù)組類型和函數(shù)的形參變量的類型一致,那么作為下標變量的數(shù)組元素的類型也和函數(shù)形參變量的類型是一致的。因此,并不要求函數(shù)的形參也是下標變量。換句話說,對數(shù)組元素的處理是按簡單變量對待的。 (2)在簡單變量或下標變量作函數(shù)參數(shù)時,形參變量和實參變量是由編譯系統(tǒng)分配的兩個不同的內存單元。在函數(shù)調用時,發(fā)生值傳送是把實參變量的值賦給形參變量,不能從形參傳回實參。形參的初值和實參相同,而形參的值發(fā)生改變后,實參并不變化。247.7

數(shù)組作函數(shù)參數(shù)

1.數(shù)組元素作函數(shù)實參

【例7_5】判別一個整數(shù)數(shù)組中各元素的值,若大于0則輸出該數(shù)加1后的值,若小于等于0則輸出0值。編程如下:

voidnzp(intv) {if(v>0)printf("%d",++v); elseprintf("%d",0); } voidmain() {inta[5],i; printf("input5numbers:\n"); for(i=0;i<5;i++) {scanf("%d",&a[i]);nzp(a[i]); printf(“%d\n“,a[i]);} }257.7

數(shù)組作函數(shù)參數(shù)

2.數(shù)組名作函數(shù)實參

1)用數(shù)組名作函數(shù)參數(shù)的特點

(1)用數(shù)組名作函數(shù)參數(shù)時,要求形參和相對應的實參都必須是類型相同的數(shù)組,都必須有明確的數(shù)組定義。 (2)在用數(shù)組名作函數(shù)參數(shù)時,不是進行值的傳送,即不是把實參數(shù)組的每一個元素的值都賦給形參數(shù)組的各個元素。因為實際上形參數(shù)組并不存在,編譯系統(tǒng)不為形參數(shù)組分配內存。因此在數(shù)組名作函數(shù)參數(shù)時,在函數(shù)執(zhí)行時,把實參數(shù)組的首地址賦給形參數(shù)組名。形參數(shù)組名取得該首地址之后,也就等于有了實在的數(shù)組,實際上是形參數(shù)組和實參數(shù)組為同一數(shù)組,共同擁有一段內存空間。因此當形參數(shù)組發(fā)生變化時,實參數(shù)組也隨之變化,相當于實現(xiàn)了地址雙向傳遞。267.7

數(shù)組作函數(shù)參數(shù)

2.數(shù)組名作函數(shù)實參

1)用數(shù)組名作函數(shù)參數(shù)的特點

【例7_6】數(shù)組a中存放了一個學生5門課程的成績,對這些成績上調10分。

#include<stdio.h> voidinc(inta[5]) {inti; for(i=0;i<5;i++)a[i]+=10; } voidmain() {inti,sco[5]; printf("input5scores:\n"); for(i=0;i<5;i++)scanf("%d",&sco[i]); inc(sco);printf("output5scores:\n"); for(i=0;i<5;i++)printf("%d\t",sco[i]); printf("\n"); }sco[0]Sco[1]sco[2]sco[3]sco[4]5566778887a[0]a[1]a[2]a[3]a[4]277.7

數(shù)組作函數(shù)參數(shù)

2.數(shù)組名作函數(shù)實參

2)用數(shù)組名作為函數(shù)參數(shù)時的注意事項 (1)在函數(shù)形參表中,允許不給出形參數(shù)組的長度,或用一個變量來表示數(shù)組元素的個數(shù)。例如,可以寫為:

voidp(inta[])或寫為

voidp(inta[],intn)

其中形參數(shù)組a沒有給出長度,而由n值動態(tài)地表示數(shù)組的長度。n的值由主調函數(shù)的實參進行傳送。 (2)多維數(shù)組也可以作為函數(shù)的參數(shù)。在函數(shù)定義時對形參數(shù)組可以指定每一維的長度,也可省去第一維的長度。因此,以下寫法都是合法的。

intmax(inta[3][10])或

intmax(inta[][10])287.8

變量的作用域

變量有效性的范圍稱為變量的作用域。C語言中的變量,按作用域范圍可分為兩種:局部變量和全局變量。

1)局部變量(也稱為內部變量)在函數(shù)體的聲明部分定義。其作用域僅限于本函數(shù)內,離開本函數(shù)后不能再使用這個變量。

2)全局變量(也稱為外部變量)在函數(shù)外部定義的變量。它不屬于哪一個函數(shù),它的作用域是整個文件。

注意:同一個源文件中,在不同作用域內可以定義同名變量,在使用時,作用域小的變量屏蔽作用域大的變量。297.8

變量的作用域 1.局部變量

局部變量也稱為內部變量。局部變量是在函數(shù)內作定義的,其作用域僅限于函數(shù)內,離開該函數(shù)后再使用這種變量是非法的。

【例7_7】局部變量的作用域。

intf1(inta)/*函數(shù)f1*/ { intb,c;//a,b,c有效

} voidmain() { intm,n;//m,n有效

}307.8

變量的作用域 1.局部變量

關于局部變量的作用域還要說明以下幾點: (1)主函數(shù)中定義的變量也只能在主函數(shù)中使用,不能在其它函數(shù)中使用。同時,主函數(shù)中也不能使用其它函數(shù)中定義的變量。原因在于主函數(shù)也是一個函數(shù),它與其它函數(shù)是平行關系。 (2)形參變量是屬于被調函數(shù)的局部變量,實參變量是屬于主調函數(shù)的局部變量。 (3)允許在不同的函數(shù)中使用相同的變量名,它們代表不同的對象,分配不同的單元,互不干擾,也不會發(fā)生混淆。 (4)在復合語句中也可定義變量,其作用域只在復合語句范圍內。317.8

變量的作用域 1.局部變量

【例7_8】復合語句中定義的局部變量的作用域。

#include<stdio.h> voidmain() {inti=2,j=3,k; k=i+j; {intk=8; printf("%d\n",k); } printf("%d\n",k);}327.8

變量的作用域

2.全局變量 全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個函數(shù),它屬于一個源文件,其作用域是整個源文件。 只有在函數(shù)內經過聲明的全局變量才能使用。全局變量的聲明符為extern。但在一個函數(shù)之前定義的全局變量,在該函數(shù)內使用可不再加以聲明。

【例7_9】全局變量的作用域。

inta,b;/*外部變量*/ voidf1()/*函數(shù)f1*/ {externx,y;/*聲明外部變量*/} floatx,y;/*外部變量*/ voidmain()/*主函數(shù)*/ {}337.8

變量的作用域 2.全局變量

【例7_10】輸入正方體的長寬高l、w、h。求體積及三個面x*y、x*z、y*z的面積。

#include<stdio.h> ints1,s2,s3; intvs(inta,intb,intc) {intv;v=a*b*c; s1=a*b;s2=b*c;s3=a*c; returnv; } voidmain() {intv,l,w,h; printf("inputlength,widthandheight:\n"); scanf("%d%d%d",&l,&w,&h); v=vs(l,w,h); printf("v=%d,s1=%d,s2=%d,s3=%d\n",v,s1,s2,s3); }347.8

變量的作用域

2.全局變量

【例7_11】全局變量與局部變量同名。

#include<stdio.h> inta=3,b=5;/*a,b為全局變量*/ intmax(inta,intb)/*a,b為內部變量*/ { intc;c=a>b?a:b; return(c); } voidmain() { inta=8; printf("%d\n",max(a,b)); }357.9

變量的存儲類別 1.動態(tài)存儲方式與靜態(tài)存儲方式

1)靜態(tài)存儲方式及靜態(tài)存儲區(qū) 靜態(tài)存儲方式是指在程序運行期間分配固定的存儲空間的方式。全局變量全部存放在靜態(tài)存儲區(qū),在程序開始執(zhí)行時給全局變量分配存儲區(qū),程序行完畢就釋放。在程序執(zhí)行過程中它們占據(jù)固定的存儲單元,而不是動態(tài)地進行分配和釋放。

2)動態(tài)存儲方式及動態(tài)存儲區(qū) 動態(tài)存儲方式是在程序運行期間根據(jù)需要進行動態(tài)的分配存儲空間的方式。在函數(shù)開始調用時分配動態(tài)存儲空間,函數(shù)結束時釋放這些空間367.9

變量的存儲類別 2.用auto聲明動態(tài)局部變量

函數(shù)中的局部變量,如不專門聲明為static存儲類別,都是動態(tài)地分配存儲空間的,數(shù)據(jù)存儲在動態(tài)存儲區(qū)中。函數(shù)中的形參和在函數(shù)中定義的變量(包括在復合語句中定義的變量),都屬此類。在調用該函數(shù)時系統(tǒng)會給它們分配存儲空間,在函數(shù)調用結束時就自動釋放這些存儲空間。這類局部變量稱為自動變量。自動變量用關鍵字auto進行存儲類別的聲明。關鍵字auto可以省略,隱含為自動存儲類別,屬于動態(tài)存儲方式。

intf(inta)//定義f函數(shù),a為參數(shù)

{ autointb,c=3;//定義b,c自動變量

…… }

執(zhí)行完f函數(shù)后,自動釋放a、b和c所占的存儲單元。377.9

變量的存儲類別 3.用static聲明靜態(tài)局部變量 函數(shù)中的局部變量的值在函數(shù)調用結束后不消失而保留原值,指定局部變量為靜態(tài)局部變量,用關鍵字static進行聲明。

【例7_12】考察靜態(tài)局部變量的值。

#include<stdio.h> intf(inta) {autob=0;staticc=3; b=b+1;c=c+1; return(a+b+c); } voidmain() {inta=2,i; for(i=0;i<3;i++)printf("%d\n",f(a)); }387.9

變量的存儲類別

3.用static聲明靜態(tài)局部變量

靜態(tài)局部變量和動態(tài)局部變量的區(qū)別: (1)靜態(tài)局部變量屬于靜態(tài)存儲類別,在靜態(tài)存儲區(qū)內分配存儲單元。在程序整個運行期間都不

溫馨提示

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

評論

0/150

提交評論