c++期末復(fù)習(xí)知識(shí)點(diǎn)_第1頁(yè)
c++期末復(fù)習(xí)知識(shí)點(diǎn)_第2頁(yè)
c++期末復(fù)習(xí)知識(shí)點(diǎn)_第3頁(yè)
c++期末復(fù)習(xí)知識(shí)點(diǎn)_第4頁(yè)
c++期末復(fù)習(xí)知識(shí)點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1. Visual C+的基本概念(i)標(biāo)識(shí)符:以字母、數(shù)字、下劃線組成的字符序列,第一個(gè)字符必須是字母或下劃線。不能與關(guān)鍵字同名,且不含空格標(biāo)點(diǎn)符號(hào)和其他字符,同時(shí)區(qū)分大小寫。例:不正確的:enum、int、2b、a+3、a-3、#include等均不是正確的標(biāo)識(shí)符正確的:_32、include Int a_3 abc(2)數(shù)據(jù)類型:字符型(char, 1)、整型(int , 4)、實(shí)型(float, 4),雙精度(double, 8),無(wú)值型(void, 0)、 布爾型(bool, 1)int之前還可以用unsigned、signed short、long修飾,表示不同字節(jié)的整數(shù)類型cha

2、r之前還可以用unsigned signed修飾(表達(dá)式的數(shù)據(jù)類型以整個(gè)表達(dá)式中最高的數(shù)據(jù)類型為準(zhǔn))例:T+2、T+2、18/3+5.、18+5.0/2,注意常用數(shù)學(xué)函數(shù)的返回值類型(3)常量:(字面常量、標(biāo)識(shí)符常量)整型常量一一有十進(jìn)制、八進(jìn)制(以。開頭)、十六進(jìn)制(0X(x)開頭)三種形式;實(shí)型常量一一有普通和科學(xué)計(jì)數(shù)法兩種形式??茖W(xué)計(jì)數(shù)法時(shí),e的前面必須要有數(shù)字,且在e之后必須是整數(shù);(注意2.5f和2.5的區(qū)別,注意2.0和2.)字符型常量一一必須以單引號(hào)引起來(lái),轉(zhuǎn)義序列以開始,用數(shù)值描述時(shí)有ddd和 xhh兩種形式,即只能是一個(gè)八進(jìn)制或十六進(jìn)制的數(shù),取值范圍在0255,且十六進(jìn)制 必

3、須以x開頭。字符串型常量一一用雙引號(hào)括起來(lái),存儲(chǔ)時(shí)系統(tǒng)默認(rèn)在結(jié)尾添加“0”。區(qū)分sizeof(字 符串)和strlen(字符串)的值。標(biāo)識(shí)符常量的定義#define a4常變量的定義const int a=4;注意標(biāo)識(shí)符常量和常變量?jī)烧叩漠愅c(diǎn)(4)變量:需遵循“先定義后使用,先賦值再操作”的原那么。(5)算術(shù)運(yùn)算符:(詳見書,幾個(gè)需要注意的如下)運(yùn)算符:兩邊都是整型,那么做整除運(yùn)算(去尾取整),有一個(gè)是實(shí)型,那么是真正的 商。“%”運(yùn)算符:取余,其兩邊都必須是整型數(shù)。(6)關(guān)系運(yùn)算符:關(guān)系成立,表達(dá)式結(jié)果為整數(shù)1,否那么為整數(shù)0。(7)邏輯運(yùn)算符:!&|非。為真,用整數(shù)1表示,。為假。注意邏

4、輯運(yùn)算表達(dá)式計(jì)算時(shí)的優(yōu)化問題(短路特 性)。(8) sizeof ()運(yùn)算符:用于計(jì)算某一操作數(shù)類型的字節(jié)數(shù)。(9)賦值表達(dá)式:=左邊只能是變量,a+或a-不能放在二左邊二兩邊數(shù)據(jù)類型不同時(shí),以左邊的數(shù)據(jù)類型為準(zhǔn)二的優(yōu)先級(jí)僅高于逗號(hào)運(yùn)算符復(fù)合的賦值表達(dá)式中,將復(fù)合的賦值運(yùn)算符右邊的局部看作一個(gè)整體進(jìn)行處理(10)逗號(hào)表達(dá)式:運(yùn)算符重載為普通函數(shù)的方式和重載為友元函數(shù)的方式類似,但要注意類中數(shù)據(jù)成 員的訪問權(quán)限。雙目運(yùn)算符重載成友元函數(shù),需要兩個(gè)形參,第一個(gè)對(duì)應(yīng)左操作數(shù),第二個(gè)對(duì)應(yīng)右 操作數(shù);重載成成員函數(shù),需要一個(gè)形參,當(dāng)前對(duì)象為左操作數(shù),形參為右操作數(shù)單目運(yùn)算符重載成友元函數(shù),需要一個(gè)形參;

5、重載成成員函數(shù),不需形參要求掌握能重載的運(yùn)算符有+、-、+、-、*、/、+=、-二、*二、/=、 (插入運(yùn)算 符)、 (提取運(yùn)算符)重載+、-時(shí)注意如何區(qū)分前置和后置。運(yùn)算符重載的規(guī)那么:sizeof不允許重載=-()只能重載成成員函數(shù) 只能重載成友元函數(shù)運(yùn)算符重載不能改變運(yùn)算符的操作數(shù)個(gè)數(shù)、優(yōu)先級(jí)別、結(jié)合性(10)繼承和派生單一繼承、多重繼承公有派生、私有派生、保護(hù)派生(11)抽象類:不能創(chuàng)立對(duì)象,但可以作為基類構(gòu)造或析構(gòu)函數(shù)為protected的類含有純虛函數(shù)的類(12)優(yōu)先規(guī)那么(支配規(guī)那么)和賦值兼容性優(yōu)先規(guī)那么(支配規(guī)那么):派生類新增成員名與基類成員名相同時(shí),假設(shè)未用類名限定, 派

6、生類定義的成員名優(yōu)于基類中的同名成員賦值兼容性:派生類對(duì)象可以賦給基類對(duì)象,反之不可可將派生類對(duì)象的指針賦給基類型的指針變量派生類對(duì)象可以初始化基類型的引用通過基類指針(引用)只能訪問從相應(yīng)基類中繼承來(lái)的成員,不允許訪問派生 類中的新增成員。(13)虛基類:注意虛基類構(gòu)造函數(shù)的調(diào)用(14)多態(tài)性:編譯時(shí)多態(tài)性(函數(shù)重載或運(yùn)算符重載)和運(yùn)行時(shí)多態(tài)性(虛函數(shù)一類中的 非靜態(tài)成員函數(shù)可定義為虛函數(shù))運(yùn)行時(shí)的多態(tài)性觸發(fā)的條件:基類指針(引用)指向派生類,并通過基類指針(引用) 調(diào)用虛函數(shù),觸發(fā)多態(tài)性。補(bǔ)充:.C+程序從上機(jī)到得到結(jié)果的幾個(gè)操作步驟依次是編譯、運(yùn)行、編輯、連接。.能作為C+程序的基本單位

7、是函數(shù)。.在C+語(yǔ)言中,int型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是補(bǔ)碼。.從左往右依次計(jì)算各表達(dá)式,以最后二個(gè)表達(dá)式的值作為整仝逗號(hào)表達(dá)式的值。(11)強(qiáng)制類型轉(zhuǎn)換:(type)表達(dá)式 或 type (表達(dá)式)(12)優(yōu)先級(jí)順序:單目?jī)?yōu)于雙目,雙目?jī)?yōu)于三目,在此基礎(chǔ)上,算術(shù)一位移(插入、提?。┮魂P(guān)系一位一 邏輯一條件一賦值一逗號(hào)。(優(yōu)先級(jí)的序號(hào)越小,其優(yōu)先級(jí)越高)(13)自增(+),自減(-)運(yùn)算符誰(shuí)在前先做誰(shuí),只能對(duì)變量進(jìn)行+或-。a+或a-的結(jié)果可理解為表達(dá)式,+a或-a的結(jié)果可理解為變量。常與邏輯運(yùn)算的短路特性合在一起考查(14)數(shù)據(jù)的輸入和輸出:C+語(yǔ)言本身沒有輸入輸出語(yǔ)句。(P36)在輸入數(shù)據(jù)

8、的過程中,如果輸入的一行僅僅是一個(gè)回車時(shí),cin把該鍵作為空格處 理,仍等待輸入數(shù)據(jù)。需要注意的是,用cin輸入數(shù)據(jù)時(shí),實(shí)際輸入數(shù)據(jù)的個(gè)數(shù)、類型及順序,必須與dn中列舉的變量dn中列舉的變量對(duì)應(yīng),否那么輸入的數(shù)據(jù)不準(zhǔn)確列如:int b;char c=,x,;cinbc;coutbycendl;假設(shè)輸入堂,那么輸出的是二那么變量b的值為0,而變量c沒有獲得輸入的值,并使后面的cin無(wú)法正確提取數(shù) 據(jù)。(15)C+語(yǔ)言用非零值表示邏輯“真”值。Visual C+的基本語(yǔ)句(順序、選擇、循環(huán))(1)單項(xiàng)選擇語(yǔ)句:if (表達(dá)式) S表達(dá)式的值非0 (成立),那么執(zhí)行S;否那么,跳過S直接執(zhí)行后繼的語(yǔ)

9、句。(2)二選一語(yǔ)句:,if (表達(dá)式)S1; elseS2; *表達(dá)式可以是符合C+語(yǔ)法規(guī)那么的任一表達(dá)式*表達(dá)式非0 (成立),執(zhí)行S1;否那么執(zhí)行S2.(3)嵌套的條件語(yǔ)句:if (表達(dá)式1)S1;else if (表達(dá)式2)S2; else S; 注意:else和誰(shuí)配對(duì)?與最靠近它的且沒有else與之配對(duì)的if進(jìn)行配對(duì)(4)條件運(yùn)算符:?:表達(dá)式1?表達(dá)式2:表達(dá)式3表達(dá)式1成立,以表達(dá)式2的值為整個(gè)表達(dá)式的結(jié)果,否那么以表達(dá)式3的值為整個(gè)表 達(dá)式的結(jié)果(5)開關(guān)語(yǔ)句switch語(yǔ)句:switch (表達(dá)式)(case 常量表達(dá)式LSI; break;case 常量表達(dá)式2:S2; b

10、reak;default: S3;)例:int a=7;switch(a%5)case O:couta+;case 1 :cout+a;case 2:couta一;case 3:cout-a;default :couta;輸出的結(jié)果是755.你知道是為什么嗎?int k=0;char c=A;do switch (c+) 輸出的結(jié)果是4,但是你猜猜如果把c+改成+c結(jié)果會(huì)是什么呢,沒錯(cuò)就是2.啦啦啦case A :k+;break;case B :k一;case C :k+=2;break;case D :k=k%2;continue;case E :k=k*10;break;default:

11、k=k/3;k+;while(c,G);coutkendl;表達(dá)式和常量表達(dá)式的值只能是整型、字符型或枚舉型。根據(jù)表達(dá)式的值選一個(gè)對(duì)應(yīng)的常量表達(dá)式后的語(yǔ)句執(zhí)行,直到碰到break或switch 的結(jié)束default的位置沒有規(guī)定,但需考慮是否要添加breakif和switch使用的注意:前者可以表示連續(xù)的條件區(qū)間也可以表示離散的條件, 而后者只能表示離散的條件,因此,任一個(gè)switch結(jié)構(gòu)可以轉(zhuǎn)換成if結(jié)構(gòu),但反之不 行。當(dāng)用switch表示連續(xù)的條件時(shí)需設(shè)法將連續(xù)的條件轉(zhuǎn)換成離散的形式。(6)循環(huán)語(yǔ)句:while (表達(dá)式)s執(zhí)行過程:表達(dá)式非0做循環(huán)體S。循環(huán)體有可能一次也不被執(zhí)行。doS

12、while(表達(dá)式);(分號(hào)不可以忘)執(zhí)行過程:先執(zhí)行循環(huán)體S,再判斷表達(dá)式的值,非0繼續(xù)循環(huán)。循環(huán)體至少做一次 for (; ;表達(dá)式3S執(zhí)行過程:表達(dá)式1、2、3均可省略,假設(shè)省略,需在合適的位置進(jìn)行處理*三種循環(huán)可以相互轉(zhuǎn)換,不管用哪種循環(huán),一定要把握好循環(huán)條件(什么樣的情況 下循環(huán))、循環(huán)體(循環(huán)做什么)*不能出現(xiàn)死循環(huán)?。?) break continue 語(yǔ)句break一一跳出整個(gè)循環(huán),不再循環(huán)(結(jié)束該層的循環(huán))continue結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)3.函數(shù)C+源程序、目標(biāo)程序、可執(zhí)行程序的后綴名。(2)任何一個(gè)C+程序必須有一個(gè)且只能有一個(gè)main函數(shù)。(3)函數(shù)要先定義后

13、使用,假設(shè)先使用后定義需在使用前加函數(shù)原型說組(綠皮方P32.772) 列如:intf!1);此原型聲明即是對(duì)的。int f2(int=l,int);lkb原型聲明即是錯(cuò)的。(4)函數(shù)不能嵌套定義,但可以嵌套調(diào)用(遞歸)。(5)形式參數(shù)和實(shí)際參數(shù):在函數(shù)定義中,在參數(shù)表中一一列出的參數(shù)稱為形式參數(shù)(對(duì) 于函數(shù)體來(lái)說,它們是量、要在函數(shù)體中進(jìn)行處理的量,無(wú)需再重新定義);在函 數(shù)調(diào)用時(shí)依次列舉的參數(shù)稱為實(shí)際參數(shù)(傳遞給函數(shù)實(shí)際處理的值或量)。即當(dāng)調(diào)用函 數(shù)時(shí),實(shí)參和形參各占一個(gè)獨(dú)立的存儲(chǔ)單元。(6)函數(shù)的返回值:每個(gè)函數(shù)都可以有return語(yǔ)句。假設(shè)函數(shù)無(wú)返回值,那么可不寫return語(yǔ)句,或直

14、接寫“return;,假設(shè)函數(shù)有返回值,那么必 須有return語(yǔ)句。C+語(yǔ)言的函數(shù)中,return語(yǔ)句中的表達(dá)式的類型可以與函數(shù)的類型不一 致。一個(gè)return只能返回一個(gè)值,同一時(shí)刻只有一個(gè)return語(yǔ)句有效。(7)函數(shù)的調(diào)用:。各函數(shù)之間即允許直接遞歸調(diào)用,也允許間接遞歸調(diào)用)語(yǔ)句調(diào)用、表達(dá)式調(diào)用函數(shù)調(diào)用時(shí),實(shí)參和形參之間有傳值、傳址、引用三種不同的數(shù)據(jù)傳遞形式(8)標(biāo)識(shí)符的作用域:這里的標(biāo)識(shí)符其實(shí)包括了變量和常量,所謂作用域那么說明了標(biāo)識(shí)符能被使用的范 圍。作用域分為塊作用域、文件作用域、函數(shù)原型作用域、函數(shù)作用域、類作用域和命 名空間作用域塊作用域:在塊內(nèi)說明的標(biāo)識(shí)符,其作用域始于

15、標(biāo)識(shí)符的說明處,止于塊的結(jié)尾處。 只能在該塊內(nèi)引用。文件作用域:在所有函數(shù)之外定義的變量稱為全局變量。全局變量(標(biāo)識(shí)符)的作用 域。從定義位置開始到該源程序文件結(jié)束。也可通過extern將其作用域外延到包含它 的工程中的其它文件。同一塊內(nèi)不允許出現(xiàn)同名的局部變量,不同塊作用域內(nèi)允許,當(dāng)兩個(gè)塊重疊的情況 下出現(xiàn)局部變量重名,那么遵循“縣官不如現(xiàn)管”的原那么。局部變量和全局變量重名時(shí),也遵循“縣官不如現(xiàn)管”的原那么。此時(shí)假設(shè)想在同名的 局部變量作用域內(nèi)強(qiáng)制訪問該全局變量可通過域作用符(:)訪問(9)變量的存儲(chǔ)類型:auto、static extern register在C+語(yǔ)言中,函數(shù)的默認(rèn)存儲(chǔ)種

16、類是extern。在C+語(yǔ)言中,全局變量的默認(rèn)存儲(chǔ)種類是extern。auto類型的變量在程序運(yùn)行到定義處系統(tǒng)為之分配內(nèi)存,在其作用域完結(jié)處系統(tǒng)自動(dòng) 回收其存儲(chǔ)區(qū)域static類型的量分為static局部變量和static全局變量。兩者均在程序一運(yùn)行時(shí)系統(tǒng)就 為其分配內(nèi)存,但它們的作用域仍遵循各自的作用域特性,static局部變量會(huì)出現(xiàn)雖存 在但不能被訪問(不在作用域范圍內(nèi))的情況。用static修飾局部變量的時(shí),其初始化是在相關(guān)函數(shù)或語(yǔ)句塊第一次被執(zhí)行時(shí)完成的, 以后再執(zhí)行相關(guān)函數(shù)或語(yǔ)句時(shí)不再被執(zhí)行。在程序執(zhí)行期間,這些變量一直占用固定 的存儲(chǔ)空間,保持著最近一次的操作結(jié)果。在程序聲明的全局

17、變量總是靜態(tài)變量,其默認(rèn)值是Oo假設(shè)在聲明全局變量的時(shí)候加上 static,那么表示所聲明的變量?jī)H限根源程序文件內(nèi)使用。(10)內(nèi)聯(lián)函數(shù):(實(shí)質(zhì)是用存儲(chǔ)空間換取運(yùn)行時(shí)間)用inline說明。在編譯時(shí)將函數(shù)體嵌入到每個(gè)內(nèi)聯(lián)函數(shù)調(diào)用處,省去了函數(shù)調(diào)用時(shí)的參 數(shù)傳遞、系統(tǒng)棧的保護(hù)與恢復(fù)等的時(shí)間開銷,但增加了代碼(消耗了內(nèi)存空間)。(11)函數(shù)重載:判斷重載:同函數(shù)名,形參的個(gè)數(shù)或類型不同。(與函數(shù)的返回值無(wú)關(guān))(12)缺省參數(shù)值的函數(shù):在調(diào)用函數(shù)時(shí),假設(shè)明確給出了參數(shù)的值,那么使用相應(yīng)參數(shù)的值;假設(shè)沒有給出參數(shù)值, 那么使用缺省值。缺省值的給定需從最右邊的參數(shù)開始。(13) exit 和 retur

18、n 的使用4.數(shù)組(1)數(shù)組概念:數(shù)目固定、類型相同的假設(shè)干個(gè)變量的有序的集合。(2)數(shù)組定義:(數(shù)組的大小在編譯的時(shí)候必須確定,在程序執(zhí)行過程中不能改變,所以不 能用變量說明數(shù)組的大小。)一維數(shù)組的定義:數(shù)組名常量表達(dá)式;二維數(shù)組的定義:數(shù)據(jù)類型 數(shù)組名常量表達(dá)式1常量表達(dá)式2;二維數(shù)組在內(nèi)存中的存儲(chǔ):按行存放。a0ala2a009d0l,a02,(3)數(shù)組的初始化:初始化的數(shù)據(jù)個(gè)數(shù)不能超過定義的元素個(gè)數(shù)。假設(shè)是局部初始化,那么余下來(lái)元素的值根據(jù)類型,整型默認(rèn)為0,字符型為空二維數(shù)組的初始化:可以省略第一維的大小。例:int a口3= 123,4,5,6;數(shù)組(除字符數(shù)組外)不能被整體輸入或

19、整體輸出。不可以給數(shù)組做整體的賦值,字符數(shù)組也不可以。(3) 一維數(shù)組作為函數(shù)的參數(shù):假設(shè)一維數(shù)組做函數(shù)的形參,那么調(diào)用該函數(shù)時(shí),相應(yīng)的實(shí)參用數(shù)組名。傳遞給形參的是 實(shí)參數(shù)組所占內(nèi)存的起始位置值,這樣兩個(gè)數(shù)組就合用實(shí)參數(shù)組的內(nèi)存單元。(4)字符數(shù)組:元素是字符的數(shù)組。注意:字符數(shù)組中可以存放字符串也可以存放單純的 字符,是否是字符串,關(guān)鍵看有沒有0。字符數(shù)組初始化:charsl3=4c,/a/r,; char s24=6c,/a7r60,;char s2 口二“car”;/字符串后自動(dòng)加0char s2=ucaf,; 字符串后自動(dòng)加VT字符數(shù)組可以被整體輸入或輸出,例:char s20; ci

20、ns; coutsendl;(5)常用字符串處理函數(shù):#include strlenstrcpystrcatstrcmp strlwrstruprstrncmpstrncpystrstr對(duì)常見的函數(shù)的理解和記憶從這幾個(gè)方面:函數(shù)功能、函數(shù)名、函數(shù)參數(shù)、函數(shù)返回 值、一兩個(gè)實(shí)例.編譯預(yù)處理文件包含(#include)、宏定義(#define)條件編譯(#if)使用系統(tǒng)庫(kù)函數(shù),要進(jìn)行對(duì)應(yīng)的文件包含(注意。和“”兩者的區(qū)另IJ) 在宏替換時(shí),只作替換,不作運(yùn)算(尤其是帶參宏進(jìn)行替換時(shí))For example:#includeiostreamusing namespace std;#define T(

21、x,y) (x)(y)?(x):(y)void main()cout(10*T(2+4,5)endl;T/ze key: 5.結(jié)構(gòu)體類型(struct)共用體類型(union)枚舉類型(enum)(1)類型定義,系統(tǒng)對(duì)類型不會(huì)分配內(nèi)存單元,只會(huì)在用該類型定義某變量時(shí),給該變量 分配內(nèi)存單元。(2)注意區(qū)別結(jié)構(gòu)體類型和共用體類型。結(jié)構(gòu)體類型的變量的存儲(chǔ)字節(jié)數(shù)為所有分量的存 儲(chǔ)字節(jié)的和值,共用體類型變量的存儲(chǔ)字節(jié)數(shù)為其所有分量中最長(zhǎng)分量的存儲(chǔ)字節(jié)數(shù)。(3)枚舉類型中枚舉常量及對(duì)應(yīng)的整數(shù)值之間的關(guān)系,枚舉型變量的輸入和輸出。.指針對(duì)于指針的理解:可以把內(nèi)存里的每一個(gè)存儲(chǔ)單元想像成是一個(gè)抽屜,這個(gè)抽屜

22、是由假設(shè)干個(gè)固定大小的單位 (字節(jié))組成,抽屜里可以放蘋果(double) 桔子(int)、葡萄(char)等,抽屜有大有?。ㄒ?yàn)樘O果、桔 子、梨大小不一),具體多大,就看你想放什么每個(gè)抽屜都有一個(gè)鑰匙(指針),每個(gè)鑰匙有體積和性質(zhì)(兩個(gè)屬性。鑰匙的體積(值, 表現(xiàn)為地址編號(hào))都是一樣的,但性質(zhì)類型,表現(xiàn)為能開多大的抽屜,以什么樣的方式開) 不同,不同的鑰匙以不同的方式開不同的抽屜抽屜里可以放鑰匙,由于鑰匙的體積都是一樣的,所以,所有放鑰匙的抽屜大小肯定都是 一樣的,是4B到這里可以總結(jié)出來(lái),抽屜有兩種,放普通物品的和專門放鑰匙的。從倉(cāng)庫(kù)(內(nèi)存)拿出某個(gè)抽屜,給它起個(gè)名字用于放指定類型的東西(

23、蘋果、桔子、葡萄、 鑰匙,都有可能),就是定義一個(gè)變量(int i);如果上述定義的時(shí)候,指定存放的東西是鑰匙,那就是定義一個(gè)指針變量(int *ip) (ip 是存放鑰匙的抽屜的名字)可以通過抽屜的名字知道該抽屜的鑰匙(&i,獲得的是i的指針)ip=&i表示把ip指向i,即,通過ip抽屜里的鑰匙可以去開名字為i的抽屜注意,上一句話里只是描述了可以開,實(shí)際并沒有開,要想實(shí)際地去開,去取到i抽屜里 的東西或往i抽屜里放東西,需要用*ip,如*ip=10;表示把10放到i抽屜里。對(duì)于指針運(yùn)算的理解:對(duì)于鑰匙(指針),可以具體想像成是從左往右4個(gè)數(shù)字(每個(gè)數(shù)字由1B表示)組成的密 碼鎖,不同的數(shù)字組

24、合(指針的值)對(duì)應(yīng)為同類型(存放的東西類型相同)的不同(抽屜位 置不同)抽屜的鑰匙改變4個(gè)數(shù)字的組合,讓密碼鎖對(duì)應(yīng)到不同的抽屜,就是指針的運(yùn)算ip=ip+1,就是把ip變成緊靠其后的下一個(gè)同類型抽屜的鑰匙,變之前的抽屜和變之后的抽 屜位置是相鄰的??梢酝茝V到ip=ip+n;ip=ip-l,就是把ip變成緊靠其前的前一個(gè)同類型抽屜的鑰匙,變之前的抽屜和變之后的抽 屜位置是相鄰的??梢酝茝V到ip=ip-n;ip+n或ip-n呢? ip不變,只是相對(duì)說明其后(前)的第n個(gè)抽屜的鑰匙(1)其值為地址,其型為指針?biāo)复鎯?chǔ)單元占有的連續(xù)字節(jié)數(shù)(所指對(duì)象的數(shù)據(jù)類型)(2)常量指針、變量指針、函數(shù)指針(3)指

25、針的定義、初始化、賦值、int a,b,*p=&a,*q; q=&b;不同類型的指針變量所占內(nèi)在單元大小相同,即sizeof(char *)、sizeof(int*) sizeof(float*)的值相同,均為4(4)通過指針訪問變量:*p=100;(5)指針的運(yùn)算:算術(shù)運(yùn)算:p+、p-、+p、p p+i、p-i、p-q關(guān)系運(yùn)算:pq p=q*p+、*+p、(*p)+、*(p+)、+*p(6)指針和數(shù)組:#define N 100#define M 10int *pl,*p2N,(*p3)N;注意三者的區(qū)別指針和一維數(shù)組:int aN,*p=a;*(p+i)api6aip+ia+i&aip+0

26、指向。號(hào)元素,p+N-1指向最后一個(gè)元素指針和二維數(shù)組:int aMN,(*q)N=a;a+iap+i看到形如 * (指針+數(shù)值)就替換為指針數(shù)值(7)二級(jí)指針:指針的指針,理解就行(8)指向函數(shù)的指針:如 float (*fp)(int a,char b);(9)返回值為指針的函數(shù):字符串處理中常用到,拷貝、排序,new和delete (C+提供的運(yùn)算符)type* p=new type;type* p=new type(value); type* p=new typesize;delete p;delete p;delete sizep;(ID引用:定義引用時(shí)就必須初始化;引用類型和初始化

27、的變量類型必須相同;定義好引用后不 可再修改引用的指向;不能給常數(shù)定義引用const修飾指針(或引用):靠近誰(shuí)就const誰(shuí)float x,y;const float *p=&x;float * const q=&x;const float* const r=&x;float x,y;const float *p=&x;float * const q=&x;const float* const r=&x;*p二 100 錯(cuò),p=&y 對(duì) *q= 100 對(duì),q=&y 錯(cuò) /*r=100 錯(cuò)尸&y 錯(cuò)(13)鏈表:創(chuàng)立(頭節(jié)點(diǎn)插入、尾節(jié)點(diǎn)插入、有序插入)、讀取、刪除,在這些基本過程中均涉及到如何從一個(gè)節(jié)點(diǎn)移動(dòng)到下一個(gè)節(jié)點(diǎn)。8.類和對(duì)象(要注意區(qū)分兩者的概念)(1)面向?qū)ο?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論