




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 C+的初步知識(shí) *1.1 C和C+語言屬于計(jì)算機(jī)高級(jí)語言,支持面向過程的程序設(shè)計(jì)方法。 *1.2 C+兼容C,是C的加強(qiáng)版,增加了面向?qū)ο?OOP)機(jī)制。 *1.3 用高級(jí)語言編寫的程序稱作源程序,C+源程序的擴(kuò)展名為CPP,C源程序的擴(kuò)展名為C。 *1.4 源程序被編譯或解釋為機(jī)器語言方可執(zhí)行。C和C+均采用編譯方式,源程序經(jīng)編譯、連接后形成機(jī)器語言的目標(biāo)程序文件。 *1.5 用戶最終執(zhí)行的是目標(biāo)程序文件,它是二進(jìn)制可執(zhí)行文件,擴(kuò)展名為EXE。 *1.6 執(zhí)行目標(biāo)程序與源程序無關(guān),但是,要修改目標(biāo)程序,必須先修改源程序,然后,重新編譯、連接,產(chǎn)生新的目標(biāo)程序或覆蓋原目標(biāo)程序。 1.7
2、 C和C+均支持模塊化程序設(shè)計(jì),C以函數(shù)為基本模塊,C+增加了類模塊。 *1.8 C和C+均支持結(jié)構(gòu)化程序設(shè)計(jì),有三種基本結(jié)構(gòu):順序、分支、循環(huán)。 *1.9 每個(gè)C或C+源程序可由若干個(gè)文件組成,程序總是從主函數(shù)main開始執(zhí)行,因此,每個(gè)源程序有且僅有一個(gè)主函數(shù)。 *1.10 C和C+區(qū)分字母的大小寫。 *1.11 C和C+語句以分號(hào)結(jié)尾,僅有分號(hào)的語句稱作空語句。 *1.12 表達(dá)式后綴分號(hào)稱作表達(dá)式語句。 *1.13 用花括號(hào)括起來的一組語句統(tǒng)稱復(fù)合語句。復(fù)合語句可省略其后分號(hào),但復(fù)合語句內(nèi)的語句不可省略分號(hào)(除非它也是復(fù)合語句)。 *1.14 C的注釋以/*開頭,結(jié)束于*/,可跨行。C
3、+增加了以/開頭,至行尾結(jié)束的注釋。 *1.15 C和C+能直接對(duì)內(nèi)存進(jìn)行操作,從而實(shí)現(xiàn)對(duì)硬件的操作。 1.16 廣義地說,求解問題的方法和步驟稱作算法。就程序設(shè)計(jì)而言,對(duì)數(shù)據(jù)的操作方法和步驟稱作算法。 *1.17 算法和數(shù)據(jù)結(jié)構(gòu)是程序的兩大要素。 1.18 掌握三種基本結(jié)構(gòu)的圖示。第2章 數(shù)據(jù)類型和表達(dá)式 *2.1 掌握基本類型的類型名、縮寫、存儲(chǔ)量、取值范圍。類型名類型標(biāo)識(shí)符存儲(chǔ)量取值范圍有符號(hào)短整數(shù)signed short int2字節(jié)-3276832767無符號(hào)短整數(shù)unsigned short int2字節(jié)065535有符號(hào)長整數(shù)signed long int4字節(jié)-21474836
4、482147483647無符號(hào)長整數(shù)unsigned long int4字節(jié)04294967295有符號(hào)字符signed char1字節(jié)-128127無符號(hào)字符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 由正號(hào)、負(fù)號(hào)、數(shù)字以及合法前綴和后綴組成的有效數(shù)稱作整數(shù)(小含小數(shù)點(diǎn)、E、e的數(shù))。 *2.3 含有小數(shù)點(diǎn)或E或e的數(shù)為雙精度實(shí)型。 *2.4 整型
5、、實(shí)型、字符型、布爾型統(tǒng)稱數(shù)值型。 *2.5 整數(shù)后綴U或u為無符號(hào)整型。整數(shù)后綴L或l為長整型,實(shí)數(shù)后綴L或l為長雙精度。 在VC 6.0中,整數(shù)默認(rèn)為長整數(shù),長雙實(shí)數(shù)歸入雙精度,因此,整數(shù)和實(shí)數(shù)的后綴L均可省略。 *2.6 0X或0x打頭的整數(shù)為十六進(jìn)制整數(shù)。0打頭的整數(shù)為八進(jìn)制整數(shù)。 *2.7 浮點(diǎn)數(shù)“尾數(shù)E階碼”表示“尾數(shù)×10階碼”,其中,階碼必須是整數(shù)。 *2.8 用一對(duì)單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符稱作字符常量,以其ASCII碼存儲(chǔ)。記住數(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 用一對(duì)雙引號(hào)括起來的若干個(gè)普通字符或轉(zhuǎn)義字符稱作字符串常量,簡稱字符串
7、。 *2.14 字符串中字符個(gè)數(shù)稱作字符串長度,簡稱串長。 *2.15 字符串按字符的ASCII碼依次存儲(chǔ),并自動(dòng)追加1個(gè)ASCII碼為0的“空字符”'0'作為結(jié)束標(biāo)志,因此,字符串的存儲(chǔ)量比串長多一個(gè)字節(jié)。 *2.16 符號(hào)常量名、變量名、函數(shù)名、數(shù)組名、類型名、類名等統(tǒng)稱標(biāo)識(shí)符。 *2.17 標(biāo)識(shí)符的命名規(guī)則為:以字母或下劃線打頭,由字母、下劃線、數(shù)字組成。 標(biāo)識(shí)符不要與關(guān)鍵字同名。 *2.18 符號(hào)常量定義格式為:#define 符號(hào)常量 所代表的文本其功能是:在預(yù)處理時(shí),自動(dòng)用所代表的文本替換符號(hào)常量。 *2.19 變量必須命名和定義類型(或者說,聲明類型)。定義變量類
8、型的語句格式為:類型名 變量名,變量名,; *2.20 定義變量時(shí)為其賦值,稱作賦初值。 *2.21 在定義變量時(shí),如果附加了關(guān)鍵字const,所定義變量稱作常變量或只讀變量。常變量必須賦值,之后不允許修改其值。 符號(hào)常量在預(yù)處理時(shí)被所代表的文字替換,不參與編譯,不占內(nèi)存。常變量有類型,占內(nèi)存。 *2.22 逐步掌握附錄B中運(yùn)算的功能、優(yōu)先級(jí)、配對(duì)方向、結(jié)合方向。 *2.23 在C和C+中,整數(shù)的商為整數(shù),舍去余數(shù)(不做四舍五入)。 *2.24 在C和C+中,只能用圓括號(hào)(所謂的小括號(hào))來規(guī)定或改變運(yùn)算的優(yōu)先級(jí)。圓括號(hào)可以嵌套,里層優(yōu)先。 *2.25 不同類型數(shù)據(jù)作運(yùn)算時(shí),低精度數(shù)據(jù)自動(dòng)向高精
9、度轉(zhuǎn)化后再做運(yùn)算。 在VC 6.0中,char、short、unsigned short型數(shù)據(jù)均自動(dòng)轉(zhuǎn)化為long型后再做運(yùn)算。精度由低到高排列為:long=>unsigned long=>float=>double。 *2.26 自增運(yùn)算“+”和自減運(yùn)算“-”均是單目運(yùn)算,只能作用于變量,可作用于左、右兩側(cè),均使變量相應(yīng)自增或自減1。作用于左側(cè)時(shí),算術(shù)式的值為變量改變后的值,否則為改變前的值。 自增、自減運(yùn)算均為左配對(duì),與其在變量哪側(cè)無關(guān)。運(yùn)算優(yōu)先級(jí)與其作用于變量的哪側(cè)有關(guān)。 *2.27 強(qiáng)制類型轉(zhuǎn)換運(yùn)算的格式和功能如下: 格式:(類型名)(表達(dá)式) 功能:把指定表達(dá)式的值
10、強(qiáng)制轉(zhuǎn)換為指定類型。 2.28 如果轉(zhuǎn)換運(yùn)算所作用的表達(dá)式中沒有運(yùn)算或優(yōu)先級(jí)均高于轉(zhuǎn)換運(yùn)算,可省略表達(dá)式的括號(hào)。 2.29 C+中可省略類型名括號(hào),但C中不可省。 *2.30 實(shí)數(shù)轉(zhuǎn)整數(shù)將舍去小數(shù)部分(不做四舍五入),整數(shù)轉(zhuǎn)實(shí)數(shù)將舍去超出數(shù)位(做四舍五入),整數(shù)間的轉(zhuǎn)換涉及到補(bǔ)碼。 *2.31 會(huì)用類型轉(zhuǎn)換實(shí)現(xiàn)“四舍五入”。例如,“(int)(x*100+.5)/100.”是保留x的2位小數(shù)。 *2.32 賦值運(yùn)算的格式和功能如下: 格式:變量=表達(dá)式 功能:把賦值號(hào)“=”右側(cè)表達(dá)式的值賦給左側(cè)的變量,并以左側(cè)變量為整個(gè)賦值表達(dá)式的值。 *2.33 如果賦值號(hào)兩側(cè)的類型不一致,右側(cè)表達(dá)式的值將
11、被自動(dòng)轉(zhuǎn)換為左側(cè)變量的類型。轉(zhuǎn)換規(guī)則與強(qiáng)制類型轉(zhuǎn)換相同。 *2.34 在C和C+中,= 等價(jià)于 =其中,是同一個(gè)變量,是表達(dá)式,=稱作復(fù)合(或組合)賦值運(yùn)算符,是下述運(yùn)算符之一:+、-、*、/、%、>>、<<、&、| *2.35 用逗號(hào)分隔(或者說連接起來)的一組表達(dá)式統(tǒng)稱逗號(hào)表達(dá)式。 格式:表達(dá)式,表達(dá)式 功能:從左至右依次計(jì)算逗號(hào)表達(dá)式中各表達(dá)式的值,并以最后一個(gè)表達(dá)式的值的作為整個(gè)逗號(hào)表達(dá)式的值。 *2.36 將數(shù)學(xué)式改為C表達(dá)式時(shí)應(yīng)注意:乘號(hào)*不可省略;正確改寫角碼、運(yùn)算符、括號(hào)等;正確書寫函數(shù)名;把握好運(yùn)算優(yōu)先級(jí),分?jǐn)?shù)線改為/時(shí),分子、分母相應(yīng)加括號(hào);
12、正確拆分不等式組;通常,整數(shù)除法應(yīng)改用實(shí)數(shù)除法。第3章 程序設(shè)計(jì)初步 *3.1 賦值表達(dá)式后綴分號(hào)稱作賦值語句。 *3.2 頭文件iostream.h、iostream、iomanip均提供了cin、cout等C+標(biāo)準(zhǔn)輸入輸出流對(duì)象,它們的格式和功能如下: 格式 cout<<表達(dá)式<<表達(dá)式; 功能 從右至左依次計(jì)算各表達(dá)式,然后,從左至右依次輸出各表達(dá)式的值。 格式 cin>>變量>>變量; 功能 把輸入數(shù)據(jù)從左至右依次賦給各變量。 <<稱作輸出運(yùn)算,如果其后的表達(dá)式中有比它優(yōu)先級(jí)低的運(yùn)算,應(yīng)適當(dāng)加括號(hào)。 >>稱作輸入運(yùn)
13、算。輸入數(shù)據(jù)間用空格、回車鍵分隔,并用回車鍵確認(rèn)所輸入數(shù)據(jù)。 3.3 頭文件iomanip.h提供了許多用于實(shí)現(xiàn)特殊輸入和輸出格式的所謂控制符(參見表3.1),它內(nèi)嵌了頭文件iostream。 *3.4 頭文件iostream和stdio.h均提供了putchar、getchar、printf、scanf等輸入輸出函數(shù)。putchar和getchar的格式和功能如下: 格式 putchar(表達(dá)式) 功能 輸出以指定表達(dá)式的值為ASCII碼的字符,并自動(dòng)追加一個(gè)回車符。 格式 getchar() 功能 輸入一個(gè)字符,并以該字符為函數(shù)值(字符型)。 注意:getchar可提取空格及回車、Tab等
14、控制字符,只提取輸入中相應(yīng)位置上一個(gè)字符,因此,輸入字符間無須分隔,否則也被視為輸入字符。 3.5 printf函數(shù)的格式和功能如下: 格式 printf(格式控制串,輸出表列) 功能 從右至左依次計(jì)算輸出表列中各表達(dá)式;從左至右依次輸出格式控制串中的字符,其中,%引導(dǎo)的格式控制符由輸出表列中相應(yīng)表達(dá)式的值所取代。 輸出表列是一組用逗號(hào)分隔的表達(dá)式(又稱輸出項(xiàng),可以為0項(xiàng))。格式控制串可以是表達(dá)式,其中,格式符用于控制輸出表列中相應(yīng)表達(dá)式的輸出格式(參見 第04講:程序設(shè)計(jì)初步)。 3.6 scanf函數(shù)的格式和功能如下: 格式 scanf(格式控制串,地址表列) 功能 從右至左依次計(jì)算地址表
15、列中各表達(dá)式的值;從標(biāo)準(zhǔn)輸入設(shè)備提取數(shù)據(jù),并從左至右依次存儲(chǔ)到所指定的存儲(chǔ)單元。 格式控制串可以是表達(dá)式。地址表列是一組用逗號(hào)分隔的地址,可用是表達(dá)式,常用形式為:&變量其中&是地址運(yùn)算符,它表示取其后變量的起始存儲(chǔ)地址。 scanf可提取空格以及回車、Tab等部分控制字符,但必須以字符提取(而非字符串)。 scanf函數(shù)格式符與printf函數(shù)的格式符的功能相似(參見第04講:程序設(shè)計(jì)初步)。scanf的合法格式符不分大小寫、實(shí)型格式符均等效。 *3.7 在C和C+中,邏輯值均為整數(shù),真即1,假即0。高版本C+中新增了邏輯類型bool,它只有1和0這兩個(gè)1字節(jié)整數(shù),可分別表為
16、true和false。字符和數(shù)作為邏輯量時(shí),非0即真。指針作為邏輯量時(shí),非空即真。邏輯運(yùn)算如下表所示:右元!右元左元右元左元&&右元左元|右元假(0)1假(0)假(0)00真(非0)0假(0)真(非0)01真(非0)假(0)01真(非0)真(非0)11 *3.8 關(guān)系式的值為邏輯值。 *3.9 對(duì)于形如|的邏輯式,從左至右計(jì)算的邏輯值,遇真即止。 *3.10 對(duì)于形如&&&&的邏輯式,從左至右計(jì)算的邏輯值,遇假即止。 *3.11 if語句的格式和功能如下: 格式 if(條件)語句1 else 語句2 功能 如果條件成立,執(zhí)行語句1,否則執(zhí)行語句2
17、。 如果語句2為空語句,可同else一起省略。 注意:else不可獨(dú)立使用,它與其前最近一個(gè)尚未配對(duì)的if配對(duì),為避免岐義,通常只在else中嵌套if語句。 *3.12 條件表達(dá)式的格式和功能如下: 格式 條件?表達(dá)式1:表達(dá)式2 功能 如果條件成立,取表達(dá)式1的值,否則取表達(dá)式2的值。 條件表達(dá)式可以嵌套,:與其前最近一個(gè)尚未配對(duì)的?配對(duì)。 *3.13 掌握目前所學(xué)運(yùn)算的優(yōu)先級(jí)(見附錄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”可缺省,每個(gè)語句組稱作一個(gè)分支。為使各分支獨(dú)立,通常以break、return、exit等語句結(jié)尾。 *3.15 break語句的格式和功能如下: 格式 break; 功能 結(jié)束本層switch語句或本層循環(huán)語句。 *3.16 while語句的格式和功能如下: 格式 while(表達(dá)式)循環(huán)體 功能 當(dāng)表達(dá)式的值為真時(shí),重復(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)體 功能 計(jì)算表達(dá)式1;當(dāng)表達(dá)式2的值為真時(shí),重復(fù)執(zhí)行循環(huán)體和計(jì)算表達(dá)式3。 表達(dá)式1、表達(dá)式2、表達(dá)式3均可缺省,但保留分號(hào)。缺省表達(dá)式2為永真。 *3.19 continue語句的格式和功能如下: 格式 continue; 功能 跳過本層循環(huán)體中剩余語句。 3.20 掌握以下算法:計(jì)算分段函數(shù)、打印字符圖形、遞推(迭代)、累加、階乘、輾轉(zhuǎn)相除法、窮舉(枚舉)、判斷素?cái)?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 輸出實(shí)心字符圖形的一般格式為: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)時(shí)重復(fù)執(zhí)行”,即可用下述語句實(shí)現(xiàn):while() 3.25 如果某問題已表述為“對(duì)于i=ab重復(fù)執(zhí)行”,即可用下述語句實(shí)現(xiàn):for(i=a;i<=b;i+) 或 for(i=b;i>=a;i-) 3.26 如果某問題已表述為“i從a開始,當(dāng)時(shí)重復(fù)執(zhí)行”,即可用下述語句實(shí)現(xiàn):for(i=a;i+) 3.27 對(duì)于已知項(xiàng)數(shù)和通項(xiàng)的累加,通用格式為:和的類型 S=0;for(i=1;i<=項(xiàng)數(shù);i+)S+=第i項(xiàng); 3.28 對(duì)于已知通項(xiàng)和結(jié)束條件的累加,通用格式為:和的類型 S=0;for(i=1;!結(jié)束條件;i+)S+=第i項(xiàng); 3.29 對(duì)于
22、已知項(xiàng)數(shù)和各項(xiàng)遞推式的累加,通用格式為:和的類型 S=0,T=初始項(xiàng);for(i=1;i<=項(xiàng)數(shù);i+)S+=T,推下項(xiàng)T; 3.30 對(duì)于已知結(jié)束條件和各項(xiàng)遞推式的累加,通用格式為:和的類型 S=0,T=初始項(xiàng);for(i=1;!結(jié)束條件;i+)S+=T,推下項(xiàng)T; *3.31 輾轉(zhuǎn)相除法的要點(diǎn):當(dāng)b=0時(shí),a和b的最大公約數(shù)是a,否則轉(zhuǎn)換為求b和a%b的最大公約數(shù)。 3.32 窮舉法又稱枚舉法,它是在有限或可列集中搜索滿足條件的解。窮舉法的要點(diǎn):確定解的搜索范圍,并按某種規(guī)律排序(盡可能不重復(fù));確定所滿足的條件,并在上述搜索范圍內(nèi)求解。 注意:應(yīng)適當(dāng)利用條件縮小搜索范圍,或縮小搜索
23、范圍以減少條件。 *3.33 對(duì)于2以上的整數(shù)n,n是素?cái)?shù)ó2中沒有n的因子。 3.34 對(duì)于正整數(shù)n,分解整數(shù)因子的過程為:i從2開始,當(dāng)i是n的因子時(shí),去除n中1重i因子(n/=i),否則i+,直到n=1為止。 *3.35 對(duì)于非負(fù)整 數(shù)n,n的個(gè)位數(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,形參要逐個(gè)定義數(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ù)值的類型必須相同或兼容,兼容時(shí),返回值被自動(dòng)轉(zhuǎn)換為函數(shù)值的類型。格式二沒有返回值,函數(shù)值類型應(yīng)定義為void。 *4.5 函數(shù)一般調(diào)用格式為: 格式 函數(shù)名(實(shí)參表)其中,實(shí)參按從右至左的次序計(jì)算,并傳遞給相應(yīng)形參。 *4.6 函數(shù)參數(shù)的傳遞方式分為傳值和引用。對(duì)于前綴&的形參,它與對(duì)應(yīng)實(shí)參共用內(nèi)存,稱作引用(C+方有此功能)。對(duì)于未前綴
25、&的形參,它與對(duì)應(yīng)實(shí)參不共用內(nèi)存,僅傳值。 *4.7 對(duì)于無參函數(shù),實(shí)參表和形參表的括號(hào)仍不可缺省。 *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 遞歸有三大要點(diǎn):遞歸條件(或回歸條件);非遞歸操作(回歸操作);遞歸操作。 *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ù)類型;作用域;存儲(chǔ)類別;存在期。 *4.15 函數(shù)形參及函數(shù)或復(fù)合語句內(nèi)定義的變量稱作局部變量,它從定義處生效,只在該函數(shù)或復(fù)合語句內(nèi)有效。因此,不同函數(shù)或復(fù)合語句中的局部變量可以同名,但同名不同義。 *4.16 在所有函數(shù)之外定義的變量稱作全局變量,從定義處生效。 4.17 對(duì)于函數(shù),之前定義的全局變量均稱作外部變量。對(duì)于復(fù)合語句,之前定義的全局變量和同一函數(shù)中之前定義的局部變量均稱作外部變量。
27、*4.18 如果局部變量與外部變量同名,則同名外部變量被屏蔽。 *4.19 局部變量的存儲(chǔ)類別分為:動(dòng)態(tài)(auto,又稱自動(dòng))、靜態(tài)(static)、寄存器(register)。 *4.20 局部變量存儲(chǔ)類別的定義格式為: 格式 存儲(chǔ)類別 數(shù)據(jù)類型 局部變量表;其中,存儲(chǔ)類別和數(shù)據(jù)類型的位置可交換,默認(rèn)存儲(chǔ)類別為auto,默認(rèn)數(shù)據(jù)類型為int,但不能同時(shí)缺省。 *4.21 auto型局部變量占用動(dòng)態(tài)數(shù)據(jù)區(qū),當(dāng)函數(shù)調(diào)用結(jié)束時(shí)釋放所占內(nèi)存。register占用CPU中的寄存器,但寄存器不夠用時(shí),占用動(dòng)態(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 定義全局變量時(shí),如果加前綴static,稱作內(nèi)部全局變量,不能被其它文件調(diào)用,否則,稱作外部全局變量,允許其它文件調(diào)用。使用其它文件中定義的外部全局變量,需作extern聲明。 4.25 定義函數(shù)時(shí),如果加前綴static,稱作內(nèi)部函數(shù),不能被其它文件調(diào)用,否則,稱作外部函數(shù),允許其它文件調(diào)用。使用其它文件中定義的外部函數(shù),需作extern聲明。 *4.26 預(yù)處理命令在程序編譯前執(zhí)行,其主要功能是“文本置換”。每個(gè)宏定義必須獨(dú)占一行。預(yù)處理不是語句,不可隨意跟分號(hào)。 *4.27 不帶
29、參數(shù)宏定義的格式和功能如下: 格式 #define 宏名 文本 功能 在預(yù)處理時(shí),將程序中之后出現(xiàn)的這個(gè)宏名均用指定的文本置換。 4.28 帶參數(shù)的宏定義的格式和功能如下: 定義格式 #define 宏名(形參表) 文本 使用格式 宏名(實(shí)參表) 功能 在預(yù)處理時(shí),將程序中之后出現(xiàn)的這個(gè)帶參數(shù)的宏均用指定文本置換,其中,形參被相應(yīng)的實(shí)參直接置換(實(shí)際上是兩次置換)。形參沒有類型的概念,沒有函數(shù)值的概念,對(duì)實(shí)參不作運(yùn)算。 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。最終,整個(gè)程序段僅剩程序段1或程序段2。 當(dāng)程序段2為空時(shí),#else可省略。格式三中的條件必須是常量式。第5章 數(shù)組 *5.1 定義數(shù)組語句的一般格式和功能為: 格式 數(shù)據(jù)類型 數(shù)組名第1維長度第n維長度 功能 為數(shù)組分配相應(yīng)大小的連續(xù)內(nèi)存,用于依次存儲(chǔ)數(shù)組元素,并將起始地址賦給數(shù)組名。 *5.2 數(shù)組的各維長度必須是常量(表達(dá)式),其整數(shù)位有效(不作四舍五入)。 5.3 數(shù)組的起始地址又稱基址。把基址賦給數(shù)組名是在分配內(nèi)存時(shí)由系統(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)先順序存儲(chǔ),對(duì)于二維數(shù)組又稱行優(yōu)先。 *5.7 下標(biāo)變量的使用與普通變量基本相同。 5.8 數(shù)組也有全局和局部之分,局部數(shù)組也有存儲(chǔ)類別。 5.9 5.9 C和C+編譯系統(tǒng)不檢測(cè)下標(biāo)越界,越界則順延至數(shù)組所申請(qǐng)的存儲(chǔ)空間之外(危險(xiǎn))。 *5.10 定義數(shù)組的同時(shí)可對(duì)其元素賦初值。 格式 數(shù)據(jù)類型 數(shù)組名第1維長度第n維長度=數(shù)據(jù)表 功能 定義數(shù)組的同時(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 對(duì)數(shù)組賦初值時(shí),可省略第1維長度,如果省略,其值為恰好存下數(shù)據(jù)表所需長度。 *5.13 以字符為數(shù)據(jù)元素的數(shù)組稱作字符數(shù)組。字符數(shù)組可用字符串初始化。 *5.14 對(duì)字符串和字符數(shù)組可以作輸出輸入等整體操作,這些操作要求有結(jié)束標(biāo)志'0'。 *5.15 字符串和字符數(shù)組的整體輸入語句有: 格式 cin>>字符地址變量表達(dá)式 或 scanf("%s",字符地址變量表達(dá)式) 功能 把讀入字符依次存儲(chǔ)到從指定地址開始的內(nèi)存中,并自動(dòng)追加結(jié)束標(biāo)志。讀入時(shí),遇到空格、回車、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的第一個(gè)'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é),每個(gè)字節(jié)都有相應(yīng)的編號(hào),稱作地址。 *10.2 對(duì)任意變量x,&x稱作變量x的指針,變量x的數(shù)據(jù)類型稱作&x的基類型,此&稱作取地址運(yùn)算。 *10.3 變量的指針簡稱變量指針,它以該變量的基址(變量所占內(nèi)存的起始地址)為值(而非該變量的值),又稱指向變量的指針。變量指針不是單純的地址,它蘊(yùn)涵著基類型(所指向變量的類型)。 *10.4 作為單目運(yùn)算,&是取地址運(yùn)算,只能作用于變量(包括常變量)。 *10.5 變量指針不是變量,它所指向變量可表為:*指針其中,*稱作指向運(yùn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重陽節(jié)養(yǎng)老策劃書(3篇)
- 六一幼兒園主題活動(dòng)策劃方案(10篇)
- 出納述職報(bào)告
- DB31∕701-2020 有色金屬鑄件單位產(chǎn)品能源消耗限額
- 車載消防知識(shí)培訓(xùn)課件
- 《出納理論與實(shí)務(wù)》課件-出納理論與實(shí)務(wù)(項(xiàng)目四)
- 品牌設(shè)計(jì)服務(wù)合同
- 項(xiàng)目實(shí)施時(shí)間線及工作計(jì)劃安排表
- 汽車市場(chǎng)監(jiān)測(cè)報(bào)告
- 大廈委托物業(yè)管理服務(wù)合同
- 課堂教學(xué)質(zhì)量評(píng)價(jià)表
- 人工智能通識(shí)-課件全套 黃君羨 01-12 初識(shí)人工智能 -AIGC安全與倫理
- 時(shí)薪制員工合同范本
- 《智慧旅游認(rèn)知與實(shí)踐》課件-第九章 智慧旅行社
- 執(zhí)業(yè)藥師藥學(xué)考試題庫及答案(完整版)
- 浙江紹興市勘察測(cè)繪院下屬國有企業(yè)紹興市勘察測(cè)繪有限公司招聘筆試題庫2024
- 第1課《鄧稼先》課件語文七年級(jí)下冊(cè)2
- 2024年個(gè)人述職報(bào)告范文5
- 2024過敏性休克搶救指南(2024)課件干貨分享
- 植物抗逆性育種和遺傳改良
- 2024智能網(wǎng)聯(lián)汽車自動(dòng)駕駛功能仿真試驗(yàn)方法及要求
評(píng)論
0/150
提交評(píng)論