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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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)程序文件,它是二進制可執(zhí)行文件,擴展名為 exe。*1.6 執(zhí)行目標(biāo)程序與源程序無關(guān),但是,要修改目標(biāo)程序,必須先修改源程序,然后,重新編譯、連接,產(chǎn)生新的目標(biāo)程序或覆蓋原目標(biāo)程

2、序。1.7 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 表達式后綴分號稱作表達式語句。*1.13 用花括號括起來的一組語句統(tǒng)稱復(fù)合語句。復(fù)合語句可省略其后分號,但復(fù)合語句內(nèi)的語句不可省略分號(除非它也是復(fù)合語句)。*1.14 c 的注釋以/*開頭,

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

4、長整數(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.1 掌握基本類型的類型名、縮寫、存儲量、取值范圍。*2.2 由正號、負(fù)號、數(shù)字以及合法前綴和后綴組成的有效數(shù)稱作整數(shù)(小含小數(shù)點、e、e 的數(shù))。*2.3 含有小數(shù)點或 e 或 e 的數(shù)為雙精度實型。*2.

5、4 整型、實型、字符型、布爾型統(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ù)為十六進制整數(shù)。0 打頭的整數(shù)為八進制整數(shù)。*2.7 浮點數(shù)“尾數(shù) e 階碼”表示“尾數(shù)10 階碼”,其中,階碼必須是整數(shù)。*2.8 用一對單引號括起來的單個普通字符或轉(zhuǎn)義字符稱作字符常量,以其 ascii 碼存儲。記住數(shù)字和字母的 ascii 碼。字符是 1 字節(jié)整數(shù),但默認(rèn)輸出形式是字符。ascii 碼在3

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

7、個普通字符或轉(zhuǎn)義字符稱作字符串常量,簡稱字符串。*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)鍵字同名。7*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 不同類

9、型數(shù)據(jù)作運算時,低精度數(shù)據(jù)自動向高精度轉(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)換運算的格式和功能如下: 格式:(類型名)(表達式)功能:

10、把指定表達式的值強制轉(zhuǎn)換為指定類型。2.28 如果轉(zhuǎn)換運算所作用的表達式中沒有運算或優(yōu)先級均高于轉(zhuǎn)換運算,可省略表達式的括號。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 賦值運算的格式和功能如下: 格式:變量=表達式功能:把賦值號“=”右側(cè)表達式的值賦給左側(cè)的變量,并以左側(cè)變量為整個賦值表達式的值。*2.33 如果賦值號兩側(cè)的類型不一致,右

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

12、除法應(yīng)改用實數(shù)除法。第 3 章 程序設(shè)計初步*3.1 賦值表達式后綴分號稱作賦值語句。*3.2 頭文件 iostream.h、iostream、iomanip 均提供了 cin、cout 等 c+標(biāo)準(zhǔn)輸入輸出流對象,它們的格式和功能如下:格式 cout表達式變量變量;功能 把輸入數(shù)據(jù)從左至右依次賦給各變量。稱作輸入運算。輸入數(shù)據(jù)間用空格、回車鍵分隔,并用回車鍵確認(rèn)所輸入數(shù)據(jù)。3.3 頭文件 iomanip.h 提供了許多用于實現(xiàn)特殊輸入和輸出格式的所謂控制符(參見表 3.1),它內(nèi)嵌了頭文件iostream。*3.4 頭文件 iostream 和 stdio.h 均提供了 putchar、ge

13、tchar、printf、scanf 等輸入輸出函數(shù)。putchar 和 getchar的格式和功能如下:格式 putchar(表達式)功能 輸出以指定表達式的值為 ascii 碼的字符,并自動追加一個回車符。格式 getchar()功能 輸入一個字符,并以該字符為函數(shù)值(字符型)。注意:getchar 可提取空格及回車、tab 等控制字符,只提取輸入中相應(yīng)位置上一個字符,因此,輸入字符間無須分隔, 否則也被視為輸入字符。3.5 printf 函數(shù)的格式和功能如下: 格式 printf(格式控制串,輸出表列)功能 從右至左依次計算輸出表列中各表達式;從左至右依次輸出格式控制串中的字符,其中,%

14、引導(dǎo)的格式控制符由輸出表列中相應(yīng)表達式的值所取代。輸出表列是一組用逗號分隔的表達式(又稱輸出項,可以為 0 項)。格式控制串可以是表達式,其中,格式符用于控制輸出表列中相應(yīng)表達式的輸出格式(參見 第 04 講:程序設(shè)計初步)。3.6 scanf 函數(shù)的格式和功能如下: 格式 scanf(格式控制串,地址表列)功能 從右至左依次計算地址表列中各表達式的值;從標(biāo)準(zhǔn)輸入設(shè)備提取數(shù)據(jù),并從左至右依次存儲到所指定的存儲單元。格式控制串可以是表達式。地址表列是一組用逗號分隔的地址,可用是表達式,常用形式為:&變量其中&是地址運算符,它表示取其后變量的起始存儲地址。scanf 可提取空格以及回車、tab 等

15、部分控制字符,但必須以字符提取(而非字符串)。scanf 函數(shù)格式符與 printf 函數(shù)的格式符的功能相似(參見第 04 講:程序設(shè)計初步)。scanf 的合法格式符不分大小寫、實型格式符均等效。*3.7 在c 和c+中,邏輯值均為整數(shù),真即 1,假即 0。高版本 c+中新增了邏輯類型 bool,它只有 1 和0 這兩個 1 字節(jié)整數(shù),可分別表為 true 和 false。字符和數(shù)作為邏輯量時,非 0 即真。指針作為邏輯量時,非空即真。邏輯運算如下表所示:右元!右元假(0)1真(非 0)0左元右元左元&右元左元|右元假(0)假(0)00假(0)真(非 0)01真(非 0)假(0)01真(非

16、0)真(非 0)11*3.8 關(guān)系式的值為邏輯值。*3.9 對于形如|的邏輯式,從左至右計算的邏輯值,遇真即止。*3.10 對于形如&的邏輯式,從左至右計算的邏輯值,遇假即止。*3.11 if 語句的格式和功能如下: 格式 if(條件)語句 1 else 語句 2功能 如果條件成立,執(zhí)行語句 1,否則執(zhí)行語句 2。如果語句 2 為空語句,可同 else 一起省略。注意:else 不可獨立使用,它與其前最近一個尚未配對的 if 配對,為避免岐義,通常只在 else 中嵌套 if 語句。*3.12 條件表達式的格式和功能如下: 格式 條件?表達式 1:表達式 2功能 如果條件成立,取表達式 1 的

17、值,否則取表達式 2 的值。條件表達式可以嵌套,:與其前最近一個尚未配對的?配對。*3.13 掌握目前所學(xué)運算的優(yōu)先級(見附錄 b)。3.14 switch 語句的格式和功能如下: 格式switch(表達式)case 常量 i:語句組 idefault:語句組 n+1功能 如果表達式的值等于常量 i,則從語句組 i 開始執(zhí)行,否則執(zhí)行語句組 n+1。switch()中表達式的值必須是整數(shù)(可以是字符或邏輯值),“default:語句組 n+1”可缺省,每個語句組稱作一個分支。為使各分支獨立,通常以 break、return、exit 等語句結(jié)尾。*3.15 break 語句的格式和功能如下:

18、格 式 break;功能 結(jié)束本層 switch 語句或本層循環(huán)語句。*3.16 while 語句的格式和功能如下: 格式 while(表達式)循環(huán)體功能 當(dāng)表達式的值為真時,重復(fù)執(zhí)行其后循環(huán)體。循環(huán)體是循環(huán)語句的內(nèi)嵌語句,可以是空或復(fù)合語句(下同)。*3.17 do-while 語句的格式和功能如下: 格式 do 循環(huán)體 while(表達式)功能 重復(fù)執(zhí)行循環(huán)體,直到表達式的值為假。*3.18 for 語句的格式和功能如下:格式 for(表達式 1;表達式 2;表達式 3)循環(huán)體功能 計算表達式 1;當(dāng)表達式 2 的值為真時,重復(fù)執(zhí)行循環(huán)體和計算表達式 3。表達式 1、表達式 2、表達式 3

19、 均可缺省,但保留分號。缺省表達式 2 為永真。*3.19 continue 語句的格式和功能如下: 格 式 continue;功能 跳過本層循環(huán)體中剩余語句。3.20 掌握以下算法:計算分段函數(shù)、打印字符圖形、遞推(迭代)、累加、階乘、輾轉(zhuǎn)相除法、窮舉(枚舉)、判斷素數(shù)、分解整數(shù)因子、分解數(shù)字。*3.21 分段函數(shù)的一般形式為: if(條件 1)f=算式 1;else if(條件 2)f=算式 2; else if(條件 n-1)f=算式 n-1; else f=算式 n;或:f=條件 1?式 1:條件 2?式 2:條件 n-1?式 n-1:式 n3.22 分支結(jié)構(gòu)的一般格式: if(條件

20、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+)輸出所用字符coutendl;/結(jié)束第 i 行3.24 如果某問題已表述為“當(dāng)時重復(fù)執(zhí)行”,即可用下述語句實現(xiàn):while()3.25 如果某問題已表述為“對于 i=ab 重復(fù)執(zhí)行”,即可用下述語句實現(xiàn): for(i=a;i=a;i-)3.26 如果某問題已表述為“i 從a 開始,當(dāng)時重復(fù)執(zhí)行”,

21、即可用下述語句實現(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 對于已知項數(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)相除

22、法的要點:當(dāng) b=0 時,a 和 b 的最大公約數(shù)是 a,否則轉(zhuǎn)換為求 b 和 a%b 的最大公約數(shù)。3.32 窮舉法又稱枚舉法,它是在有限或可列集中搜索滿足條件的解。窮舉法的要點:確定解的搜索范圍,并按某種規(guī)律排序(盡可能不重復(fù));確定所滿足的條件,并在上述搜索范圍內(nèi)求解。n注意:應(yīng)適當(dāng)利用條件縮小搜索范圍,或縮小搜索范圍以減少條件。*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ù)

23、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.3 如果函數(shù)沒有返回值,函數(shù)值的數(shù)據(jù)類型應(yīng)定義為 void。*4.4 return 語句的格式和功能為:格式一 return 表達式; 或 return(表達式);格 式 二 return;功能 結(jié)束函數(shù),返回調(diào)用者。格式一帶返回值,其數(shù)

24、據(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+方有此功能)。對于未前綴&的形參,它與對應(yīng)實參不共用內(nèi)存,僅傳值。*4.7 對于無參函數(shù),實參表和形參表的括號仍不可缺省。*4.8 如果函數(shù)調(diào)用在其定義之前,調(diào)用前應(yīng)作相應(yīng)聲明,聲明格式為: 格式 函數(shù)值類型名 函數(shù)名(形參表);其中,形參可省略,但形參的類型不可省略。*4.

25、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(回歸條件)回歸操作 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)定義的變量

26、稱作局部變量,它從定義處生效,只在該函數(shù)或復(fù)合語句內(nèi)有效。因此, 不同函數(shù)或復(fù)合語句中的局部變量可以同名,但同名不同義。*4.16 在所有函數(shù)之外定義的變量稱作全局變量,從定義處生效。4.17 對于函數(shù),之前定義的全局變量均稱作外部變量。對于復(fù)合語句,之前定義的全局變量和同一函數(shù)中之前定義的局部變量均稱作外部變量。*4.18 如果局部變量與外部變量同名,則同名外部變量被屏蔽。*4.19 局部變量的存儲類別分為:動態(tài)(auto,又稱自動)、靜態(tài)(static)、寄存器(register)。*4.20 局部變量存儲類別的定義格式為: 格式 存儲類別 數(shù)據(jù)類型 局部變量表;其中,存儲類別和數(shù)據(jù)類型的

27、位置可交換,默認(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。*4.23 static 型局部變量的定義和初值化只執(zhí)行一次,即使離開其作用域也不釋放所占內(nèi)存。4.24 定義全局變量時,如果加前綴 static,稱作內(nèi)部全局變量,不能被其它文件調(diào)用,否則,稱作外部全局變量, 允許其它文件調(diào)用。使用其它文件中定義的外部全局變量,需作 e

28、xtern 聲明。4.25 定義函數(shù)時,如果加前綴 static,稱作內(nèi)部函數(shù),不能被其它文件調(diào)用,否則,稱作外部函數(shù),允許其它文件調(diào)用。使用其它文件中定義的外部函數(shù),需作 extern 聲明。*4.26 預(yù)處理命令在程序編譯前執(zhí)行,其主要功能是“文本置換”。每個宏定義必須獨占一行。預(yù)處理不是語句,不可隨意跟分號。*4.27 不帶參數(shù)宏定義的格式和功能如下: 格 式 #define 宏 名 文 本功能 在預(yù)處理時,將程序中之后出現(xiàn)的這個宏名均用指定的文本置換。4.28 帶參數(shù)的宏定義的格式和功能如下: 定義格式 #define 宏名(形參表) 文本使用格式 宏名(實參表)功能 在預(yù)處理時,將程

29、序中之后出現(xiàn)的這個帶參數(shù)的宏均用指定文本置換,其中,形參被相應(yīng)的實參直接置換(實際上是兩次置換)。形參沒有類型的概念,沒有函數(shù)值的概念,對實參不作運算。4.29 終止宏定義的格式為:#undef 宏名4.30 允許重新定義宏所代表的文本,新定義只作用于其后的宏名。4.31 “文件包含”處理(加載文件命令)格式一 #include格式二 #include文件名功能 把指定文件加載到此處。如果沒有指定文件路徑,前種格式直接到存放 c 頭文件的目錄中查找,后種格式先在程序文件所在目錄中查找,如果未找著,方到存放 c 頭文件的目錄中查找。4.32 條件編譯命令的格式和功能如下:格式一 #ifdef 宏

30、名 程序段 1 #else 程序段 2 #endif格式二 #ifndef 宏名 程序段 1 #else 程序段 2 #endif格式三 #if 常量表達式 程序段 1 #else 程序段 2 #endif功能 如果指定的宏名已定義(格式一)、宏名未定義(格式二)、條件為真(格式三),保留程序段 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ù)組元

31、素,并將起始地址賦給數(shù)組名。*5.2 數(shù)組的各維長度必須是常量(表達式),其整數(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 各維下標(biāo)均從 0 開始,可用表達式表示,其值的整數(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ù)

32、組所申請的存儲空間之外(危險)。*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ù)據(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字符地址變量表達式或 scanf(%s,字符地址變量表達式)功能 把讀入字符依次存儲到從指定地址開始的內(nèi)存中,并自動追加結(jié)束標(biāo)志。讀入時,遇到空格、回車、tab 鍵等數(shù)據(jù)分隔符結(jié)束。*5.16 字符串和字符數(shù)組的整體輸出語句有:

溫馨提示

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

評論

0/150

提交評論