C程序設計英文課件:CHAPTE 4 Functions and Program Structure_第1頁
C程序設計英文課件:CHAPTE 4 Functions and Program Structure_第2頁
C程序設計英文課件:CHAPTE 4 Functions and Program Structure_第3頁
C程序設計英文課件:CHAPTE 4 Functions and Program Structure_第4頁
C程序設計英文課件:CHAPTE 4 Functions and Program Structure_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、CHAPTE 4mainfunc1func2func3func6func7func8func4func5.C語言是通過函數(shù)來實現(xiàn)模塊化程序設計的。所以較大的C語言應用程序,往往是由多個函數(shù)組成的,每個函數(shù)分別對應各自的功能模塊。Contents1. Basics of Functions2. Functions Returning Non-integers3. External Variables4. Static Variables5.Register Variables6. Header Files7. Block Structure8. Initialization9. Recursio

2、n10. The C Preprocessor4.1 Basics of Functionsreturn_type function_name (argument declaration)declarations and statementsfor example:int max( int x,int y)int z;z=xy?x:y;return(z); 4.1 Basics of FunctionsThe definition of function Note1:No Argument Functionreturn_type function_name ( )declarations an

3、d statementsfor example:int dummy( ). 4.1 Basics of FunctionsThe definition of function Note2: if return type is omitted, int is assumedmy_function(int c).int4.1 Basics of FunctionsNote3: dummy()The definition of function 合法標識符函數(shù)返回值類型缺省int型無返回值void函數(shù)體函數(shù)類型 函數(shù)名(形參類型說明表)說明部分語句部分4.1 Basics of FunctionsT

4、he definition of function return_type function_name (argument declaration).return (expression);Note: any expression can be followed return statement expression will be converted to the return_type parentheses(optional ) are often used around 表達式的數(shù)據類型將被強制轉換為函數(shù)的返回類型 表達式一般放在一對圓括號中4.1 Basics of Function

5、sThe Return Statement of function No return valuevoid printstar ( )printf(“*”);Note: use void key word to declare the function which no return value. (使用void關鍵字表示函數(shù)沒有返回值)4.1 Basics of FunctionsThe Return Statement of function 形式: return(表達式);或 return 表達式;或 return;功能:使程序控制從被調用函數(shù)返回到調用函數(shù)中,同時把返回值帶給調用函數(shù)說

6、明:若無return語句,遇 時,自動返回調用函數(shù)若函數(shù)類型與return語句中表達式值的類型不一致,按前者為準,自動轉換-函數(shù)調用轉換void型函數(shù)用來明確表明函數(shù)不帶回任何值例 無返回值函數(shù)void swap(int x,int y ) int temp; temp=x; x=y; y=temp;4.1 Basics of FunctionsThe Return Statement of function 例 函數(shù)返回值類型自動轉換為函數(shù)類型#includemain() float a,b; int c; int max(float x,float y); scanf(%f,%f,&a,&

7、b); c=max(a,b); printf(Max is %dn,c);max(float x, float y) float z; z=xy?x:y; return(z);運行結果:1.5, 4.7Max is 44.1 Basics of Functions說明:實參必須有確定的值形參必須指定類型形參與實參類型一致,個數(shù)相同若形參與實參類型不一致,自動按形參類型轉換 函數(shù)調用轉換參數(shù)傳遞方式為值傳遞方式:函數(shù)調用時,為形參分配單元,并將實參的值復制到形參中;調用結束,形參單元被釋放,實參單元仍保留并維持原值。特點:形參與實參占用不同的內存單元;單向傳遞形式參數(shù)與實際參數(shù)形式參數(shù):定義函數(shù)

8、時函數(shù)名后面括號中的變量名實際參數(shù):調用函數(shù)時函數(shù)名后面括號中的表達式 c=max(a,b); (main 函數(shù)) (max 函數(shù))max(int x,int y) int z; z=xy?x:y; return(z); 例 比較兩個數(shù)并輸出大者#include (c7_2.c)main() int a,b,c; int max(int x,int y); scanf(%d,%d,&a,&b); c=max(a,b); printf(Max is %d,c);max(int x,int y) int z; z=xy?x:y; return(z);形參實參4.1 Basics of Functi

9、ons711x:y:調用前:調用結束:711x:y:例 交換兩個數(shù)#include main() int x=7,y=11; printf(x=%d,ty=%dn,x,y); printf(swapped:n); swap(x,y); printf(x=%d,ty=%dn,x,y);swap(int a,int b) int temp; temp=a; a=b; b=temp;調用:711a:b:711x:y:swap:711x:y:117a:b:temp運行結果:x=7, y=11 swapped: x=7, y=11值傳遞方式,單向傳遞Example:說明實參與形參的關系main() in

10、t s(int n) int n; printf(input numbern); scanf(%d,&n); s(n); printf(n=%dn,n);int s(int n) int i; for(i=n-1;i=1;i-) n=n+i; printf(n=%dn,n);4.1 Basics of FunctionsResult:n=5050n=100 Callingsyntax:function_name(actual argument list)function statement:函數(shù)構成的語句printstar( );function expression:函數(shù)構成的表達式c=ma

11、x(a,b);function argument: 函數(shù)作為參數(shù)c=max(a,max(b,c);printf(“%d”,max(5,8);format實參序列4.1 Basics of Functions Function declaration(函數(shù)的聲明)syntax:return_type function_name(argument declaration)main() int max(int a,int b);(函數(shù)原型).int max(int x, int y) return (xy)?x:y;main() int max(int, int);int max(int x, in

12、t y) . Function declarationsyntax:return_type function_name( )need not declaration:return type is int or char;function defined before used;有兩種情況函數(shù)不需要聲明: 1、函數(shù)類型為整型或字符型 2、函數(shù)定義在使用之前4.1 Basics of Functions#include long sum(int a, int b);long factorial(int n);main() int n1,n2; long a; scanf(%d,%d,&n1,&n2

13、); a=sum(n1,n2); printf(a=%1d,a);long sum(int a,int b) long c1,c2; c1=factorial(a); c2=factorial(b); return(c1+c2);long factorial(int n) long rtn=1; int i; for(i=1;i=n;i+) rtn*=i; return(rtn);long sum(int a,int b);long factorial(int n);文件包含編譯預處理命令函數(shù)聲明函數(shù)定義函數(shù)調用函數(shù)調用函數(shù)返回值形參實參 Lib function declarationsyn

14、tax:#include #include main().printf(.);#include main().for(i=0;isspace(si);i+).for( ;isdigit(si);i+).4.1 Basics of Functions4.2 Functions Returning Non-integersExample: convert string to double#include double atof(char s ) double val,power; int i,sign; for(i=0;isspace(si);i+) ; sign=(si=-)?-1:1; if(

15、si=+|si=-) i+; for(val=0.0; isdigit(si); i+) val=10.0*val+(si-0);if(si=.)i+;for(power=1.0;isdigit(si);i+) val=10.0*val+(si-0);power*=10; return sign*val/power;main() double atof(char s ); char s100 double x; scanf(“%s”,s); x=atof(s);printf(“%x=%fn”,x);4.2 Function returning non-integersnote:the type

16、 declared and defined must be consistent.聲明的數(shù)據類型和定義的數(shù)據類型須一致。4.2 Function returning non-integers4.3 External VariablesExternal Variables ( Global ): 外部變量(全局變量)defined outside of the function在函數(shù)外部定義的變量稱為外部變量。外部變量不屬于任何一個函數(shù),其作用域是:從外部變量的定義位置開始,到本文件結束為止。Internal Variables ( Local or Automatic ): 內部變量(局部變量

17、或自動變量)defined inside of the function定義在函數(shù)內部,只在函數(shù)內起作用,其他函數(shù)不能使用4.3 External VariablesInternal Variables (automatic variables)1 The variable defined in main,is accessible only in main.主函數(shù)內定義的變量只在主函數(shù)中有效The variables which separately defined in different function, can have same name. 不同函數(shù)內定義的變量可以有相同的變量名3

18、 Formal variables for function are internal variables. 函數(shù)的形參變量是內部變量The variables can be defined in a block. 變量也可以定義在程序塊(組)中4.3 External Variables#include main() int a,b; a=3; b=4; printf(main:a=%d,b=%dn,a,b); sub(); printf(main:a=%d,b=%dn,a,b);sub() int a,b; a=6; b=7; printf(sub:a=%d,b=%dn,a,b);運行結果

19、:main:a=3,b=4sub:a=6,b=7main:a=3,b=4運行結果:5 4 3 2 1#include #define N 5main() int i; int aN=1,2,3,4,5; for(i=0;iN/2;i+) int temp; temp=ai; ai=aN-i-1; aN-i-1=temp; for(i=0;iN;i+) printf(%d ,ai);float f1(int a) int b,c; .char f2(int x,int y) int i,j; main() int m,n; .a,b,c有效x,y,i,j有效m,n有效4.3 External V

20、ariablesInternal Variables External Variablesdefined outside of any function (every function is external one) 定義在任何函數(shù)之外be accessible by all functions in same source program file 可以被同一文件中的所有函數(shù)訪問used to data communication between functions, return more values.可用于函數(shù)間的數(shù)據交換if external variable and intern

21、al variable have same name, then inside of the function, internal variable available,and outside of the function external variable available; 如果外部變量與內部變量同名,則在函數(shù)體內,內部變量起作用,函數(shù)體外,外部變量起作用4.3 External Variables全局變量是在函數(shù)外部定義的,有效范圍從定義變量的位置開始到本源文件結束。4.3 External Variables External Variablesint p=1,q=5;float

22、f1(int a) int b,c; .int f3().char c1,c2;char f2(int x,int y) int i,j; main() int m,n; .p,q作用范圍c1,c2作用范圍 External Variables4.3 External Variables External Variables5.如果在定義點之前的函數(shù)想引用該外部變量,則應該在引用之前用關鍵字extern對該變量作“外部變量聲明”。表示該變量是一個已經定義的外部變量。有了此聲明,就可以從“聲明”處起,合法地使用該外部變量。6. 如果一個程序包含兩個文件,在兩個文件中都要用到同一個同一個外部變量,

23、需要在任一個文件中定義外部變量,在另一個文件中用“extern”作外部變量聲明。7.在定義外部變量時加一個static聲明,則這些外部變量只能被本文件使用,而不能被其他文件引用。4.3 External Variables8)為區(qū)別局部與全局變量,習慣將全局變量的第一個字母大寫;9)設全局變量的作用增加了數(shù)據聯(lián)系的渠道10)應盡量少使用全局變量,因為:全局變量在程序全部執(zhí)行過程中占用存儲單元降低了函數(shù)的通用性、可靠性,可移植性降低程序清晰性,容易出錯 External Variables4.3 External Variables#include float Max,Min;float ave

24、rage(float array , int n) int i; float sum=array0; Max=Min=array0; for(i=1;iMax) Max=arrayi; else if(arrayiMin) Min=arrayi; sum+=arrayi; return(sum/n);main() int i; float ave,score10; /*Input */ ave=average(score,10); printf(Max=%6.2fnMin=%6.2fn average=%6.2fn,Max,Min,ave);作用域MaxMin例:一個一維數(shù)組內放10個學生成績

25、,寫一個函數(shù),求出平均分,最高分和最低分。#include int a=3,b=5; /*a,b為外部變量*/max( int a,int b) /*a,b為局部變量*/ int c; c=ab?a:b; return(c);main() int a=8; /*a為局部變量*/ printf(max=%d,max(a,b);例:外部變量與局部變量同名運行結果:max=8使用extern擴展外部變量的作用域到其他文件例:用extern聲明外部變量使用extern擴展文件內外部變量的作用域#include int max( int x,int y) int z; z=xy?x:y; return(

26、z);main() extern A,B; printf(%dn,max(A,B); int A=13,B=-8;運行結果:13int A;#include main() int power(int n); int b=3,c,d,m; printf(enter the number a and its power :n); scanf(%d,%d,&A,&m); c=A*b; printf(%d*%d=%dn,A,b,c); d=power(m); printf(%d*%d=%d,A,m,d);power(int n) int i,y=1; for(i=1;i=n;i+) y*=A; ret

27、urn(y);文件f1.c的內容:int A;#include main() int power(int n); int b=3,c,d,m; printf(enter the number a and its power :n); scanf(%d,%d,&A,&m); c=A*b; printf(%d*%d=%dn,A,b,c); d=power(m); printf(%d*%d=%d,A,m,d);文件f2.c的內容:extern A;power(int n) int i,y=1; for(i=1;i=n;i+) y*=A; return(y);作業(yè) 求兩個整數(shù)的最大公因數(shù)和最小公倍數(shù),

28、兩個整數(shù)從鍵盤輸入。要求用函數(shù)調用法。 例:用static聲明外部變量文件8-21-f1.c的內容:static int A;main() 文件8-21-f2.c的內容:extern A;power(n) 4.4 Static Variables 靜態(tài)存儲方式: 在程序運行期間分配固定的存儲空間。 全局變量全部存在靜態(tài)存儲區(qū),在程序開始執(zhí)行時給全局變量分 配存儲區(qū),程序執(zhí)行完畢就釋放。動態(tài)存儲方式 動態(tài)存儲方式則是在程序運行期間根據需要進行動態(tài)的分配存儲空間。4.3 Static Variables動態(tài)存儲方式與靜態(tài)存儲方式 從變量存在的時間(生存期)分動態(tài)與靜態(tài)兩種存儲方式靜態(tài)存儲:程序運行

29、期間分配固定存儲空間動態(tài)存儲:程序運行期間根據需要動態(tài)分配存儲空間 內存用戶區(qū) 生存期靜態(tài)變量: 從程序開始執(zhí)行到程序結束動態(tài)變量:從包含該變量定義的函數(shù)開始執(zhí)行至函數(shù)執(zhí)行結束 具體包含以下四種:auto-自動型 static-靜態(tài)型extern-外部型 register-寄存器型 程序區(qū)靜態(tài)存儲區(qū)動態(tài)存儲區(qū)全局變量、局部靜態(tài)變量形參變量局部動態(tài)變量(auto)函數(shù)調用現(xiàn)場保護和返回地址等(1) auto int x;(2) static int y;(3) register int i;(4) int z; extern z; 4.3 Static Variablesauto:applied

30、 to an internal variable 自動局部變量(又稱自動變量)只在函數(shù)內有效,一般缺省。auto int x; int x;函數(shù)被調用時分配存儲空間,調用結束就釋放。在復合語句中定義的自動變量,只在該復合語句中有效;退出復合語句后,也不能再使用,否則將引起錯誤。4.4 Static Variablesstatic:applied to internal variables, provide private, permanent storage. 靜態(tài)內部變量在程序執(zhí)行期間始終存在。4.4 Static VariablesNote1:靜態(tài)局部變量在編譯時賦初值,即只賦初值一次,以

31、后調用函數(shù)時不再重新賦值,而只是保留上一次函數(shù)調用結束時的值。 4.4 Static VariablesNote2:如果在定義局部變量時不賦初值的話,則對靜態(tài)局部變量來說,編譯時自動賦初值0(對數(shù)值型變量)或空字符(對字符變量)。 int x;static int y;系統(tǒng)將其賦值為0或空字符不確定Note3:雖然靜態(tài)局部變量在函數(shù)調用后仍然存在,但是其它函數(shù)是不能引用它的。 4.4 Static Variablesadd(int a) int b=0; static int c=3; b+; c+; return (a+b+c);main() int a=2,i; for(i=0;i3;i+

32、)printf(“%dt”, add(a);No.initial valueat the end of callbcbca+b+c103147204158305169#include int fac(int n) int f=1,i; for (i=1;i=n;i+) f=f*i; return(f);main() int i; for(i=1;i=5;i+) printf(%d!=%dn,i,fac(i); #include int fac(int n) static int f=1; f=f*n; return(f);main() int i; for(i=1;i=5;i+) printf

33、(%d!=%dn,i,fac(i); 4.4 Static Variables4.5 Register Variables Register variables (寄存器變量)are to be placed in machine registers, result in smaller and faster programs.register int a;register char c;4.5 Register Variables4.5 Register VariablesExample: 使用寄存器變量int fac(int n) register int i,f=1; for(i=1;i

34、=n;i+) f=f*I; return(f);main() int i; for(i=0;i=5;i+) printf(%d!=%dn,i,fac(i); Note: 只有局部自動內部變量和形式參數(shù)才可以聲明為寄存器變量。2 few registers can be used.寄存器變量的數(shù)量是有限的3 a static variable can not be declared as a register type. 靜態(tài)變量不能聲明為寄存器變量4.5 Register Variables1、求方程 的根。用三個函數(shù)分別求3種情況下,解的情況。從主函數(shù)輸入a,b,c的值。homework4.

35、6 Summarization局部變量外部變量存儲類別autoregister局部static外部static外部存儲方式動態(tài)靜態(tài)存儲區(qū)動態(tài)區(qū)寄存器靜態(tài)存儲區(qū)生存期函數(shù)調用開始至結束程序整個運行期間作用域定義變量的函數(shù)或復合語句內本文件其它文件賦初值每次函數(shù)調用時編譯時賦初值,只賦一次未賦初值不確定自動賦初值0或空字符局部變量默認為auto型局部static變量具有全局壽命和局部可見性局部static變量具有可繼承性extern不是變量定義,可擴展外部變量作用域4.6 Summarization4.7 Header FilesHeader file means one file include

36、 other file overall.文件包含是指,一個源文件可以將另一個源文件的全部內容包含進來。syntax:#include “filename” or#include 兩種格式的區(qū)別僅在于:(1)使用尖括號:系統(tǒng)直接到存放C庫函數(shù)頭文件所在的目錄中去查找要包含的文件,這稱為標準方式。(2)使用雙引號:系統(tǒng)首先到當前目錄下查找被包含文件,如果沒找到,再按標準方式查找。4.7 Header Files#include “file2” file1.cABfile2.cBAfile1.c4.7 Header FilesNote:1.在編譯中,將“包含”以后file1.c作為一個源文件單位進行

37、編譯。4.7 Header FilesNote:2.一個include命令只能指定一個被包含文件,若有多個文件要包含,則 需用多個include命令。3. 文件包含允許嵌套,即在一個被包含的文件中又可以包含另一個文件。#include “file2” file1.cABfile2.cBAfile1.c4.如果file2.h中有全局變量,它也在file1.h中有效,不必用extern聲明。例 文件包含舉例/* powers.h */#define sqr(x) (x)*(x)#define cube(x) (x)*(x)*(x)#define quad(x) (x)*(x)*(x)*(x)#in

38、clude #include powers.h#define MAX_POWER 10void main() int n; printf(numbert exp2t exp3t exp4n); printf(-t-t-t-n); for(n=1;n=MAX_POWER;n+) printf(%2dt %3dt %4dt %5dn,n,sqr(n),cube(n),quad(n);#include int max(int x, int y) return (xy)?x:y;int min(int x, int y)return (xy)? y:x;void printstar()printf(“

39、*”);calc.h#include #include “calc.h”main( ) int a,b,c,d;. c=max(a,b);. d=min(a,b);. printf(%d,%d”,c,d);work.c例 文件包含舉例如何運行一個多文件的程序用Turbo C 環(huán)境實現(xiàn)多文件程序的運行先輸入并編輯各個源文件分別存盤建立一個“項目文件” ,只包括組成程序的所有文件名。將此文件以“ *.prj”存盤在主菜單中選擇Project菜單,選擇菜單項Project name ,輸入剛建立的項目文件名按+運行。用#include 命令實現(xiàn)多文件程序的運行格式:#include “源程序文件名”

40、如果與當前文件不在同文件夾中,還需適當指明路徑,如: #include “d:abcf1.c”此時各文件中的函數(shù)被當作在同一文件中,main函數(shù)中原有的extern聲明可以不要。如何運行一個多文件的程序4.8 Block Structure variable can be defined in a block-structured fashion within a function 程序組-復合語句if(n0) int i; /* a new variable i, and its scope only inside the block*/ for(i=0;in;i+) .4.8 Block

41、Structuremain() int i=1,j=4; int i=2; int i=3; printf(“i=%d,j=%dn”,i,j); printf(“i=%dn”,i); printf(“i=%dn”,i); 4.8 Block StructureOutput:i=3,j=4i=2i=1Note1:程序組中定義的變量可以隱藏在該程序組外面定義的同名變量。 4.8 Block StructureNote2:程序組中定義的自動變量每當進入該程序組時就被初始化,靜態(tài)變量只在第一次進入該程序組時初始化。 4.9 Initialization In the absence of explic

42、it initialization(在進行賦值之前) external and static variables are guaranteed to be zero(0); 外部變量和靜態(tài)變量自動賦予0 automatic and register variables have undefined initial value.自動部變量和寄存器變量的初始值不確定4.9 InitializationFor external and static variables the initializer must be a constant expression;the initialization i

43、s done once; 初始化為常量表達式,其只有一次初始化For automatic and register variables1 the initializer may be any expression involving previously defined values, even function call;2 the initialization is done each time the function or block is entered; 初始化為任意表達式,甚至是函數(shù)調用,每次進入函數(shù)時均進行初始化的工作。4.9 Initializationint day =31

44、,28,31,30,31,30,31,31,30,31,30,31;Declaration with a list of initializer enclosed in braces and separated by commas. 數(shù)組元素對應的數(shù)值包括在花括號,依次對應,并用逗號分割。when the size of array is omitted, the complier will compute the length by counting the initializers; if there are fewer initializers for an array than the

45、 number specified, the missing elements will be day12=31, 28;如果只有部分數(shù)組元素被賦值,其他元素初始化為04.9 Initialization char s=“could”;instead of char s=c,o, u, l, d, 0;Note: The size of array is six (five characters plus 0)4.9 Initialization4.9 Initializationint a5=0,1,2,3,4 a0=0;a1=1;a2=2;a3=3;a4=4;int a5

46、=0,1,2 int a5=0,1,2,0,0 int a =0,1,2,3,4 int a5=0,1,2,3,4int a5=0,1,2,3,4,5,6 4.10 Recursion A function call itself either directly or indirectly.函數(shù)直接或間接的調用自身4.10 RecursionExample: printf a number as a character string#include void printd(int n) char s; int i=0; if(n=0;i-)putchar(si);n=-1234.10 Recu

47、rsion轉換成字符串逆序Example: printf a number as a character string#include void printd(int n) if(n1)4.10 Recursion結束條件n0;n=0或者n=1;n! =Recursion ordern! (n-1)! (n-2)! 2! 1! Return order 用遞歸的方法求n!long fac(int n) long f; if(n0) printf(“n0,data error”); else if (n=0|n=1) f=1; else f=fac(n-1)*n; return(f);main(

48、) int n; long y; scanf(“%d”,&n); y=fac(n); printf(“%d!=%10ld”,n,y);4.10 RecursionRecursion order 5! 4! 3! 2! 1! Recursion order 5! 4! 3! 2! 1!120 24 6 2 1 Return order homework有一對兔子,從出生后第3個月起每個月都生一對兔子。小兔子長到第3個月每個月又生一對兔子。假設所有兔子不死,求第n個月的兔子總數(shù)是多少?(Fibonacci數(shù)列)要求:用遞歸法;n可以由用戶設置。4.11 The C Preprocessor C p

49、rovides three kinds of preprocessor.file inclusion (#include)to include the contents of a file during compilation Macro substitution (#define)to replace a token by an arbitrary sequence of characters用一個字符串替代指定的標示符Conditional inclusion4.11 The C Preprocessor #include “filename”#include Any source lin

50、e of following form is replaced by the contents of the file filename,4.11 The C Preprocessor 4.11.1 file inclusion4.11 The C Preprocessor 4.11.2 Macro SubstitutionMacro substitution without argumentsMacro substitution without arguments #define PI 3.1415926#define FOREVER for(;)#define INPUT “please input datas:n”4.11 The C Preprocessor 4.11.2 Macro SubstitutionMacros without arguments#define name replacem

溫馨提示

  • 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

提交評論