譚浩強版《C++程序設(shè)計》知識點_第1頁
譚浩強版《C++程序設(shè)計》知識點_第2頁
譚浩強版《C++程序設(shè)計》知識點_第3頁
譚浩強版《C++程序設(shè)計》知識點_第4頁
譚浩強版《C++程序設(shè)計》知識點_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 C+的初步知識 *1.1 C和C+語言屬于計算機高級語言,支持面向過程的程序設(shè)計方法。 *1.2 C+兼容C,是C的加強版,增加了面向?qū)ο?OOP)機制。 *1.3 用高級語言編寫的程序稱作源程序,C+源程序的擴展名為CPP,C源程序的擴展名為C。 *1.4 源程序被編譯或解釋為機器語言方可執(zhí)行。C和C+均采用編譯方式,源程序經(jīng)編譯、連接后形成機器語言的目標(biāo)程序文件。 *1.5 用戶最終執(zhí)行的是目標(biāo)程序文件,它是二進(jìn)制可執(zhí)行文件,擴展名為EXE。 *1.6 執(zhí)行目標(biāo)程序與源程序無關(guān),但是,要修改目標(biāo)程序,必須先修改源程序,然后,重新編譯、連接,產(chǎn)生新的目標(biāo)程序或覆蓋原目標(biāo)程序。 1.7

2、 C和C+均支持模塊化程序設(shè)計,C以函數(shù)為基本模塊,C+增加了類模塊。 *1.8 C和C+均支持結(jié)構(gòu)化程序設(shè)計,有三種基本結(jié)構(gòu):順序、分支、循環(huán)。 *1.9 每個C或C+源程序可由若干個文件組成,程序總是從主函數(shù)main開始執(zhí)行,因此,每個源程序有且僅有一個主函數(shù)。 *1.10 C和C+區(qū)分字母的大小寫。 *1.11 C和C+語句以分號結(jié)尾,僅有分號的語句稱作空語句。 *1.12 表達(dá)式后綴分號稱作表達(dá)式語句。 *1.13 用花括號括起來的一組語句統(tǒng)稱復(fù)合語句。復(fù)合語句可省略其后分號,但復(fù)合語句內(nèi)的語句不可省略分號(除非它也是復(fù)合語句)。 *1.14 C的注釋以/*開頭,結(jié)束于*/,可跨行。C

3、+增加了以/開頭,至行尾結(jié)束的注釋。 *1.15 C和C+能直接對內(nèi)存進(jìn)行操作,從而實現(xiàn)對硬件的操作。 1.16 廣義地說,求解問題的方法和步驟稱作算法。就程序設(shè)計而言,對數(shù)據(jù)的操作方法和步驟稱作算法。 *1.17 算法和數(shù)據(jù)結(jié)構(gòu)是程序的兩大要素。 1.18 掌握三種基本結(jié)構(gòu)的圖示。第2章 數(shù)據(jù)類型和表達(dá)式 *2.1 掌握基本類型的類型名、縮寫、存儲量、取值范圍。類型名類型標(biāo)識符存儲量取值范圍有符號短整數(shù)signed short int2字節(jié)-3276832767無符號短整數(shù)unsigned short int2字節(jié)065535有符號長整數(shù)signed long int4字節(jié)-21474836

4、482147483647無符號長整數(shù)unsigned long int4字節(jié)04294967295有符號字符signed char1字節(jié)-128127無符號字符unsigned char1字節(jié)0255單精度float4字節(jié)±(3.4E-383.4E38)雙精度double8字節(jié)±(1.7E-3081.7E308)長雙精度long double8字節(jié)±(1.7E-3081.7E308)邏輯值bool1字節(jié)01 *2.2 由正號、負(fù)號、數(shù)字以及合法前綴和后綴組成的有效數(shù)稱作整數(shù)(小含小數(shù)點、E、e的數(shù))。 *2.3 含有小數(shù)點或E或e的數(shù)為雙精度實型。 *2.4 整型

5、、實型、字符型、布爾型統(tǒng)稱數(shù)值型。 *2.5 整數(shù)后綴U或u為無符號整型。整數(shù)后綴L或l為長整型,實數(shù)后綴L或l為長雙精度。 在VC 6.0中,整數(shù)默認(rèn)為長整數(shù),長雙實數(shù)歸入雙精度,因此,整數(shù)和實數(shù)的后綴L均可省略。 *2.6 0X或0x打頭的整數(shù)為十六進(jìn)制整數(shù)。0打頭的整數(shù)為八進(jìn)制整數(shù)。 *2.7 浮點數(shù)“尾數(shù)E階碼”表示“尾數(shù)×10階碼”,其中,階碼必須是整數(shù)。 *2.8 用一對單引號括起來的單個普通字符或轉(zhuǎn)義字符稱作字符常量,以其ASCII碼存儲。記住數(shù)字和字母的ASCII碼。 字符是1字節(jié)整數(shù),但默認(rèn)輸出形式是字符。 ASCII碼在32126范圍內(nèi)的字符稱作普通字符(參見附錄

6、A),其它字符稱作控制字符。 普通字符可從鍵盤直接輸入到程序中,而控制字符要用轉(zhuǎn)義字符的形式輸入。 *2.9 掌握轉(zhuǎn)義字符:n、t、'、"、八進(jìn)制數(shù)、x十六進(jìn)制數(shù)。 n的ASCII碼為10,其功能等同于回車鍵。t的ASCII碼為9,其功等同于Tab鍵。 在文本輸出狀態(tài),輸出窗口通常為80列,等分成10區(qū)。 2.10 如果與其后字符不組成轉(zhuǎn)義字符,則無效。 *2.11 引導(dǎo)的數(shù)默認(rèn)為八進(jìn)制,無需0打頭,至多與前3位八進(jìn)制數(shù)字結(jié)合。 *2.12 如果引導(dǎo)的是十六進(jìn)制數(shù),至多與前2位十六進(jìn)制數(shù)結(jié)合。 *2.13 用一對雙引號括起來的若干個普通字符或轉(zhuǎn)義字符稱作字符串常量,簡稱字符串

7、。 *2.14 字符串中字符個數(shù)稱作字符串長度,簡稱串長。 *2.15 字符串按字符的ASCII碼依次存儲,并自動追加1個ASCII碼為0的“空字符”'0'作為結(jié)束標(biāo)志,因此,字符串的存儲量比串長多一個字節(jié)。 *2.16 符號常量名、變量名、函數(shù)名、數(shù)組名、類型名、類名等統(tǒng)稱標(biāo)識符。 *2.17 標(biāo)識符的命名規(guī)則為:以字母或下劃線打頭,由字母、下劃線、數(shù)字組成。 標(biāo)識符不要與關(guān)鍵字同名。 *2.18 符號常量定義格式為:#define 符號常量 所代表的文本其功能是:在預(yù)處理時,自動用所代表的文本替換符號常量。 *2.19 變量必須命名和定義類型(或者說,聲明類型)。定義變量類

8、型的語句格式為:類型名 變量名,變量名,; *2.20 定義變量時為其賦值,稱作賦初值。 *2.21 在定義變量時,如果附加了關(guān)鍵字const,所定義變量稱作常變量或只讀變量。常變量必須賦值,之后不允許修改其值。 符號常量在預(yù)處理時被所代表的文字替換,不參與編譯,不占內(nèi)存。常變量有類型,占內(nèi)存。 *2.22 逐步掌握附錄B中運算的功能、優(yōu)先級、配對方向、結(jié)合方向。 *2.23 在C和C+中,整數(shù)的商為整數(shù),舍去余數(shù)(不做四舍五入)。 *2.24 在C和C+中,只能用圓括號(所謂的小括號)來規(guī)定或改變運算的優(yōu)先級。圓括號可以嵌套,里層優(yōu)先。 *2.25 不同類型數(shù)據(jù)作運算時,低精度數(shù)據(jù)自動向高精

9、度轉(zhuǎn)化后再做運算。 在VC 6.0中,char、short、unsigned short型數(shù)據(jù)均自動轉(zhuǎn)化為long型后再做運算。精度由低到高排列為:long=>unsigned long=>float=>double。 *2.26 自增運算“+”和自減運算“-”均是單目運算,只能作用于變量,可作用于左、右兩側(cè),均使變量相應(yīng)自增或自減1。作用于左側(cè)時,算術(shù)式的值為變量改變后的值,否則為改變前的值。 自增、自減運算均為左配對,與其在變量哪側(cè)無關(guān)。運算優(yōu)先級與其作用于變量的哪側(cè)有關(guān)。 *2.27 強制類型轉(zhuǎn)換運算的格式和功能如下: 格式:(類型名)(表達(dá)式) 功能:把指定表達(dá)式的值

10、強制轉(zhuǎn)換為指定類型。 2.28 如果轉(zhuǎn)換運算所作用的表達(dá)式中沒有運算或優(yōu)先級均高于轉(zhuǎn)換運算,可省略表達(dá)式的括號。 2.29 C+中可省略類型名括號,但C中不可省。 *2.30 實數(shù)轉(zhuǎn)整數(shù)將舍去小數(shù)部分(不做四舍五入),整數(shù)轉(zhuǎn)實數(shù)將舍去超出數(shù)位(做四舍五入),整數(shù)間的轉(zhuǎn)換涉及到補碼。 *2.31 會用類型轉(zhuǎn)換實現(xiàn)“四舍五入”。例如,“(int)(x*100+.5)/100.”是保留x的2位小數(shù)。 *2.32 賦值運算的格式和功能如下: 格式:變量=表達(dá)式 功能:把賦值號“=”右側(cè)表達(dá)式的值賦給左側(cè)的變量,并以左側(cè)變量為整個賦值表達(dá)式的值。 *2.33 如果賦值號兩側(cè)的類型不一致,右側(cè)表達(dá)式的值將

11、被自動轉(zhuǎn)換為左側(cè)變量的類型。轉(zhuǎn)換規(guī)則與強制類型轉(zhuǎn)換相同。 *2.34 在C和C+中,= 等價于 =其中,是同一個變量,是表達(dá)式,=稱作復(fù)合(或組合)賦值運算符,是下述運算符之一:+、-、*、/、%、>>、<<、&、| *2.35 用逗號分隔(或者說連接起來)的一組表達(dá)式統(tǒng)稱逗號表達(dá)式。 格式:表達(dá)式,表達(dá)式 功能:從左至右依次計算逗號表達(dá)式中各表達(dá)式的值,并以最后一個表達(dá)式的值的作為整個逗號表達(dá)式的值。 *2.36 將數(shù)學(xué)式改為C表達(dá)式時應(yīng)注意:乘號*不可省略;正確改寫角碼、運算符、括號等;正確書寫函數(shù)名;把握好運算優(yōu)先級,分?jǐn)?shù)線改為/時,分子、分母相應(yīng)加括號;

12、正確拆分不等式組;通常,整數(shù)除法應(yīng)改用實數(shù)除法。第3章 程序設(shè)計初步 *3.1 賦值表達(dá)式后綴分號稱作賦值語句。 *3.2 頭文件iostream.h、iostream、iomanip均提供了cin、cout等C+標(biāo)準(zhǔn)輸入輸出流對象,它們的格式和功能如下: 格式 cout<<表達(dá)式<<表達(dá)式; 功能 從右至左依次計算各表達(dá)式,然后,從左至右依次輸出各表達(dá)式的值。 格式 cin>>變量>>變量; 功能 把輸入數(shù)據(jù)從左至右依次賦給各變量。 <<稱作輸出運算,如果其后的表達(dá)式中有比它優(yōu)先級低的運算,應(yīng)適當(dāng)加括號。 >>稱作輸入運

13、算。輸入數(shù)據(jù)間用空格、回車鍵分隔,并用回車鍵確認(rèn)所輸入數(shù)據(jù)。 3.3 頭文件iomanip.h提供了許多用于實現(xiàn)特殊輸入和輸出格式的所謂控制符(參見表3.1),它內(nèi)嵌了頭文件iostream。 *3.4 頭文件iostream和stdio.h均提供了putchar、getchar、printf、scanf等輸入輸出函數(shù)。putchar和getchar的格式和功能如下: 格式 putchar(表達(dá)式) 功能 輸出以指定表達(dá)式的值為ASCII碼的字符,并自動追加一個回車符。 格式 getchar() 功能 輸入一個字符,并以該字符為函數(shù)值(字符型)。 注意:getchar可提取空格及回車、Tab等

14、控制字符,只提取輸入中相應(yīng)位置上一個字符,因此,輸入字符間無須分隔,否則也被視為輸入字符。 3.5 printf函數(shù)的格式和功能如下: 格式 printf(格式控制串,輸出表列) 功能 從右至左依次計算輸出表列中各表達(dá)式;從左至右依次輸出格式控制串中的字符,其中,%引導(dǎo)的格式控制符由輸出表列中相應(yīng)表達(dá)式的值所取代。 輸出表列是一組用逗號分隔的表達(dá)式(又稱輸出項,可以為0項)。格式控制串可以是表達(dá)式,其中,格式符用于控制輸出表列中相應(yīng)表達(dá)式的輸出格式(參見 第04講:程序設(shè)計初步)。 3.6 scanf函數(shù)的格式和功能如下: 格式 scanf(格式控制串,地址表列) 功能 從右至左依次計算地址表

15、列中各表達(dá)式的值;從標(biāo)準(zhǔn)輸入設(shè)備提取數(shù)據(jù),并從左至右依次存儲到所指定的存儲單元。 格式控制串可以是表達(dá)式。地址表列是一組用逗號分隔的地址,可用是表達(dá)式,常用形式為:&變量其中&是地址運算符,它表示取其后變量的起始存儲地址。 scanf可提取空格以及回車、Tab等部分控制字符,但必須以字符提取(而非字符串)。 scanf函數(shù)格式符與printf函數(shù)的格式符的功能相似(參見第04講:程序設(shè)計初步)。scanf的合法格式符不分大小寫、實型格式符均等效。 *3.7 在C和C+中,邏輯值均為整數(shù),真即1,假即0。高版本C+中新增了邏輯類型bool,它只有1和0這兩個1字節(jié)整數(shù),可分別表為

16、true和false。字符和數(shù)作為邏輯量時,非0即真。指針作為邏輯量時,非空即真。邏輯運算如下表所示:右元!右元左元右元左元&&右元左元|右元假(0)1假(0)假(0)00真(非0)0假(0)真(非0)01真(非0)假(0)01真(非0)真(非0)11 *3.8 關(guān)系式的值為邏輯值。 *3.9 對于形如|的邏輯式,從左至右計算的邏輯值,遇真即止。 *3.10 對于形如&&&&的邏輯式,從左至右計算的邏輯值,遇假即止。 *3.11 if語句的格式和功能如下: 格式 if(條件)語句1 else 語句2 功能 如果條件成立,執(zhí)行語句1,否則執(zhí)行語句2

17、。 如果語句2為空語句,可同else一起省略。 注意:else不可獨立使用,它與其前最近一個尚未配對的if配對,為避免岐義,通常只在else中嵌套if語句。 *3.12 條件表達(dá)式的格式和功能如下: 格式 條件?表達(dá)式1:表達(dá)式2 功能 如果條件成立,取表達(dá)式1的值,否則取表達(dá)式2的值。 條件表達(dá)式可以嵌套,:與其前最近一個尚未配對的?配對。 *3.13 掌握目前所學(xué)運算的優(yōu)先級(見附錄B)。 3.14 switch語句的格式和功能如下: 格式 switch(表達(dá)式)case 常量i:語句組idefault:語句組n+1 功能 如果表達(dá)式的值等于常量i,則從語句組i開始執(zhí)行,否則執(zhí)行語句組n+

18、1。 switch()中表達(dá)式的值必須是整數(shù)(可以是字符或邏輯值),“default:語句組n+1”可缺省,每個語句組稱作一個分支。為使各分支獨立,通常以break、return、exit等語句結(jié)尾。 *3.15 break語句的格式和功能如下: 格式 break; 功能 結(jié)束本層switch語句或本層循環(huán)語句。 *3.16 while語句的格式和功能如下: 格式 while(表達(dá)式)循環(huán)體 功能 當(dāng)表達(dá)式的值為真時,重復(fù)執(zhí)行其后循環(huán)體。 循環(huán)體是循環(huán)語句的內(nèi)嵌語句,可以是空或復(fù)合語句(下同)。 *3.17 do-while語句的格式和功能如下: 格式 do 循環(huán)體 while(表達(dá)式) 功能

19、 重復(fù)執(zhí)行循環(huán)體,直到表達(dá)式的值為假。 *3.18 for語句的格式和功能如下: 格式 for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體 功能 計算表達(dá)式1;當(dāng)表達(dá)式2的值為真時,重復(fù)執(zhí)行循環(huán)體和計算表達(dá)式3。 表達(dá)式1、表達(dá)式2、表達(dá)式3均可缺省,但保留分號。缺省表達(dá)式2為永真。 *3.19 continue語句的格式和功能如下: 格式 continue; 功能 跳過本層循環(huán)體中剩余語句。 3.20 掌握以下算法:計算分段函數(shù)、打印字符圖形、遞推(迭代)、累加、階乘、輾轉(zhuǎn)相除法、窮舉(枚舉)、判斷素數(shù)、分解整數(shù)因子、分解數(shù)字。 *3.21 分段函數(shù)的一般形式為:if(條件1)f=算式1;else

20、 if(條件2)f=算式2; else if(條件n-1)f=算式n-1; else f=算式n;或:f=條件1?式1:條件2?式2:條件n-1?式n-1:式n 3.22 分支結(jié)構(gòu)的一般格式:if(條件1)操作1;else if(條件2)操作2; else if(條件n-1)操作n-1; else f=操作n; *3.23 輸出實心字符圖形的一般格式為:for(i=1;i<=行數(shù);i+)for(j=1;j<=第i行前置空格數(shù);j+)cout<<' 'for(j=1;j<=第i行字符數(shù);j+)輸出所用字符cout<<endl;/結(jié)束第i行

21、 3.24 如果某問題已表述為“當(dāng)時重復(fù)執(zhí)行”,即可用下述語句實現(xiàn):while() 3.25 如果某問題已表述為“對于i=ab重復(fù)執(zhí)行”,即可用下述語句實現(xiàn):for(i=a;i<=b;i+) 或 for(i=b;i>=a;i-) 3.26 如果某問題已表述為“i從a開始,當(dāng)時重復(fù)執(zhí)行”,即可用下述語句實現(xiàn):for(i=a;i+) 3.27 對于已知項數(shù)和通項的累加,通用格式為:和的類型 S=0;for(i=1;i<=項數(shù);i+)S+=第i項; 3.28 對于已知通項和結(jié)束條件的累加,通用格式為:和的類型 S=0;for(i=1;!結(jié)束條件;i+)S+=第i項; 3.29 對于

22、已知項數(shù)和各項遞推式的累加,通用格式為:和的類型 S=0,T=初始項;for(i=1;i<=項數(shù);i+)S+=T,推下項T; 3.30 對于已知結(jié)束條件和各項遞推式的累加,通用格式為:和的類型 S=0,T=初始項;for(i=1;!結(jié)束條件;i+)S+=T,推下項T; *3.31 輾轉(zhuǎn)相除法的要點:當(dāng)b=0時,a和b的最大公約數(shù)是a,否則轉(zhuǎn)換為求b和a%b的最大公約數(shù)。 3.32 窮舉法又稱枚舉法,它是在有限或可列集中搜索滿足條件的解。窮舉法的要點:確定解的搜索范圍,并按某種規(guī)律排序(盡可能不重復(fù));確定所滿足的條件,并在上述搜索范圍內(nèi)求解。 注意:應(yīng)適當(dāng)利用條件縮小搜索范圍,或縮小搜索

23、范圍以減少條件。 *3.33 對于2以上的整數(shù)n,n是素數(shù)ó2中沒有n的因子。 3.34 對于正整數(shù)n,分解整數(shù)因子的過程為:i從2開始,當(dāng)i是n的因子時,去除n中1重i因子(n/=i),否則i+,直到n=1為止。 *3.35 對于非負(fù)整 數(shù)n,n的個位數(shù)=n%10,n的十位數(shù)=n/10%10,n的百位數(shù)=n/100%10,一般地,n的10k位數(shù)=n/10k%10。第4章 函數(shù) *4.1 從用戶使用角度看,函數(shù)分為系統(tǒng)函數(shù)和用戶自定義函數(shù)。 *4.2 自定義函數(shù)的格式為: 格式 函數(shù)值的數(shù)據(jù)類型 函數(shù)名(形參表)函數(shù)體其中,函數(shù)值的默認(rèn)數(shù)據(jù)類型為int,形參要逐個定義數(shù)據(jù)類型。 *4

24、.3 如果函數(shù)沒有返回值,函數(shù)值的數(shù)據(jù)類型應(yīng)定義為void。 *4.4 return語句的格式和功能為: 格式一 return 表達(dá)式; 或 return(表達(dá)式); 格式二 return; 功能 結(jié)束函數(shù),返回調(diào)用者。格式一帶返回值,其數(shù)據(jù)類型與函數(shù)值的類型必須相同或兼容,兼容時,返回值被自動轉(zhuǎn)換為函數(shù)值的類型。格式二沒有返回值,函數(shù)值類型應(yīng)定義為void。 *4.5 函數(shù)一般調(diào)用格式為: 格式 函數(shù)名(實參表)其中,實參按從右至左的次序計算,并傳遞給相應(yīng)形參。 *4.6 函數(shù)參數(shù)的傳遞方式分為傳值和引用。對于前綴&的形參,它與對應(yīng)實參共用內(nèi)存,稱作引用(C+方有此功能)。對于未前綴

25、&的形參,它與對應(yīng)實參不共用內(nèi)存,僅傳值。 *4.7 對于無參函數(shù),實參表和形參表的括號仍不可缺省。 *4.8 如果函數(shù)調(diào)用在其定義之前,調(diào)用前應(yīng)作相應(yīng)聲明,聲明格式為: 格式 函數(shù)值類型名 函數(shù)名(形參表);其中,形參可省略,但形參的類型不可省略。 *4.9 函數(shù)不可嵌套定義(函數(shù)定義中嵌套定義其它函數(shù)),但允許嵌套調(diào)用(函數(shù)定義中調(diào)用其它函數(shù)或自身)。 *4.10 在函數(shù)的定義中直接或間接調(diào)用自身,稱作函數(shù)的遞歸調(diào)用,簡稱遞歸。 4.11 遞歸有三大要點:遞歸條件(或回歸條件);非遞歸操作(回歸操作);遞歸操作。 *4.12 遞歸函數(shù)的核心結(jié)構(gòu)為: 結(jié)構(gòu)一 if(回歸條件)回歸操作

26、 else 遞歸操作 結(jié)構(gòu)二 if(遞歸條件)遞歸操作 else 回歸操作 4.13 C語言要求,函數(shù)中定義變量、數(shù)據(jù)結(jié)構(gòu)的語句必須在其它語句之前。C+沒有此限制。 *4.14 變量的屬性分為:數(shù)據(jù)類型;作用域;存儲類別;存在期。 *4.15 函數(shù)形參及函數(shù)或復(fù)合語句內(nèi)定義的變量稱作局部變量,它從定義處生效,只在該函數(shù)或復(fù)合語句內(nèi)有效。因此,不同函數(shù)或復(fù)合語句中的局部變量可以同名,但同名不同義。 *4.16 在所有函數(shù)之外定義的變量稱作全局變量,從定義處生效。 4.17 對于函數(shù),之前定義的全局變量均稱作外部變量。對于復(fù)合語句,之前定義的全局變量和同一函數(shù)中之前定義的局部變量均稱作外部變量。

27、*4.18 如果局部變量與外部變量同名,則同名外部變量被屏蔽。 *4.19 局部變量的存儲類別分為:動態(tài)(auto,又稱自動)、靜態(tài)(static)、寄存器(register)。 *4.20 局部變量存儲類別的定義格式為: 格式 存儲類別 數(shù)據(jù)類型 局部變量表;其中,存儲類別和數(shù)據(jù)類型的位置可交換,默認(rèn)存儲類別為auto,默認(rèn)數(shù)據(jù)類型為int,但不能同時缺省。 *4.21 auto型局部變量占用動態(tài)數(shù)據(jù)區(qū),當(dāng)函數(shù)調(diào)用結(jié)束時釋放所占內(nèi)存。register占用CPU中的寄存器,但寄存器不夠用時,占用動態(tài)數(shù)據(jù)區(qū)。 *4.22 全局變量和static型局部變量占用靜態(tài)數(shù)據(jù)區(qū),默認(rèn)初值為相應(yīng)數(shù)據(jù)類型的0

28、。 *4.23 static型局部變量的定義和初值化只執(zhí)行一次,即使離開其作用域也不釋放所占內(nèi)存。 4.24 定義全局變量時,如果加前綴static,稱作內(nèi)部全局變量,不能被其它文件調(diào)用,否則,稱作外部全局變量,允許其它文件調(diào)用。使用其它文件中定義的外部全局變量,需作extern聲明。 4.25 定義函數(shù)時,如果加前綴static,稱作內(nèi)部函數(shù),不能被其它文件調(diào)用,否則,稱作外部函數(shù),允許其它文件調(diào)用。使用其它文件中定義的外部函數(shù),需作extern聲明。 *4.26 預(yù)處理命令在程序編譯前執(zhí)行,其主要功能是“文本置換”。每個宏定義必須獨占一行。預(yù)處理不是語句,不可隨意跟分號。 *4.27 不帶

29、參數(shù)宏定義的格式和功能如下: 格式 #define 宏名 文本 功能 在預(yù)處理時,將程序中之后出現(xiàn)的這個宏名均用指定的文本置換。 4.28 帶參數(shù)的宏定義的格式和功能如下: 定義格式 #define 宏名(形參表) 文本 使用格式 宏名(實參表) 功能 在預(yù)處理時,將程序中之后出現(xiàn)的這個帶參數(shù)的宏均用指定文本置換,其中,形參被相應(yīng)的實參直接置換(實際上是兩次置換)。形參沒有類型的概念,沒有函數(shù)值的概念,對實參不作運算。 4.29 終止宏定義的格式為:#undef 宏名 4.30 允許重新定義宏所代表的文本,新定義只作用于其后的宏名。 4.31 “文件包含”處理(加載文件命令) 格式一 #inc

30、lude<文件名> 格式二 #include"文件名" 功能 把指定文件加載到此處。如果沒有指定文件路徑,前種格式直接到存放C頭文件的目錄中查找,后種格式先在程序文件所在目錄中查找,如果未找著,方到存放C頭文件的目錄中查找。 4.32 條件編譯命令的格式和功能如下: 格式一 #ifdef 宏名 程序段1 #else 程序段2 #endif 格式二 #ifndef 宏名 程序段1 #else 程序段2 #endif 格式三 #if 常量表達(dá)式 程序段1 #else 程序段2 #endif 功能 如果指定的宏名已定義(格式一)、宏名未定義(格式二)、條件為真(格式三

31、),保留程序段1,否則保留程序段2。最終,整個程序段僅剩程序段1或程序段2。 當(dāng)程序段2為空時,#else可省略。格式三中的條件必須是常量式。第5章 數(shù)組 *5.1 定義數(shù)組語句的一般格式和功能為: 格式 數(shù)據(jù)類型 數(shù)組名第1維長度第n維長度 功能 為數(shù)組分配相應(yīng)大小的連續(xù)內(nèi)存,用于依次存儲數(shù)組元素,并將起始地址賦給數(shù)組名。 *5.2 數(shù)組的各維長度必須是常量(表達(dá)式),其整數(shù)位有效(不作四舍五入)。 5.3 數(shù)組的起始地址又稱基址。把基址賦給數(shù)組名是在分配內(nèi)存時由系統(tǒng)完成的,之后不允許修改。 *5.4 數(shù)組元素又稱下標(biāo)變量,下標(biāo)變量的使用格式為: 格式 數(shù)組名第1維下標(biāo)第n維下標(biāo) *5.5

32、各維下標(biāo)均從0開始,可用表達(dá)式表示,其值的整數(shù)位有效(不作四舍五入)。 5.6 下標(biāo)變量按低維優(yōu)先順序存儲,對于二維數(shù)組又稱行優(yōu)先。 *5.7 下標(biāo)變量的使用與普通變量基本相同。 5.8 數(shù)組也有全局和局部之分,局部數(shù)組也有存儲類別。 5.9 5.9 C和C+編譯系統(tǒng)不檢測下標(biāo)越界,越界則順延至數(shù)組所申請的存儲空間之外(危險)。 *5.10 定義數(shù)組的同時可對其元素賦初值。 格式 數(shù)據(jù)類型 數(shù)組名第1維長度第n維長度=數(shù)據(jù)表 功能 定義數(shù)組的同時將數(shù)據(jù)表中數(shù)據(jù)依次賦給數(shù)組元素,未賦值元素的初值為相應(yīng)數(shù)據(jù)類型的0。 *5.11 數(shù)據(jù)表中允許嵌套數(shù)據(jù)表,最大嵌套層數(shù)不得超過數(shù)組維數(shù)。數(shù)據(jù)表和內(nèi)嵌數(shù)

33、據(jù)表必須非空,不能“超長”不允許賦給越界下標(biāo)變量。 *5.12 對數(shù)組賦初值時,可省略第1維長度,如果省略,其值為恰好存下數(shù)據(jù)表所需長度。 *5.13 以字符為數(shù)據(jù)元素的數(shù)組稱作字符數(shù)組。字符數(shù)組可用字符串初始化。 *5.14 對字符串和字符數(shù)組可以作輸出輸入等整體操作,這些操作要求有結(jié)束標(biāo)志'0'。 *5.15 字符串和字符數(shù)組的整體輸入語句有: 格式 cin>>字符地址變量表達(dá)式 或 scanf("%s",字符地址變量表達(dá)式) 功能 把讀入字符依次存儲到從指定地址開始的內(nèi)存中,并自動追加結(jié)束標(biāo)志。讀入時,遇到空格、回車、Tab鍵等數(shù)據(jù)分隔符結(jié)

34、束。 *5.16 字符串和字符數(shù)組的整體輸出語句有: 格式 cout<<字符地址表達(dá)式 或 printf("%s",字符地址表達(dá)式) 功能 從指定地址開始依次輸出字符,直至結(jié)束標(biāo)志。 5.17 原則上,字符數(shù)組不要求有結(jié)束標(biāo)志,因此,要相應(yīng)附加結(jié)束標(biāo)志,方可作整體操作,否則,操作將順延至字符數(shù)組之外。 *5.18 掌握常見的字符串函數(shù)。格式功能頭文件strcat(串1,串2)將串2復(fù)制、連接到串1的第一個'0'處。string.hstrcpy(串1,串2)將串2復(fù)制到串1。strcmp(串1,串2)比較串1和串2的大小。strlen(串)求字符串

35、的長度。 5.19 了解字符串類string。 *5.20 掌握冒泡排序、選擇排序,了解插入排序、折半查找等。第6章 指針 *10.1 內(nèi)存的基本單位是字節(jié),每個字節(jié)都有相應(yīng)的編號,稱作地址。 *10.2 對任意變量x,&x稱作變量x的指針,變量x的數(shù)據(jù)類型稱作&x的基類型,此&稱作取地址運算。 *10.3 變量的指針簡稱變量指針,它以該變量的基址(變量所占內(nèi)存的起始地址)為值(而非該變量的值),又稱指向變量的指針。變量指針不是單純的地址,它蘊涵著基類型(所指向變量的類型)。 *10.4 作為單目運算,&是取地址運算,只能作用于變量(包括常變量)。 *10.5 變量指針不是變量,它所指向變量可表為:*指針其中,*稱作指向運算

溫馨提示

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

評論

0/150

提交評論