(完整word)c語言基礎知識合集_第1頁
(完整word)c語言基礎知識合集_第2頁
(完整word)c語言基礎知識合集_第3頁
(完整word)c語言基礎知識合集_第4頁
(完整word)c語言基礎知識合集_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(完整word版)C語言基礎知識大全(完整word版)C語言基礎知識大全PAGE22(完整word版)C語言基礎知識大全語言變量聲明和變量賦值1)基本數(shù)據(jù)類型在C語言中,僅有4種基本數(shù)據(jù)類型整型、浮點型、指針和聚合類型(如數(shù)組和結(jié)構等),所有其他的類型都是從這4種基本類型的某種組合派生而來。整型:整型家族包括字符、短整型、整型和長整型,它們都分為有符號(signed)和無符號(unsigned)兩種版本。規(guī)定整數(shù)值相互之間大小的規(guī)則很簡單:長整型至少應該和整型一樣長,而整型至少應該和短整型一樣長。浮點類型:諸如和1023這樣的數(shù)值無法按照整數(shù)存儲。第一個數(shù)為非整數(shù),而第二個數(shù)遠遠超出了計算機整

2、數(shù)所表達范圍,這樣的數(shù)就可以用浮點數(shù)的形式存儲。浮點數(shù)家族包括float、double和long double類型。通常,這些類型分別提供單精度、雙精度以及在某種擴展精度的機器上提供擴展精度。ANSI標準僅僅規(guī)定long double至少和double一樣長,而double至少和float一樣長。標準同時規(guī)定了一個最小范圍:所有浮點類型至少能夠容納從10-37到1037之間的任何值。指針:變量的值存儲于計算機內(nèi)存中,每個變量都占據(jù)一個特定的位置。每個內(nèi)存的位置都由地址唯一確定并應用,就像一條街上的房子由他們的門牌號碼標識一樣,指針知識地址的另一個名字。2)變量聲明形式只知道基本的數(shù)據(jù)類型是遠遠

3、不夠的,你還應該知道怎樣聲明變量。變量的基本形式是:說明符(一個或多個) 聲明表達式列表對于簡單的類型,聲明表達式列表就是被聲明的標識符的基本類型。對于相對比較復雜的類型,聲明表達式列表的每個條目實際上是一個表達式,顯示被聲明的名字的可能用途。例如:int a, double b;該語句就是一條聲明語句,其中a,b就是變量名,該語句指明了變量a,b是int數(shù)據(jù)類型。所有變量在使用前都必須寫在執(zhí)行語句之前,也就是變量聲明要與執(zhí)行語句相分離,否則就是出現(xiàn)編譯錯誤。3)變量命名C語言中任何的變量名都是合法的標示符。所謂標識符就是由字母、數(shù)字和下劃線組成的但不以數(shù)字開頭的一系列字符。雖然C語言對標示符

4、的長度沒有限制,但是根據(jù)ANSI標準,C編譯器必須要識別前31個字符。C語言是對大小寫敏感的,即C語言認為大寫字母和小寫字母的含義是不同的,因此a1和A1是不同的標識符。到目前為止,沒有一種命名規(guī)則可以讓所有的程序員贊同,程序設計教科書一般都不指定命名規(guī)則。常用的命名規(guī)則有匈牙利命名法和駝峰命名法等,在實際操作中,我們會采取相對簡單方便的命名規(guī)則,即“類型首字母”+“_”+“變量用途英文縮寫”,其中英文縮寫首字母為大寫,例如 int i_Num,char c_Name5。4)變量賦值在一個變量聲明中,你可以給一個標量變量指定一個初始值,方法是在變量名后面跟一個等號(賦值號),后面就是你想要給變

5、量的值。例如:int i_Num=10; char c_Name=”student”;上述語句聲明i_Num為一個整數(shù)變量,其初始值為10,聲明c_Name為一個字符數(shù)組,其初始值為“student”。在C語言中,全局變量和靜態(tài)變量,如果沒有賦初值,則默認初始值int,float,char分別為0,,0,除了全局變量和靜態(tài)變量以外,其他變量如果沒有賦初值,則默認初始值為內(nèi)存中的垃圾內(nèi)容,對于垃圾內(nèi)容不能有任何假設。注意:定義指針后,默認初始值不是0,而是隨機的一個值,故定義指針后,一定要初始化。在實際操作中,變量的賦值都是以賦值語句的形式出現(xiàn),賦值語句是由賦值表達式再加上分號構成的表達式語句。

6、其一般形式為:變量=表達式;在賦值語句的使用中需要注意以下幾點:由于在賦值符“=”右邊的表達式也可以又是一個賦值表達式。下述形式:變量=(變量=表達式);該語句是成立的,從而形成了嵌套的情形。其展開后的一般形式為:變量=變量=表達式;例如:a=b=c=d=e=5;按照賦值運算符的右結(jié)合性,因此實際上等效于:e=5;d=e;c=d;b=c;a=b; 注意在變量聲明中給變量賦初值和賦值語句的區(qū)別給變量賦初值是變量說明的一部分,賦初值后的變量與其后的其他同類變量之間仍必須用逗號隔開,而賦值語句則必須用分號隔開。例如:int a=5,b,c;在變量聲明中,不允許連續(xù)給多個變量賦初值。如下述說明就是錯誤

7、的:int a=b=c=5;正確寫法為:int a=5,b=5,c=5;但是,賦值語句允許連續(xù)賦值。注意賦值表達式和賦值語句的區(qū)別。賦值表達式是一種表達式,它可以出現(xiàn)在任何允許表達式出現(xiàn)的地方,而賦值語句則不能。下述語句是合法的:If(x=y+7)0) z=x;語句功能為若表達式x=y+5大于0則z=x。但是,下述語句是錯誤的:If(x=y+7;)0) z=x;因為x=y+7;是語句,不能出現(xiàn)在表達式中。實例:#include “”void main()int i_Tmp,i_Type=8;float f_Tmp;double d_Tmp;char c_Tmp;d_Tmp=d_Tmp=f_Tm

8、p=12;f_Tmp=i_Type;i_Tmp=i_Type+3;printf(a=%d,b=%d,c=%.3f,d=%.6lf,i_Tmp,i_Type,f_Tmp,d_Tmp); 參考書目:(美)Kebbeth .C與指針29-40 等how to program Second Edition19-23算術運算符及使用方式C語言提供了最基本的算術運算符,如下表: 運算符含義舉例結(jié)果+加法運算符a+ba和b的和-減法運算符a-ba和b的差*乘法運算符a*ba和b的乘積/除法運算符a/ba除b的商%求余運算符a%ba除b的余數(shù)+自加運算符a+,+aa自加1-自減運算符a-,-aa自減11、+、

9、-、*、/都適用于浮點類型和整數(shù)類型,當兩個操作數(shù)都為整數(shù)時進行整數(shù)運算,其余情況則進行double型運算;當/除法運算符的兩個操作數(shù)為整數(shù)時,結(jié)果為整數(shù),舍去小數(shù)部分,例如5/3的結(jié)果為1;%求余運算符只接受兩個整型操作數(shù)的運算,結(jié)果為余數(shù)2、+、-:作用是使變量自加1或自減1,例如i+、+i,都是使i的值加1,但其執(zhí)行的步驟是不同的。例如:int i=3,j;j=i+;2單目運算符!、+、-、*(指針運算符)、&(取地址運算符)3算術運算符先乘除后加減4關系運算符、=、=、=、!=5邏輯運算符&、|6條件運算符三目運算符,例如:7賦值運算符=8逗號運算符,指針的概念與使用指針的定義指針就是

10、變量的地址,是一個常量。定義指針的目的就是為了通過指針訪問內(nèi)存單元。在C語言中,允許用一個變量來存放指針,這種變量稱為指針變量。指針變量定義的一般形式為: 存儲類型 數(shù)據(jù)類型 * 指針變量名指針變量運算符1、取地址運算符:& 該運算符表示的是對&后面的變量進行取地址運算。例:int a;則 &a表示取變量a的地址,該表達式的值為變量a的首地址。2、指針運算符:*該運算符也稱為“取內(nèi)容運算符”,后面接一個指針變量。表示的是訪問該指針變量所指向的變量,即訪問指針所指向的存儲空間中的數(shù)據(jù)。 例:int a=7; int *p; p=&a;則 *p 表示指針變量 p 指向變量 a,即 *p 就是 a,

11、所以 *p=7。 一個指針變量 p 在程序中通常有如下表示形式: p: 指針變量,它的內(nèi)容是地址量; *p:指針所指向的變量,是指針所指向的內(nèi)存空間中的數(shù)據(jù); &p:指針變量所占存儲空間的地址;【例1】分析程序的運行結(jié)果源程序如下:#includevoid Locate()int i_a;int *pst_a;printf(n請輸入i_a的值:);scanf(%d,&i_a);pst_a =&i_a;printf(i_a的值為:%dn,i_a);printf(pst_a的值為:%xn, pst_a);printf(&i_a的值為:%xn,&i_a);printf(*pst_a的值為:%dn,*

12、 pst_a);printf(&pst_a的值為:%xn,& pst_a);printf(n);運行結(jié)果:請輸入i_a的值:3i_a的值為:3pst_a的值為:12fe8c&i_a的值為:12fe8c*pst_a的值為:3&pst_a的值為:12fe80以上實例中,12fe8c是pst_a的值,也就是i_a的地址;12fe80是pst_a的地址;兩者有區(qū)別,不能混為一談。地址與指針的概念指針可以有效地表示復雜的數(shù)據(jù)結(jié)構;動態(tài)分配內(nèi)存;方便的使用字符串;有效而方便地使用數(shù)組;能直接處理內(nèi)存地址。如果在程序中定義了一個變量,在編譯時就給這個變量分配內(nèi)存單元。系統(tǒng)根據(jù)程序中定義的變量的類型,分配一定

13、長度的空間。例如,一般微機使用的C系統(tǒng)為整形變量分配兩個字節(jié),為實型變量分配4個字節(jié)。內(nèi)存區(qū)的每一個字節(jié)有一個編號,這就是“地址”,它相當于旅館中的房間號。在地址所標志的內(nèi)存單元中存放數(shù)據(jù),這相當于旅館中各個房間中居住旅客一樣。在程序中一般通過變量名對內(nèi)存單元進行存取操作,這稱作“直接訪問”,還可以采用 另一種“間接訪問”方式,將變量的地址存放在另一個變量中。所謂“指向”就是通過地址來體現(xiàn)的,由于通過地址能找到所需的變量單元,我們可以說,地址“指向”該變量單元,因此在C語言中,將地址形象化的稱為“指針”。意思是通過它能找到以它為地址的內(nèi)存單元。一個變量的地址成為該變量的“指針”。如果有一個變量

14、專門用來存放另一個變量的地址,則稱它為“指針變量”。變量的指針和指向變量的指針變量變量的指針就是變量的地址。存放變量地址的變量是指針變量,用來指向另一個變量。為了表示指針變量和它指向的變量之間的關系,用“*”符號表示“指向”。定義指針變量的一般形式為:基類型 *指針變量名;數(shù)組與指針一個變量有地址,一個數(shù)組包含若干元素,每個數(shù)組元素都在內(nèi)存中占有存儲單元,它們都有相應的地址。指針變量也可以指向數(shù)組元素。空間操作函數(shù)malloc、freeC語言提供了兩個函數(shù),malloc與free,分別用于執(zhí)行動態(tài)內(nèi)存分配與釋放。這些函數(shù)維護一個可用內(nèi)存池。當一個程序另外需要一些內(nèi)存時,它就調(diào)用malloc函數(shù)

15、從內(nèi)存池中提取一塊合適的內(nèi)存,并返回一個指向這塊內(nèi)存的指針。這塊內(nèi)存此時并沒有以任何方式進行初始化,使用時需手動初始化。這兩個函數(shù)的原型如下所示,它們都在頭文件中聲明。void *mallloc(size_t size);Void *free(viod* pointer);malloc的參數(shù)就是需要分配的內(nèi)存字節(jié)數(shù)。如果內(nèi)存池中的可用內(nèi)存可以滿足這個需要,malloc就返回一個指向被分配的內(nèi)存塊起始位置的指針,如果系統(tǒng)無法向malloc提供更多的內(nèi)存,malloc就會返回一個NULL指針。free的參數(shù)必須要么是NULL,要么是一個先前從malloc或其他空間申請函數(shù)返回的值。malloc的一

16、般用法基類型*=(基類型)*Malloc(數(shù)量*sizeof(基類型);動態(tài)數(shù)組動態(tài)數(shù)組是指在聲明時沒有確定數(shù)組大小的數(shù)組,即忽略方括號中的下標;當使用時可用malloc語句重新指出數(shù)組的大小。使用動態(tài)數(shù)組的優(yōu)點是可以根據(jù)用戶需要,有效利用存儲空間。動態(tài)數(shù)組的內(nèi)存空間是從堆上分配的。是通過執(zhí)行代碼而為其分配空間。當程序執(zhí)行到這些語句時,才為其分配空間。程序員自己釋放內(nèi)存。遵循原則:申請的時候從外層往里層,逐層申請;釋放的時候從里層往外層,逐層釋放。【例2】:一維數(shù)組的動態(tài)開辟與釋放:【例3】:二維數(shù)組的動態(tài)開辟:數(shù)組數(shù)組是構造類型,是一組具有相同類型數(shù)據(jù)的有序集合。每個數(shù)據(jù)成為數(shù)組的元素,用一

17、個統(tǒng)一的數(shù)組名和下標來唯一地確定數(shù)組中的元素。一維數(shù)組的聲明方式為:常量表達式類型標識符是任一種基本數(shù)據(jù)類型或構造數(shù)據(jù)類型;數(shù)組名由用戶自定義,表示存儲空間的地址;常量表達式表示數(shù)組元素的個數(shù),也是數(shù)組的長度。例:int a6;表示一個整型、數(shù)組名為a、長度為6的一維數(shù)組。(2)一維數(shù)組的引用形式:下標法:數(shù)組名下標 例如:ai;或pi;a為數(shù)組名,p為指向數(shù)組的指針變量。注:C語言中不能依次引用整個數(shù)組,只能逐個引用數(shù)組中的各個元素。下標就是被訪問的數(shù)組元素在所定義的數(shù)組中的相對位置。下標為0表示的是數(shù)組元素在數(shù)組的第一個位置上,下標等于1表示的是數(shù)組元素在數(shù)組的第二個位置上,依次類推。例如

18、: int a10; a0=100;C 語言程序設計作者 張書云 姜淑菊 朱雷 P89-P91文件操作以處理FILE類型文件:存儲在外部介質(zhì)上數(shù)據(jù)的集合。聲明FILE結(jié)構體類型的信息須聲明#inclu議案不能定義指向FILE類型變量的 指針變量FILE *fp;fopen函數(shù)調(diào)用方式:fopen(文件名,使用文件方式),文件打開成功則返回一個FILE類型指針,否則返回NULL。表 STYLEREF 1 s 0 SEQ 表 * ARABIC s 1 1文件打開方式文件使用方式含義“r”(只讀)為輸入打開一個文本文件“w” (只寫)為輸出打開一個文本文件“a” (追加)向文本文件尾部增加數(shù)據(jù)“rb

19、” (只讀)為輸入打開一個二進制文件“wb” (只寫)為輸入打開一個二進制文件“ab” (追加)向二進制文件尾增加數(shù)據(jù)“r+” (讀寫)為讀/寫打開一個文本文件“w+” (讀寫)為讀/寫建立一個新的文本文件“a+” (讀寫)為讀/寫打開一個文本文件“rb+” (讀寫)為讀/寫打開一個二進制文件“wb+” (讀寫)為讀/寫建立一個新的二進制文件“ab+” (讀寫)為讀/寫打開一個二進制文件fopen(a1,r);FILE *fp;fp=fopen(a1,r);將fopen函數(shù)的返回值賦給指針變量fp。常用下面方法打開一個文件:if(fp=fopen(file1,r)=NULL)printf(ca

20、nnot open this filen);exit(0);fclose函數(shù)(文件的關閉)關閉 fclose(文件指針);當順利關閉文件,則返回0值,否則返回EOF(-1).fprintf函數(shù)與fscanf函數(shù)fprintf函數(shù)、fscanf函數(shù)與printf函數(shù)、scanf函數(shù)相仿都是格式化讀寫函數(shù)。只有一點不同:fprintf和fscanf函數(shù)的讀寫對象不是終端而是磁盤文件。它們的一般調(diào)用方式為:fprintf(文件指針,格式化字符串,輸出列表);fscanf(文件指針,格式化字符串,輸入列表);例如:fprintf(fp,”%d,%”,I,t);它的作用是將變量i與t的值按%d與%的格式

21、輸出到fp指向的文件上。用fprintf函數(shù)和fscanf函數(shù)對磁盤文件讀寫,使用方便,容易理解,但由于在輸入時要將ASCII碼轉(zhuǎn)換為二進制形式,在輸出時又要講二進制形式轉(zhuǎn)換成字符,花費時間較多。因此,在內(nèi)存與磁盤頻繁交換數(shù)據(jù)的情況下,最好不要使用fprintf和fscanf函數(shù)。fread與fwrite函數(shù)ANSI C標準提出設置兩個函數(shù)(fread與fwrite),用來讀寫一個數(shù)據(jù)塊,它們的一般調(diào)用形式為fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);其中:buffer:是一個指針。對于fread來說,它是讀入數(shù)據(jù)的存放地址

22、。對fwrite來說,是要輸出的數(shù)據(jù)的地址。Size:要讀寫的字節(jié)數(shù)。Count:要進行讀寫多少個size字節(jié)的數(shù)據(jù)項。fp:文件型指針。如果fread與fwrite調(diào)用成功,則函數(shù)返回值為count的值,即輸入輸出數(shù)據(jù)項的完整個數(shù)。常用fread與fwrite函數(shù)進行文件的讀寫操作例: 冒泡排序與折半排序冒泡排序冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。它重復地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數(shù)列的工作是重復地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。冒泡排序算法的運作如下:(從后往前)比較相鄰的元素。

23、如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應該會是最大的數(shù)。針對所有的元素重復以上的步驟,除了最后一個。持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。實例:#include#defineSIZE8Void Bubble_Sort(int a,int n);Void Bubble_Sort(int a,int n) 快速的確定出第 i 個元素要插在什么地方;確定位置之后,將整個序列后移,并將元素插入到相應位置;對形成的新的有序序列再次進行插入,重復步驟a),b),c),直到所有數(shù)據(jù)完成排序。數(shù)組實

24、例:void BisSort(int p_Num,int i_Len)int i_Left,i_Right,i_Middle;int i_Loop,i_Subloop;int i_Buffer;刪除刪除線性表中的第i個結(jié)點操作步驟:首先,判斷參數(shù)i是否正確,若i0或者i的長度超過鏈表長度,則說明i不正確,無法進行刪除操作;否則,調(diào)用定位算法,令p指向第i個結(jié)點的前面一個結(jié)點,刪除p節(jié)點的下一個結(jié)點:將p結(jié)點指針字段的值存入變量q中(其中,q指向待刪除的結(jié)點)將q結(jié)點指針字段的值存入p結(jié)點的指針字段中釋放q結(jié)點所占的存儲單元令線性表長度減1.例子:要求建立一個有3個學生的數(shù)據(jù)的單向動態(tài)鏈表,同時

25、可以進行插入,刪除。 代碼如下:/*定義一個用于單鏈表的結(jié)構體*/struct studentlong l_Num;float f_Score;struct student *next;/*單鏈表創(chuàng)建*/struct student *creat(void) .c = min(a,foo(b);這時foo()函數(shù)就被調(diào)用了兩次。為了解決這個潛在的問題,我們應當這樣寫min(X,Y)這個宏: #define min(X,Y) (typeof (X) x_ = (X);typeof (Y) y_ = (Y);(x_ y_) x_ : y_; )(.)的作用是將內(nèi)部的幾條語句中最后一條的值返回,它也

26、允許在內(nèi)部聲明變量(因為它通過大括號組成了一個局部Scope)。條件編譯條件編譯能夠讓程序員控制預處理智力的執(zhí)行程序和程序代碼的編譯,每一個條件預處理指令都計算一個整常數(shù)表達式的值。不能在預處理指令中計算強制類型轉(zhuǎn)換表達式、sizeof表達式和枚舉類型常量。條件編譯的結(jié)構與if選擇結(jié)構非常相似。以以下預處理代碼為例:#if !defined(NULL)#defined NULL 0#endif這些預處理指令確定是否定義了NULL。如果定義了NULL,表達式defined(NULL)的計算結(jié)果為1,否則為0。如果計算結(jié)果為0,那么!defined(NULL)結(jié)果為1,從而定義NULL為0,否則就

27、跳過#defined指令。每一個#if結(jié)構都是用#endif結(jié)束的。在使用時,可以把#if defined()和#if !defined()縮寫為#ifdef和#ifndef??梢杂?elif(等價于 else if)和#else(等價于else)指令測試包含多個部分的條件預處理結(jié)構。特殊符號#、#的使用在一個宏中的參數(shù)前面使用一個#,預處理器會把這個參數(shù)轉(zhuǎn)換為一個字符數(shù)組簡化理解:#是“字符串化”的意思,出現(xiàn)在宏定義中的#是把跟在后面的參數(shù)轉(zhuǎn)換成一個字符串。#define ERROR_LOG(module) fprintf(stderr,error: #modulen)ERROR_LOG(a

28、dd); 轉(zhuǎn)換為:fprintf(stderr,error: addn);ERROR_LOG(devied =0); 轉(zhuǎn)換為:fprintf(stderr,error: devied=0n);#的使用“#”是一種分隔連接方式,它的作用是先分隔,然后進行強制連接。在普通的宏定義中,預處理器一般把空格解釋成分段標志,對于每一段和前面比較,相同的就被替換。但是這樣做的結(jié)果是,被替換段之間存在一些空格。如果我們不希望出現(xiàn)這些空格,就可以通過添加一些#來替代空格。1 #define TYPE1(type,name) type name_#type#_type2 #define TYPE2(type,na

29、me) type name#_#type#_typeTYPE1(int, c); 轉(zhuǎn)換為:intname_int_type ; (因為#號將后面分為 name_ 、type 、 _type三組,替換后強制連接)TYPE2(int, d);轉(zhuǎn)換為: int d_int_type ; (因為#號將后面分為 name、_、type 、_type四組,替換后強制連接)參考文獻: 等how to program Second Edition415-420循環(huán)、判斷的使用在程序設計中需要對重復執(zhí)行的操作采用循環(huán)進行處理。當條件滿足時執(zhí)行循環(huán)操作,知道條件不滿足時跳出循環(huán)。常見的循環(huán)結(jié)構有while,do.

30、while以及for循環(huán)。(1)while語句的一般形式:while(表達式) 語句1;語句2;.語句n;當表達式的值為真或者非零時,執(zhí)行循環(huán)語句。(2)do.while語句的一般形式:do語句while(表達式) dowhile語句構成的循環(huán),即先執(zhí)行循環(huán)語句,知道條件不滿足時跳出。dowhile和while的區(qū)別在于:dowhile是先執(zhí)行語句,再判斷條件,不管條件是否成立,它至少執(zhí)行一次循環(huán);而while是先判斷條件,再執(zhí)行語句。(3)for語句的一般形式:for(表達式1;表達式2;表達式3) 語句它的執(zhí)行過程如下:計算表達式1。2 計算表達式2,判斷是否為真,假如表達式2為真,執(zhí)行語句,否則結(jié)束循環(huán)。3執(zhí)行語句。4計算表達式3的值,轉(zhuǎn)向步驟2。5結(jié)束循環(huán)。 注:在for循環(huán)中,表達式可以進行省略,例如:#include void main()int i=1,sum=0;for(;i=100;i+)sum

溫馨提示

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

評論

0/150

提交評論