C語(yǔ)言基礎(chǔ)知識(shí)大全_第1頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)大全_第2頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)大全_第3頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)大全_第4頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)大全_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1. 語(yǔ)言變量聲明和變量賦值1)基本數(shù)據(jù)類(lèi)型在C語(yǔ)言中,僅有4種基本數(shù)據(jù)類(lèi)型整型、浮點(diǎn)型、指針和聚合類(lèi)型(如數(shù)組和結(jié)構(gòu)等),所有其他的類(lèi)型都是從這4種基本類(lèi)型的某種組合派生而來(lái)。整型:整型家族包括字符、短整型、整型和長(zhǎng)整型,它們都分為有符號(hào)(signed)和無(wú)符號(hào)(unsigned)兩種版本。規(guī)定整數(shù)值相互之間大小的規(guī)則很簡(jiǎn)單:長(zhǎng)整型至少應(yīng)該和整型一樣長(zhǎng),而整型至少應(yīng)該和短整型一樣長(zhǎng)。浮點(diǎn)類(lèi)型:諸如3.14159和2.3×1023這樣的數(shù)值無(wú)法按照整數(shù)存儲(chǔ)。第一個(gè)數(shù)為非整數(shù),而第二個(gè)數(shù)遠(yuǎn)遠(yuǎn)超出了計(jì)算機(jī)整數(shù)所表達(dá)范圍,這樣的數(shù)就可以用浮點(diǎn)數(shù)的形式存儲(chǔ)。浮點(diǎn)數(shù)家

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

3、符(一個(gè)或多個(gè)) 聲明表達(dá)式列表對(duì)于簡(jiǎn)單的類(lèi)型,聲明表達(dá)式列表就是被聲明的標(biāo)識(shí)符的基本類(lèi)型。對(duì)于相對(duì)比較復(fù)雜的類(lèi)型,聲明表達(dá)式列表的每個(gè)條目實(shí)際上是一個(gè)表達(dá)式,顯示被聲明的名字的可能用途。例如:int a, double b;該語(yǔ)句就是一條聲明語(yǔ)句,其中a,b就是變量名,該語(yǔ)句指明了變量a,b是int數(shù)據(jù)類(lèi)型。所有變量在使用前都必須寫(xiě)在執(zhí)行語(yǔ)句之前,也就是變量聲明要與執(zhí)行語(yǔ)句相分離,否則就是出現(xiàn)編譯錯(cuò)誤。3)變量命名C語(yǔ)言中任何的變量名都是合法的標(biāo)示符。所謂標(biāo)識(shí)符就是由字母、數(shù)字和下劃線組成的但不以數(shù)字開(kāi)頭的一系列字符。雖然C語(yǔ)言對(duì)標(biāo)示符的長(zhǎng)度沒(méi)有限制,但是根據(jù)ANSI標(biāo)準(zhǔn),C編譯器必須要識(shí)別

4、前31個(gè)字符。C語(yǔ)言是對(duì)大小寫(xiě)敏感的,即C語(yǔ)言認(rèn)為大寫(xiě)字母和小寫(xiě)字母的含義是不同的,因此a1和A1是不同的標(biāo)識(shí)符。到目前為止,沒(méi)有一種命名規(guī)則可以讓所有的程序員贊同,程序設(shè)計(jì)教科書(shū)一般都不指定命名規(guī)則。常用的命名規(guī)則有匈牙利命名法和駝峰命名法等,在實(shí)際操作中,我們會(huì)采取相對(duì)簡(jiǎn)單方便的命名規(guī)則,即“類(lèi)型首字母”+“_”+“變量用途英文縮寫(xiě)”,其中英文縮寫(xiě)首字母為大寫(xiě),例如 int i_Num,char c_Name5。4)變量賦值在一個(gè)變量聲明中,你可以給一個(gè)標(biāo)量變量指定一個(gè)初始值,方法是在變量名后面跟一個(gè)等號(hào)(賦值號(hào)),后面就是你想要給變量的值。例如:int i_Num=10; char c_

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

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

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

8、_Tmp=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); 參考書(shū)目:1. (美)Kebbeth A.reek.C與指針29-402. H.M.Deitel P.J.Deitel等how to program Second Edition19-232. 算術(shù)運(yùn)算符及使用方式C語(yǔ)言提供了最基本的算術(shù)運(yùn)算符,如下表: 運(yùn)算符含義舉例結(jié)果+加法運(yùn)算符a+ba和b的和-減法運(yùn)算符a-ba和b的差*乘法運(yùn)算符a*ba和b的乘積/除法運(yùn)算符a/ba除b的

9、商%求余運(yùn)算符a%ba除b的余數(shù)+自加運(yùn)算符a+,+aa自加1-自減運(yùn)算符a-,-aa自減11、+、-、*、/都適用于浮點(diǎn)類(lèi)型和整數(shù)類(lèi)型,當(dāng)兩個(gè)操作數(shù)都為整數(shù)時(shí)進(jìn)行整數(shù)運(yùn)算,其余情況則進(jìn)行double型運(yùn)算;當(dāng)/除法運(yùn)算符的兩個(gè)操作數(shù)為整數(shù)時(shí),結(jié)果為整數(shù),舍去小數(shù)部分,例如5/3的結(jié)果為1;%求余運(yùn)算符只接受兩個(gè)整型操作數(shù)的運(yùn)算,結(jié)果為余數(shù)2、+、-:作用是使變量自加1或自減1,例如i+、+i,都是使i的值加1,但其執(zhí)行的步驟是不同的。例如:int i=3,j;j=i+;/ i的值為4 ,j的值為3int i=3,j;j=+i;/i的值為4,j的值為4可見(jiàn)當(dāng)變量在左側(cè)時(shí),先進(jìn)行賦值運(yùn)算再進(jìn)行自

10、加1操作,當(dāng)變量在右側(cè)時(shí),先進(jìn)行自加1操作再進(jìn)行賦值運(yùn)算。3、在賦值運(yùn)算符之前加上算術(shù)運(yùn)算符既構(gòu)成復(fù)合運(yùn)算符,例如:a+=b,等價(jià)于a=a+b。-=、*=、/=也是如此。3. 位運(yùn)算符及使用方式(<<、>>、|、&、)位運(yùn)算符是用來(lái)對(duì)二進(jìn)制位進(jìn)行操作,如下表:運(yùn)算符含義<<左移>>右移取反|按位或&按為與按為異或<<、>>:移位運(yùn)算符,例如左移運(yùn)算符:int i=3;i=i<<4;3的二進(jìn)制位為,左移4位的結(jié)果為,其操作中高位舍棄、低位補(bǔ)0,既i=48,等同于i乘以2的4次方。右移運(yùn)算符則有所不

11、同,操作中是低位舍棄,高位則有兩種補(bǔ)位方式。一種為邏輯移位,高位補(bǔ)0;另一種為算術(shù)移位,當(dāng)符號(hào)位為1時(shí)高位全部補(bǔ)1,當(dāng)符號(hào)位為0時(shí)則高位全部補(bǔ)0。具體使用哪種移位方式則取決于當(dāng)前的編譯環(huán)境。:取反運(yùn)算符,為單目運(yùn)算符,其操作是對(duì)操作數(shù)的二進(jìn)制位按位求反,既1變0,0變1。例如i=5,二進(jìn)制位為,取反的結(jié)果為。在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)表示和存儲(chǔ),其中最高位為符號(hào)位,用0表示正,1表示負(fù)。補(bǔ)碼的規(guī)定如下:a) 對(duì)正數(shù)來(lái)說(shuō),最高位為0,其余各位代表數(shù)值本身,例如14的補(bǔ)碼為;對(duì)負(fù)數(shù)而言,則將該數(shù)絕對(duì)值的補(bǔ)碼按位取反,再加1,得該數(shù)的補(bǔ)碼,既-i=i+1。例如-14的補(bǔ)碼為14的二進(jìn)制取反加1

12、得。b) |、&、:均為雙目運(yùn)算符,對(duì)操作數(shù)的二進(jìn)位進(jìn)行運(yùn)行,且操作數(shù)以補(bǔ)碼的方式出現(xiàn)。c) |按位或,兩個(gè)對(duì)應(yīng)的二進(jìn)位至少有一個(gè)為1則為1,否則為0;&按位與,兩個(gè)對(duì)應(yīng)的二進(jìn)位都為1則為1,否則為0;按位異或,兩個(gè)對(duì)應(yīng)的二進(jìn)位不同則為1,否則為0。例如:a=5; ()b=14; ()a|b=15; ()a&b=4; ()ab=11; ()4. 關(guān)系運(yùn)算符及使用方式(>、>=、<、<=、=、!=)運(yùn)算符含義>大于>=大于或等于<小于<=小于或等于=等于!=不等于關(guān)系運(yùn)算符用于比較兩個(gè)數(shù)值之間的關(guān)系,例如:a>3為關(guān)系

13、表達(dá)式,大于號(hào)為關(guān)系運(yùn)算符,當(dāng)表達(dá)式成立時(shí),“a>3”的值為“真”,當(dāng)“a>3”不成立時(shí),“a>3”的值為“假”。其中應(yīng)當(dāng)注意的是關(guān)系表達(dá)式的返回值為整型值,而不是布爾型。表達(dá)式為真時(shí)返回值為1,表達(dá)式為假時(shí)返回值為0。5. 邏輯運(yùn)算符及使用方式(&&、|、?。┻\(yùn)算符含義舉例結(jié)果&&邏輯與a&&ba,b都為真則結(jié)果為真,否則為假|(zhì)邏輯或a|ba,b至少有一個(gè)為真則結(jié)果為真,否則為假!邏輯非!a當(dāng)a為真則結(jié)果為假,當(dāng)a為假則結(jié)果為真其中應(yīng)當(dāng)注意邏輯或,例如a|b,當(dāng)a為真時(shí),C語(yǔ)言中直接跳過(guò)對(duì)b的判斷,其返回值為“真”。當(dāng)一個(gè)表達(dá)

14、式包括幾種運(yùn)算符時(shí),則以運(yùn)算符的優(yōu)先級(jí)對(duì)表達(dá)式進(jìn)行運(yùn)算,表達(dá)式的優(yōu)先級(jí)如下:優(yōu)先級(jí)運(yùn)算符類(lèi)型說(shuō)明1初等運(yùn)算符()、->、.2單目運(yùn)算符!、+、-、*(指針運(yùn)算符)、&(取地址運(yùn)算符)3算術(shù)運(yùn)算符先乘除后加減4關(guān)系運(yùn)算符>、>=、<、<=、=、!=5邏輯運(yùn)算符&&、|6條件運(yùn)算符三目運(yùn)算符,例如?:7賦值運(yùn)算符=8逗號(hào)運(yùn)算符,6. 指針的概念與使用1) 指針的定義指針就是變量的地址,是一個(gè)常量。定義指針的目的就是為了通過(guò)指針訪問(wèn)內(nèi)存單元。在C語(yǔ)言中,允許用一個(gè)變量來(lái)存放指針,這種變量稱(chēng)為指針變量。指針變量定義的一般形式為: 存儲(chǔ)類(lèi)型 數(shù)據(jù)類(lèi)型

15、 * 指針變量名2) 指針變量運(yùn)算符1、取地址運(yùn)算符:& 該運(yùn)算符表示的是對(duì)&后面的變量進(jìn)行取地址運(yùn)算。例:int a;則 &a表示取變量a的地址,該表達(dá)式的值為變量a的首地址。2、指針運(yùn)算符:*該運(yùn)算符也稱(chēng)為“取內(nèi)容運(yùn)算符”,后面接一個(gè)指針變量。表示的是訪問(wèn)該指針變量所指向的變量,即訪問(wèn)指針?biāo)赶虻拇鎯?chǔ)空間中的數(shù)據(jù)。 例:int a=7; int *p; p=&a;則 *p 表示指針變量 p 指向變量 a,即 *p 就是 a,所以 *p=7。 一個(gè)指針變量 p 在程序中通常有如下表示形式: p: 指針變量,它的內(nèi)容是地址量; *p:指針?biāo)赶虻淖兞?,是指針?biāo)?/p>

16、向的內(nèi)存空間中的數(shù)據(jù); &p:指針變量所占存儲(chǔ)空間的地址;【例1】分析程序的運(yùn)行結(jié)果源程序如下:#include<stdio.h>void Locate()int i_a;int *pst_a;printf("n請(qǐng)輸入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",&

17、i_a);printf("*pst_a的值為:%dn",* pst_a);printf("&pst_a的值為:%xn",& pst_a);printf("n");運(yùn)行結(jié)果:請(qǐng)輸入i_a的值:3i_a的值為:3pst_a的值為:12fe8c&i_a的值為:12fe8c*pst_a的值為:3&pst_a的值為:12fe80以上實(shí)例中,12fe8c是pst_a的值,也就是i_a的地址;12fe80是pst_a的地址;兩者有區(qū)別,不能混為一談。3) 地址與指針的概念指針可以有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);動(dòng)態(tài)分配內(nèi)存

18、;方便的使用字符串;有效而方便地使用數(shù)組;能直接處理內(nèi)存地址。如果在程序中定義了一個(gè)變量,在編譯時(shí)就給這個(gè)變量分配內(nèi)存單元。系統(tǒng)根據(jù)程序中定義的變量的類(lèi)型,分配一定長(zhǎng)度的空間。例如,一般微機(jī)使用的C系統(tǒng)為整形變量分配兩個(gè)字節(jié),為實(shí)型變量分配4個(gè)字節(jié)。內(nèi)存區(qū)的每一個(gè)字節(jié)有一個(gè)編號(hào),這就是“地址”,它相當(dāng)于旅館中的房間號(hào)。在地址所標(biāo)志的內(nèi)存單元中存放數(shù)據(jù),這相當(dāng)于旅館中各個(gè)房間中居住旅客一樣。在程序中一般通過(guò)變量名對(duì)內(nèi)存單元進(jìn)行存取操作,這稱(chēng)作“直接訪問(wèn)”,還可以采用 另一種“間接訪問(wèn)”方式,將變量的地址存放在另一個(gè)變量中。所謂“指向”就是通過(guò)地址來(lái)體現(xiàn)的,由于通過(guò)地址能找到所需的變量單元,我們可

19、以說(shuō),地址“指向”該變量單元,因此在C語(yǔ)言中,將地址形象化的稱(chēng)為“指針”。意思是通過(guò)它能找到以它為地址的內(nèi)存單元。一個(gè)變量的地址成為該變量的“指針”。如果有一個(gè)變量專(zhuān)門(mén)用來(lái)存放另一個(gè)變量的地址,則稱(chēng)它為“指針變量”。4) 變量的指針和指向變量的指針變量變量的指針就是變量的地址。存放變量地址的變量是指針變量,用來(lái)指向另一個(gè)變量。為了表示指針變量和它指向的變量之間的關(guān)系,用“*”符號(hào)表示“指向”。定義指針變量的一般形式為:基類(lèi)型 *指針變量名;5) 數(shù)組與指針一個(gè)變量有地址,一個(gè)數(shù)組包含若干元素,每個(gè)數(shù)組元素都在內(nèi)存中占有存儲(chǔ)單元,它們都有相應(yīng)的地址。指針變量也可以指向數(shù)組元素。6) 空間操作函數(shù)

20、malloc、freeC語(yǔ)言提供了兩個(gè)函數(shù),malloc與free,分別用于執(zhí)行動(dòng)態(tài)內(nèi)存分配與釋放。這些函數(shù)維護(hù)一個(gè)可用內(nèi)存池。當(dāng)一個(gè)程序另外需要一些內(nèi)存時(shí),它就調(diào)用malloc函數(shù)從內(nèi)存池中提取一塊合適的內(nèi)存,并返回一個(gè)指向這塊內(nèi)存的指針。這塊內(nèi)存此時(shí)并沒(méi)有以任何方式進(jìn)行初始化,使用時(shí)需手動(dòng)初始化。這兩個(gè)函數(shù)的原型如下所示,它們都在頭文件stdio.h中聲明。void *mallloc(size_t size);Void *free(viod* pointer);malloc的參數(shù)就是需要分配的內(nèi)存字節(jié)數(shù)。如果內(nèi)存池中的可用內(nèi)存可以滿足這個(gè)需要,malloc就返回一個(gè)指向被分配的內(nèi)存塊起始位

21、置的指針,如果系統(tǒng)無(wú)法向malloc提供更多的內(nèi)存,malloc就會(huì)返回一個(gè)NULL指針。free的參數(shù)必須要么是NULL,要么是一個(gè)先前從malloc或其他空間申請(qǐng)函數(shù)返回的值。malloc的一般用法基類(lèi)型*=(基類(lèi)型)*Malloc(數(shù)量*sizeof(基類(lèi)型);7) 動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組是指在聲明時(shí)沒(méi)有確定數(shù)組大小的數(shù)組,即忽略方括號(hào)中的下標(biāo);當(dāng)使用時(shí)可用malloc語(yǔ)句重新指出數(shù)組的大小。使用動(dòng)態(tài)數(shù)組的優(yōu)點(diǎn)是可以根據(jù)用戶需要,有效利用存儲(chǔ)空間。動(dòng)態(tài)數(shù)組的內(nèi)存空間是從堆上分配的。是通過(guò)執(zhí)行代碼而為其分配空間。當(dāng)程序執(zhí)行到這些語(yǔ)句時(shí),才為其分配空間。程序員自己釋放內(nèi)存。遵循原則:申請(qǐng)的時(shí)候從外

22、層往里層,逐層申請(qǐng);釋放的時(shí)候從里層往外層,逐層釋放?!纠?】:一維數(shù)組的動(dòng)態(tài)開(kāi)辟與釋放:【例3】:二維數(shù)組的動(dòng)態(tài)開(kāi)辟:7. 數(shù)組數(shù)組是構(gòu)造類(lèi)型,是一組具有相同類(lèi)型數(shù)據(jù)的有序集合。每個(gè)數(shù)據(jù)成為數(shù)組的元素,用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來(lái)唯一地確定數(shù)組中的元素。一維數(shù)組的聲明方式為:<類(lèi)型標(biāo)識(shí)符><數(shù)組名>常量表達(dá)式類(lèi)型標(biāo)識(shí)符是任一種基本數(shù)據(jù)類(lèi)型或構(gòu)造數(shù)據(jù)類(lèi)型;數(shù)組名由用戶自定義,表示存儲(chǔ)空間的地址;常量表達(dá)式表示數(shù)組元素的個(gè)數(shù),也是數(shù)組的長(zhǎng)度。例:int a6;表示一個(gè)整型、數(shù)組名為a、長(zhǎng)度為6的一維數(shù)組。(2)一維數(shù)組的引用形式:下標(biāo)法:數(shù)組名下標(biāo) 例如:ai;或pi;a為

23、數(shù)組名,p為指向數(shù)組的指針變量。注:C語(yǔ)言中不能依次引用整個(gè)數(shù)組,只能逐個(gè)引用數(shù)組中的各個(gè)元素。下標(biāo)就是被訪問(wèn)的數(shù)組元素在所定義的數(shù)組中的相對(duì)位置。下標(biāo)為0表示的是數(shù)組元素在數(shù)組的第一個(gè)位置上,下標(biāo)等于1表示的是數(shù)組元素在數(shù)組的第二個(gè)位置上,依次類(lèi)推。例如: int a10; a0=100;/正確 a10=100;/不正確,下標(biāo)越界例如:下標(biāo)法:int main() int a10; for(int i=0;i<10;i+) ai=2*i; for(int i=0;i<10;i+) printf(“%dt”,ai);return 0;指針?lè)ǎ?(a+i)或 *(p+i);a是數(shù)組名

24、,p為指向數(shù)組的指針變量。例如:指針?lè)ǎ篿nt main() int *p=a;int i; for(i=0;i<10;i+) ai=2*i; for(i=0;i<10;i+) printf(“%dt”,*(p+i));return 0;二維數(shù)組的聲明方式為:<類(lèi)型標(biāo)識(shí)符><數(shù)組名>常量表達(dá)式1 常量表達(dá)式2:二維數(shù)組與一維數(shù)組的區(qū)別在于多出常量表達(dá)式2。常量表達(dá)式1 是第一維,常稱(chēng)為行; 常量表達(dá)式2是第二維,也就是列。例:int a35;表示一個(gè)3行5列的二維數(shù)組;數(shù)組元素的個(gè)數(shù)為:3*5=15個(gè)。二維數(shù)組的引用形式:下標(biāo)法:數(shù)組名下標(biāo) 下標(biāo)注:二維數(shù)組

25、在引用時(shí)和一維數(shù)組一樣,只能逐個(gè)引用數(shù)組中的各個(gè)元素。例如: sz_A56下標(biāo)可以是整數(shù)表達(dá)式,如sz_A8-52*3-1。不要寫(xiě)成sz_A2,3、sz_A8-5,2*3-1形式。注意:嚴(yán)格區(qū)分定義數(shù)組時(shí)用的sz_A56和引用元素時(shí)用的sz_A56的區(qū)別。前者sz_A56用來(lái)定義數(shù)組的維數(shù),后者sz_A56的5和6是下標(biāo),代表的是數(shù)組中的某一個(gè)元素。 【例2】分析程序的運(yùn)行結(jié)果源程序如下:#include<stdio.h>void main()int sz_Array6;/一維數(shù)組int sz_DlArray35;/二維數(shù)組int i_a;int i_dla;int i_dlb;/

26、一維數(shù)組for (i_a=0;i_a<6;i_a+)sz_Arrayi_a=i_a*2+2;printf("n輸出一維數(shù)組元素為:n");for(i_a=0;i_a<6;i_a+)printf("%dt",sz_Arrayi_a);/二維數(shù)組for(i_dla=0;i_dla<3;i_dla+)for(i_dlb=0;i_dlb<5;i_dlb+)sz_DlArrayi_dlai_dlb=i_dla+i_dlb; printf("n輸出二維數(shù)組元素為:n"); for(i_dla=0;i_dla<3;i_

27、dla+)for(i_dlb;i_dlb<5;i_dlb+) printf("%d ",sz_DlArrayi_dlai_dlb); printf("n");運(yùn)行結(jié)果為:輸出一維數(shù)組元素為:2 4 6 8 10 12輸出二維數(shù)組元素為:0 1 2 3 41 2 3 4 5 2 3 4 5 63 4 5 6 74 5 6 7 8指針?lè)ǎ嚎梢酝ㄟ^(guò)行指針來(lái)引用二維數(shù)組元素。定義行指針變量:int (*p)3,指針p是指向一個(gè)由3個(gè)元素所組成的整型數(shù)組指針。 例如:void main()int a34=1,2,3,4,5,6,7,8,9,10,11,12

28、int (*p)4=a; for(int i=0;i<3;i+) for(int j=0;i<4;j+) printf(“%dt”,pij); printf(“n”);參考書(shū)目:1. C+語(yǔ)言程序設(shè)計(jì)教程與實(shí)驗(yàn)(第二版) 溫秀梅 丁學(xué)鈞 李建華主編2. C/C+程序設(shè)計(jì)教程 張世民主編8. 字符數(shù)組1) 字符數(shù)組的定義與賦值 字符數(shù)組是一串字符的集合,其數(shù)組元素為字符型。字符數(shù)組的賦值形式: char 數(shù)組名常量表達(dá)式=“字符串”;或 char 數(shù)組名常量表達(dá)式=“字符串”;例:char sz_A5=s, t, u, d, y, ; 定義數(shù)組sz_A,包含5個(gè)元素,其在內(nèi)存中的存放

29、情況為: sz_A0 sz_A1 sz_A2 sz_A3 sz_A4study 則各元素賦值如下: sz_A0=s; sz_A1=t; sz_A2=u; sz_A3=d;sz_A4 =y如果花括號(hào)中的字符個(gè)數(shù)大于數(shù)組長(zhǎng)度,編譯系統(tǒng)就會(huì)報(bào)錯(cuò),如果花括號(hào)中的字符個(gè)數(shù)小于數(shù)組長(zhǎng)度,其余元素則由系統(tǒng)自動(dòng)定義為空字符,即0。0作為字符串的結(jié)束標(biāo)志,因此在定義數(shù)組長(zhǎng)度時(shí),應(yīng)在字符串原有的長(zhǎng)度上加1,為字符串結(jié)束標(biāo)志預(yù)留空間。例:char sz_A6=s, t, u, d, y, ;定義數(shù)組sz_A,包含6個(gè)元素,其在內(nèi)存中的存放情況為: sz_A0 sz_A1 sz_A2 sz_A3 sz_A4 sz_A

30、5study0 則各元素賦值如下: sz_A0=s; sz_A1=t; sz_A2=u sz_A3=d; sz_A4=y; sz_A5=0【例3】分析程序的運(yùn)行結(jié)果源程序如下:#include<stdio.h>void main()char sz_A10="work hard"int i;for(i=0;i<9;i+)printf("%c",sz_Ai);運(yùn)行結(jié)果:work hard以上實(shí)例中,逐個(gè)顯示字符數(shù)組的各個(gè)元素,但需注意的是在定義字符數(shù)組的下標(biāo)時(shí),至少比后面的字符串長(zhǎng)度大1。其中,字符串長(zhǎng)度應(yīng)包括其中空格的長(zhǎng)度。2) 字符串操

31、作函數(shù):a) 字符串復(fù)制函數(shù)strcpy()格式:strcpy(字符數(shù)組1,字符數(shù)組2)功能:是將字符數(shù)組2中字符串復(fù)制到字符數(shù)組1中去。注:字符數(shù)組1的長(zhǎng)度必須大于字符數(shù)組2,從而能夠容納復(fù)制的字符數(shù)組2的字符串;字符數(shù)組1必須寫(xiě)成數(shù)組名形式,字符數(shù)組2既可以是字符數(shù)組名,也可以是字符串;字符數(shù)組之間不能相互賦值。例如:char sz_str110,sz_str26="work hard" Strcpy(sz_str1,sz_str2); printf("%sn",sz_str1);運(yùn)行結(jié)果: work hardb) 字符串連接函數(shù)strcat()st

32、rcat(字符數(shù)組1,字符數(shù)組2)功能:將字符數(shù)組1和字符數(shù)組2中的字符串連接起來(lái),字符數(shù)組2中的字符串2接到字符數(shù)組1中的字符串后面。注:字符數(shù)組1的長(zhǎng)度必須足夠大,能夠同時(shí)容納字符數(shù)組1中的字符串和字符數(shù)組2中的字符串。字符數(shù)組名2中的字符串連接到字符數(shù)組1的字符串時(shí),刪除字符數(shù)組1中的字符串后面的標(biāo)志0,只在新串的最后保留“0”。例如:char sz_str110="work",sz_str26="hard" strcat(sz_str1,sz_str2); printf("%sn",sz_str1);運(yùn)行結(jié)果: workhar

33、dc) 字符串比較函數(shù)strcmp()strcmp(字符數(shù)組1,字符數(shù)組2)功能:比較字符數(shù)組1和字符數(shù)組2中字符串,通過(guò)函數(shù)返回值得出比較結(jié)果。若字符數(shù)組1中的字符串<若字符數(shù)組1中的字符串,函數(shù)返回值<0;若字符數(shù)組1中的字符串>若字符數(shù)組1中的字符串,函數(shù)返回值>0;若字符數(shù)組1中的字符串=若字符數(shù)組1中的字符串,函數(shù)返回值=0;注:比較規(guī)則:比較過(guò)程中,按照從左到右的順序,逐個(gè)比較字符的ASCII碼值,直到遇到不相同的字符或“0”,即結(jié)束比較。例如:char sz_str110="work",sz_str210="hard"

34、;if (strcmp(sz_str1,sz_str2)>0) printf("大于n");if (strcmp(sz_str1,sz_str2)<0) printf("小于n");if (strcmp(sz_str1,sz_str2)=0) printf("相等n");運(yùn)行結(jié)果: 大于d) sprintf()sprintf(s,”%s%d%c”,”text”,1,char);將輸出結(jié)果寫(xiě)入數(shù)組S中;其函數(shù)返回值為字符串長(zhǎng)度,相當(dāng)于strlen;計(jì)算長(zhǎng)度時(shí)不計(jì)算“0”,而sizeof計(jì)算時(shí)是加上“0”的。例如:char s

35、z_str;sprintf(sz_str,"%s%d%c","work",6,"hard");i_Tmp=sprintf(sz_str,"%s%d%c","work",6,"hard");printf("sprintf結(jié)果輸出:%sn",sz_str);printf("sprintf函數(shù)返回值輸出:%dn",i_Tmp); e) sscanf()sscanf(s,”%d%f%s”,&a,&b,&c);從一個(gè)字符串

36、中讀進(jìn)與指定格式相同的數(shù)據(jù);其返回值為讀入有效數(shù)據(jù)的個(gè)數(shù);從數(shù)組S中,以固定格式向a,b,c輸入,sscanf不識(shí)別空格。char sz_str11="work6hard"char sz_str111;sscanf(sz_str,"%4s",sz_str1);i_Tmp=sscanf(sz_str,"%4s",sz_str1);printf("輸出結(jié)果:%sn",sz_str1);printf("sscanf函數(shù)返回值:%dn",i_Tmp);運(yùn)行結(jié)果:輸出結(jié)果:worksscanf函數(shù)返回值:

37、19. 全局變量與局部變量的定義和區(qū)別變量的作用域指變量所起的作用范圍,變量的定義位置決定了變量的作用域,它可分為全局變量和局部變量。1) 全局變量全局變量是指在函數(shù)外部定義的變量,它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件,它的作用范圍從定義變量定義的位置開(kāi)始到本源文件的結(jié)束。在函數(shù)中使用全局變量,一般應(yīng)做全局變量聲明。只有在函數(shù)內(nèi)部經(jīng)過(guò)聲明的全局變量才能使用。但在一個(gè)函數(shù)之前定義全局變量,在該函數(shù)內(nèi)使用可不加以聲明。全局變量的作用是增加函數(shù)間數(shù)據(jù)聯(lián)系的渠道。同一個(gè)文件中的所有函數(shù)都能引用全局變量的值,當(dāng)一個(gè)函數(shù)改變了全局變量的值,就會(huì)影響到其它函數(shù),有利于函數(shù)之間信息的傳遞。2) 局部變量在

38、函數(shù)中或者復(fù)合語(yǔ)句中定義的變量稱(chēng)為局部變量,它的作用范圍只限于該函數(shù)或者該復(fù)合語(yǔ)句中,在其它位置無(wú)效。如果全局變量和局部變量重名,在定義局部變量中的子程序中局部變量起作用,全局變量失效。程序在編譯過(guò)程中,系統(tǒng)并不會(huì)為局部變量分配存儲(chǔ)單元,而在程序的運(yùn)行過(guò)程中,當(dāng)局部變量所在函數(shù)被調(diào)用時(shí),系統(tǒng)才會(huì)為變量分配臨時(shí)內(nèi)存,函數(shù)調(diào)用結(jié)束后,釋放空間。3) 全局變量和局部變量的區(qū)別1 全局變量的有效范圍從定義該變量的位置開(kāi)始到本源文件的結(jié)束,局部變量只在定義該變量的函數(shù)中有效,在函數(shù)外部無(wú)效。2局部變量是程序運(yùn)行到該函數(shù)時(shí)給變量分配內(nèi)存空間,函數(shù)運(yùn)行結(jié)束后釋放空間,全局變量在程序運(yùn)行時(shí)先分配內(nèi)存空間,直到

39、本源文件執(zhí)行完以后釋放空間。4) 程序?qū)嵗?include "stdafx.h"int x=6,y=8;void plus()printf("x=%dt,y=%dn",x,y);x+;y+;void main()void plus();int x=2,y;x=2,y=3;printf("x=%dt,y=%dn",x,y);plus();printf("x=%dt,y=%dn",x,y);plus();參考書(shū)目:1.C 語(yǔ)言程序設(shè)計(jì)作者 張書(shū)云 姜淑菊 朱雷 P89-P9110. 文件操作以處理1) FILE類(lèi)型文件

40、:存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合。聲明FILE結(jié)構(gòu)體類(lèi)型的信息須聲明#inclu<stdio.h>議案不能定義指向FILE類(lèi)型變量的 指針變量FILE *fp;2) fopen函數(shù)調(diào)用方式:fopen(文件名,使用文件方式),文件打開(kāi)成功則返回一個(gè)FILE類(lèi)型指針,否則返回NULL。表 101文件打開(kāi)方式文件使用方式含義“r”(只讀)為輸入打開(kāi)一個(gè)文本文件“w” (只寫(xiě))為輸出打開(kāi)一個(gè)文本文件“a” (追加)向文本文件尾部增加數(shù)據(jù)“rb” (只讀)為輸入打開(kāi)一個(gè)二進(jìn)制文件“wb” (只寫(xiě))為輸入打開(kāi)一個(gè)二進(jìn)制文件“ab” (追加)向二進(jìn)制文件尾增加數(shù)據(jù)“r+” (讀寫(xiě))為讀/寫(xiě)打開(kāi)一個(gè)

41、文本文件“w+” (讀寫(xiě))為讀/寫(xiě)建立一個(gè)新的文本文件“a+” (讀寫(xiě))為讀/寫(xiě)打開(kāi)一個(gè)文本文件“rb+” (讀寫(xiě))為讀/寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件“wb+” (讀寫(xiě))為讀/寫(xiě)建立一個(gè)新的二進(jìn)制文件“ab+” (讀寫(xiě))為讀/寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件fopen("a1","r");FILE *fp;fp=fopen("a1","r");將fopen函數(shù)的返回值賦給指針變量fp。常用下面方法打開(kāi)一個(gè)文件:if(fp=fopen("file1","r")=NULL)printf("

42、cannot open this filen");exit(0);3) fclose函數(shù)(文件的關(guān)閉)關(guān)閉 fclose(文件指針);當(dāng)順利關(guān)閉文件,則返回0值,否則返回EOF(-1).4) fprintf函數(shù)與fscanf函數(shù)fprintf函數(shù)、fscanf函數(shù)與printf函數(shù)、scanf函數(shù)相仿都是格式化讀寫(xiě)函數(shù)。只有一點(diǎn)不同:fprintf和fscanf函數(shù)的讀寫(xiě)對(duì)象不是終端而是磁盤(pán)文件。它們的一般調(diào)用方式為:fprintf(文件指針,格式化字符串,輸出列表);fscanf(文件指針,格式化字符串,輸入列表);例如:fprintf(fp,”%d,%6.2f”,I,t);它的作

43、用是將變量i與t的值按%d與%6.2f的格式輸出到fp指向的文件上。用fprintf函數(shù)和fscanf函數(shù)對(duì)磁盤(pán)文件讀寫(xiě),使用方便,容易理解,但由于在輸入時(shí)要將ASCII碼轉(zhuǎn)換為二進(jìn)制形式,在輸出時(shí)又要講二進(jìn)制形式轉(zhuǎn)換成字符,花費(fèi)時(shí)間較多。因此,在內(nèi)存與磁盤(pán)頻繁交換數(shù)據(jù)的情況下,最好不要使用fprintf和fscanf函數(shù)。5) fread與fwrite函數(shù)ANSI C標(biāo)準(zhǔn)提出設(shè)置兩個(gè)函數(shù)(fread與fwrite),用來(lái)讀寫(xiě)一個(gè)數(shù)據(jù)塊,它們的一般調(diào)用形式為fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);其中:buffer:是一

44、個(gè)指針。對(duì)于fread來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址。對(duì)fwrite來(lái)說(shuō),是要輸出的數(shù)據(jù)的地址。Size:要讀寫(xiě)的字節(jié)數(shù)。Count:要進(jìn)行讀寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。fp:文件型指針。如果fread與fwrite調(diào)用成功,則函數(shù)返回值為count的值,即輸入輸出數(shù)據(jù)項(xiàng)的完整個(gè)數(shù)。常用fread與fwrite函數(shù)進(jìn)行文件的讀寫(xiě)操作例: 11. 冒泡排序與折半排序1) 冒泡排序冒泡排序(Bubble Sort),是一種計(jì)算機(jī)科學(xué)領(lǐng)域的較簡(jiǎn)單的排序算法。它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已

45、經(jīng)排序完成。冒泡排序算法的運(yùn)作如下:(從后往前)a) 比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。b) 對(duì)每一對(duì)相鄰元素作同樣的工作,從開(kāi)始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。c) 針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。d) 持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較。實(shí)例:#include<stdio.h>#defineSIZE8Void Bubble_Sort(int a,int n);Void Bubble_Sort(int a,int n) /n為數(shù)組a的元素個(gè)數(shù) int i,j,temp; for(j=0

46、;j<n-1;j+) for(i=0;i<n-1-j;i+) if(ai>ai+1)/數(shù)組元素大小按升序排列 temp=ai; ai=ai+1; ai+1=temp; int main() int i_NumSIZE=95,45,15,78,84,51,24,12; int i; Bubble_Sort(i_Num,SIZE); for(i=0;i<SIZE;i+) printf("%d", i_Num i); printf("n");2) 折半排序折半排序?qū)嵸|(zhì)上是不斷地對(duì)有序數(shù)據(jù)集進(jìn)行對(duì)半分割,并且獲取每個(gè)分區(qū)的中間元素,用中間

47、元素與待排序元素進(jìn)行比較,最終確定數(shù)據(jù)集順序。折半排序算法思想:折半排序的重點(diǎn)是查找待排序元素Ai在有序數(shù)據(jù)集中的位置。在處理Ai時(shí),A0Ai-1已經(jīng)按關(guān)鍵碼值排好序。所謂折半比較,就是在插入Ai時(shí),取Ai-1/2的關(guān)鍵碼值與Ai的關(guān)鍵碼值進(jìn)行比較,如果Ai的關(guān)鍵碼值小于Ai-1/2的關(guān)鍵碼值,則說(shuō)明Ai只能插入A0到Ai-1/2之間,故可以在A0到Ai-1/2-1之間繼續(xù)使用折半比較;否則只能插入Ai-1/2到Ai-1之間,故可以在Ai-1/2+1到Ai-1之間繼續(xù)使用折半比較。如此重復(fù),直到最后能夠確定插入的位置為止。算法的基本過(guò)程:a) 計(jì)算 0 i-1 的中間點(diǎn),用 i 索引處的元素與

48、中間值進(jìn)行比較,如果 i 索引處的元素大,說(shuō)明要插入的這個(gè)元素應(yīng)該在中間值和剛加入i索引之間,反之,就是在剛開(kāi)始的位置 到中間值的位置,這樣很簡(jiǎn)單的完成了折半;b) 在相應(yīng)的半個(gè)范圍里面找插入的位置時(shí),不斷的用(1)步驟縮小范圍,不停的折半,范圍依次縮小為 1/2 1/4 1/8 .快速的確定出第 i 個(gè)元素要插在什么地方;c) 確定位置之后,將整個(gè)序列后移,并將元素插入到相應(yīng)位置;d) 對(duì)形成的新的有序序列再次進(jìn)行插入,重復(fù)步驟a),b),c),直到所有數(shù)據(jù)完成排序。數(shù)組實(shí)例:void BisSort(int p_Num,int i_Len)int i_Left,i_Right,i_Midd

49、le;int i_Loop,i_Subloop;int i_Buffer;/臨時(shí)變量if (p_Num0>p_Num1)i_Buffer=p_Num0;p_Num0=p_Num1;p_Num1=i_Buffer;for (i_Loop=2;i_Loop<i_Len;i_Loop+)i_Left=0;i_Right=i_Loop-1;i_Buffer=p_Numi_Loop;if (i_Buffer<=p_Num0|i_Buffer>=p_Numi_Right)if (i_Buffer<=p_Num0)i_Middle=0;elsei_Middle=i_Right+

50、1;elsewhile(i_Left<=i_Right)i_Middle=(i_Left+i_Right)/2;/折半中數(shù)if(i_Buffer>=p_Numi_Middle)i_Left=i_Middle+1;elsei_Right=i_Middle-1;/確定要插入的位置for (i_Subloop=i_Loop;i_Subloop>i_Middle;i_Subloop-)/生成新的有序數(shù)組p_Numi_Subloop=p_Numi_Subloop-1;p_Numi_Middle=i_Buffer;鏈表實(shí)例:struct _Road* RoadOrder(struct _

51、Road *pst_Road )struct _Road *pst_Road_Head;pst_Road_Head=pst_Road;struct _Road *p_Low,*p_Hight,*p_Mid,*p_Current;p_Low=pst_Road;p_Hight=pst_Road->pst_Next;int i_Low,i_Hight,i_Mid;/中數(shù)int i_Len=RoadListLength(pst_Road);if (pst_Road_Head->i_GeoLength>p_Hight->i_GeoLength)pst_Road_Head->

52、pst_Next=p_Hight->pst_Next;p_Hight->pst_Next=pst_Road_Head;pst_Road_Head=p_Hight;for (int i=3;i<=i_Len;i+)p_Low=p_Mid=p_Hight=pst_Road_Head;i_Low=1,i_Hight=i-1;for(int j=1;j<i-1;j+)p_Hight=p_Hight->pst_Next;p_Current=p_Hight->pst_Next;/如果小于頭指針數(shù)據(jù)if (p_Current->i_GeoLength<=p_L

53、ow->i_GeoLength)p_Hight->pst_Next=p_Current->pst_Next;p_Current->pst_Next=pst_Road_Head;pst_Road_Head=p_Current;else if (p_Current->i_GeoLength<p_Hight->i_GeoLength)while(i_Low<=i_Hight)i_Mid=(i_Low+i_Hight)/2;for(int j=i_Low;j<i_Mid;j+)p_Mid=p_Mid->pst_Next;if (p_Current->i_GeoLength>p_Mid->i_GeoLength)i_Low=i_Mid+1;elsei_Hight=i_Mid-1;/確定插入位置/插入數(shù)據(jù)for (i=1;i<i_Mid-1;i+)p_Low=p_Low->pst_Next;p_Hight->pst_Next=p_Current->pst_Next;p_Current->pst_Next=p_Mid;p_Low->pst_

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論