




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.VisualC++的基本概念
(i)標(biāo)識(shí)符:
以字母、數(shù)字、下劃線組成的字符序列,第一個(gè)字符必須是字母或下劃線。
不能與關(guān)鍵字同名,且不含空格標(biāo)點(diǎn)符號(hào)和其他字符,同時(shí)區(qū)分大小寫(xiě)。
例:不正確的: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ù)類型
char之前還可以用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)制(以0開(kāi)頭)、十六進(jìn)制(0X(x)開(kāi)頭)三種形式;
實(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)義序列以“\”開(kāi)始,用數(shù)值描述時(shí)有\(zhòng)ddd和
\xhh兩種形式,即只能是一個(gè)八進(jìn)制或十六進(jìn)制的數(shù),取值范圍在0~255,且十六進(jìn)制
必須以x開(kāi)頭。
字符串型常量——用雙引號(hào)括起來(lái),存儲(chǔ)時(shí)系統(tǒng)默認(rèn)在結(jié)尾添加“\0”。區(qū)分sizeof(字
符串)和strlen(字符串)的值。
標(biāo)識(shí)符常量的定義----#definea4
常變量的定義----constinta=4;
注意標(biāo)識(shí)符常量和常變量?jī)烧叩漠愅c(diǎn)
(4)變量:
需遵循“先定義后使用,先賦值再操作”的原則。
(5)算術(shù)運(yùn)算符:(詳見(jiàn)書(shū),幾個(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)算符:!&&||
非0為真,用整數(shù)1表示,0為假。注意邏輯運(yùn)算表達(dá)式計(jì)算時(shí)的優(yōu)化問(wèn)題(短路特
性).
(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á)式:
從左往右依次計(jì)算各表達(dá)式,以最后一個(gè)表達(dá)式的值作為整個(gè)逗號(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)系一位一
邏輯一條件f賦值一逗號(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ǔ)言本身沒(méi)有輸入輸出語(yǔ)句。(P36)
在輸入數(shù)據(jù)的過(guò)程中,如果輸入的一行僅僅是一個(gè)回車時(shí),cin把該鍵作為空格處
理,仍等待輸入數(shù)據(jù)。
需要注意的是,用cin輸入數(shù)據(jù)時(shí),實(shí)際輸入數(shù)據(jù)的個(gè)數(shù)、類型及順序,必須與
eg中列舉的變量一一對(duì)應(yīng),否則輸入的數(shù)據(jù)不準(zhǔn)確。列如:
intb;
charc='x';
cin?b?c;
cout?b?','?c?endl;
若輸入宜,則輸出的是整
則變量b的值為0,而變量c沒(méi)有獲得輸入的值,并使后面的便n無(wú)法正確提取數(shù)
據(jù)。
(15)C++語(yǔ)言用非零值表示邏輯“真”值。
2.VisualC++的基本語(yǔ)句(順序、選擇、循環(huán))
(1)單選語(yǔ)句:
if(表達(dá)式)S
表達(dá)式的值非0(成立),則執(zhí)行S;否則,跳過(guò)S直接執(zhí)行后繼的語(yǔ)句。
(2)二選一語(yǔ)句:
if(表達(dá)式)
{S1;}
else
{S2;}
*表達(dá)式可以是符合C++語(yǔ)法規(guī)則的任一表達(dá)式
*表達(dá)式非0(成立),執(zhí)行S1;否則執(zhí)行S2.
(3)嵌套的條件語(yǔ)句:
if(表達(dá)式1)
{S1;}
elseif(表達(dá)式2)
{S2;}
else
{S;}
注意:else和誰(shuí)配對(duì)?與最靠近它的且沒(méi)有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)開(kāi)關(guān)語(yǔ)句switch語(yǔ)句:
switch(表達(dá)式)
(
case常量表達(dá)式1:SI;break;
case常量表達(dá)式2:S2;break;
default:S3;
}
例:inta=7;
switch(a%5)
{caseO:cout?a++;
casel:cout?++a;
case2:cout?a―;
case3:cout?-a;
default:cout?a;}輸出的結(jié)果是755.你知道是為什么嗎?
intk=0;
charc=,A';
do{
switch(C++),輸出的結(jié)果是4,但是你猜猜如果把c++改成++c結(jié)果會(huì)是什么呢,
沒(méi)錯(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:k=k/3;}k++;
}while(c<JG');
cout?k?endl;
*表達(dá)式和常量表達(dá)式的值只能是整型、字符型或枚舉型。
*根據(jù)表達(dá)式的值選一個(gè)對(duì)應(yīng)的常量表達(dá)式后的語(yǔ)句執(zhí)行,直到碰到break或switch
的}結(jié)束
*default的位置沒(méi)有規(guī)定,但需考慮是否要添加break
*if和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í)行過(guò)程:表達(dá)式非0做循環(huán)體S。循環(huán)體有可能一次也不被執(zhí)行。
do{
while(表達(dá)式);(分號(hào)不可以忘)
執(zhí)行過(guò)程:先執(zhí)行循環(huán)體S,再判斷表達(dá)式的值,非。繼續(xù)循環(huán)。循環(huán)體至少做一次
for((表達(dá)式1>《表達(dá)式2>;<表達(dá)式3?S
執(zhí)行過(guò)程:
|計(jì)算表達(dá)式
表達(dá)式1、2、3均可省略,若省略,需在合適的位置進(jìn)行處理
*三種循環(huán)可以相互轉(zhuǎn)換,不管用哪種循環(huán),一定要把握好循環(huán)條件(什么樣的情況
下循環(huán))、循環(huán)體(循環(huán)做什么)
*不能出現(xiàn)死循環(huán)!
(7)break、continue語(yǔ)句
break一一跳出整個(gè)循環(huán),不再循環(huán)(結(jié)束該層的循環(huán))
continue-----結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)
3.函數(shù)
(1)C++源程序、目標(biāo)程序、可執(zhí)行程序的后綴名。
(2)任何一個(gè)C++程序必須有一個(gè)且只能有一個(gè)main函數(shù)。
(3)函數(shù)要先定義后使用,若先使用后定義需在使用前加函數(shù)廢室說(shuō)密?〈綠史分p32.772)
列如:int此原型聲明即是對(duì)的。
intf2(int=l,int);此原型聲明即是錯(cuò)的。
(4)函數(shù)不能嵌套定義,但可以嵌套調(diào)用(遞歸)。
(5)形式參數(shù)和實(shí)際參數(shù):在函數(shù)定義中,在參數(shù)表中一一列出的參數(shù)稱為形式參數(shù)(對(duì)
于函數(shù)體來(lái)說(shuō),它們是已知量、要在函數(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ù)無(wú)返回值,則可不寫(xiě)return語(yǔ)句,或直接寫(xiě)“return;",若函數(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í)包括了變量和常量,所謂作用域則說(shuō)明了標(biāo)識(shí)符能被使用的范
圍。
*作用域分為塊作用域、文件作用域、函數(shù)原型作用域、函數(shù)作用域、類作用域和命
名空間作用域
*塊作用域:在塊內(nèi)說(shuō)明的標(biāo)識(shí)符,其作用域始于標(biāo)識(shí)符的說(shuō)明處,止于塊的結(jié)尾處。
只能在該塊內(nèi)引用。
*文件作用域:在所有函數(shù)之外定義的變量稱為全局變量。全局變量(標(biāo)識(shí)符)的作用
域。從定義位置開(kāi)始到該源程序文件結(jié)束。也可通過(guò)extern將其作用域外延到包含它
的工程中的其它文件。
*同一塊內(nèi)不允許出現(xiàn)同名的局部變量,不同塊作用域內(nèi)允許,當(dāng)兩個(gè)塊重疊的情況
下出現(xiàn)局部變量重名,則遵循“縣官不如現(xiàn)管”的原則。
*局部變量和全局變量重名時(shí),也遵循“縣官不如現(xiàn)管”的原則。此時(shí)若想在同名的
局部變量作用域內(nèi)強(qiáng)制訪問(wèn)該全局變量可通過(guò)域作用符(::)訪問(wèn)
(9)變量的存儲(chǔ)類型:auto、static>extern,register
在C++語(yǔ)言中,函數(shù)的默認(rèn)存儲(chǔ)種類是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)雖存
在但不能被訪問(wèn)(不在作用域范圍內(nèi))的情況。
用static修飾局部變量的時(shí),其初始化是在相關(guān)函數(shù)或語(yǔ)句塊第一次被執(zhí)行時(shí)完成的,
以后再執(zhí)行相關(guān)函數(shù)或語(yǔ)句時(shí)不再被執(zhí)行。在程序執(zhí)行期間,這些變量一直占用固定
的存儲(chǔ)空間,保持著最近一次的操作結(jié)果。
在程序聲明的全局變量總是靜態(tài)變量,其默認(rèn)值是0。若在聲明全局變量的時(shí)候加上
static,則表示所聲明的變量?jī)H限本源程序文件內(nèi)使用。
(10)內(nèi)聯(lián)函數(shù):(實(shí)質(zhì)是用存儲(chǔ)空間換取運(yùn)行時(shí)間)
用inline說(shuō)明。在編譯時(shí)將函數(shù)體嵌入到每個(gè)內(nèi)聯(lián)函數(shù)調(diào)用處,省去了函數(shù)調(diào)用時(shí)的參
數(shù)傳遞、系統(tǒng)棧的保護(hù)與恢復(fù)等的時(shí)間開(kāi)銷,但增加了代碼(消耗了內(nèi)存空間)。
(11)函數(shù)重載:
判斷重載:同函數(shù)名,形參的個(gè)數(shù)或類型不同。(與函數(shù)的返回值無(wú)關(guān))
(12)缺省參數(shù)值的函數(shù):
在調(diào)用函數(shù)時(shí),若明確給出了參數(shù)的值,則使用相應(yīng)參數(shù)的值;若沒(méi)有給出參數(shù)值,
則使用缺省值。
缺省值的給定需從最右邊的參數(shù)開(kāi)始。
(13)exit和return的使用
4.數(shù)組
(1)數(shù)組概念:數(shù)目固定、類型相同的若干個(gè)變量的有序的集合。
(2)數(shù)組定義:(數(shù)組的大小在編譯的時(shí)候必須確定,在程序執(zhí)行過(guò)程中不能改變,所以不
能用變量說(shuō)明數(shù)組的大小。)
一維數(shù)組的定義:數(shù)組名[常量表達(dá)式];
二維數(shù)組的定義:數(shù)據(jù)類型數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];
二維數(shù)組在內(nèi)存中的存儲(chǔ):按行存放。
a[0]a[O][0]^feTmx3]
a[l]a[]
a[2]a[2再⑵⑴再⑵⑵間21⑶
(3)數(shù)組的初始化:
初始化的數(shù)據(jù)個(gè)數(shù)不能超過(guò)定義的元素個(gè)數(shù)。
若是部分初始化,則余下來(lái)元素的值根據(jù)類型,整型默認(rèn)為0,字符型為空……
二維數(shù)組的初始化:可以省略第一維的大小。例:inta[][3]={1,23,4,5,6);
數(shù)組(除字符數(shù)組外)不能被整體輸入或整體輸出。
不可以給數(shù)組做整體的賦值,字符數(shù)組也不可以。
(3)一維數(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)鍵看有沒(méi)有W。
字符數(shù)組初始化:
charsi[3]={七,H,T};chars2[4]={'c','a',T,'\0'};
chars2[]={"car”};〃字符串后自動(dòng)加'O'
chars2[]="car";//字符串后自動(dòng)加''0'
字符數(shù)組可以被整體輸入或輸出,例:chars[20];cin?s;cout?s?endl;
(5)常用字符串處理函數(shù):#include<string.h>
strlenstrcpystrcatstrcmpstrlwr
struprstrncmpstrncpystrstr
對(duì)常見(jiàn)的函數(shù)的理解和記憶從這幾個(gè)方面:函數(shù)功能、函數(shù)名、函數(shù)參數(shù)、函數(shù)返回
值、一兩個(gè)實(shí)例
5.編譯預(yù)處理
文件包含(include)、宏定義(#define)、條件編譯(#if.......)
使用系統(tǒng)庫(kù)函數(shù),要進(jìn)行對(duì)應(yīng)的文件包含(注意<>和“”兩者的區(qū)別)
在宏替換時(shí),只作替換,不作運(yùn)算(尤其是帶參宏進(jìn)行替換時(shí))
Forexample:
#include<iostream>
usingnamespacestd;
#defineT(x,y)(x)<(y)?(x):(y)
voidmain()
{cout?(10*T(2+4.l5))?endl:}T/gekey:5.
6.結(jié)構(gòu)體類型(struct)、共用體類型(union)>枚舉類型(enum)
(i)類型定義,系統(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)系,枚舉型變量的輸入和輸出。
7.指針
對(duì)于指針的理解:
@可以把內(nèi)存里的每一個(gè)存儲(chǔ)單元想像成是一個(gè)抽屜,這個(gè)抽屜是由若干個(gè)固定大小的單位
(字節(jié))組成,
?抽屜里可以放蘋(píng)果(double),桔子(int)、葡萄(char)等,抽屜有大有?。ㄒ?yàn)樘O(píng)果、桔
子、梨大小不一),具體多大,就看你想放什么
@每個(gè)抽屜都有一個(gè)鑰匙(指針),每個(gè)鑰匙有體積和性質(zhì)(兩個(gè)屬性。鑰匙的體積(值,
表現(xiàn)為地址編號(hào))都是一樣的,但性質(zhì)類型,表現(xiàn)為能開(kāi)多大的抽屜,以什么樣的方式開(kāi))
不同,不同的鑰匙以不同的方式開(kāi)不同的抽屜
@抽屜里可以放鑰匙,由于鑰匙的體積都是一樣的,所以,所有放鑰匙的抽屜大小肯定都是
一樣的,是4B
回到這里可以總結(jié)出來(lái),抽屜有兩種,放普通物品的和專門放鑰匙的。
@從倉(cāng)庫(kù)(內(nèi)存)拿出某個(gè)抽屜,給它起個(gè)名字用于放指定類型的東西(蘋(píng)果、桔子、葡萄、
鑰匙,都有可能),就是定義一個(gè)變量(inti);
@如果上述定義的時(shí)候,指定存放的東西是鑰匙,那就是定義一個(gè)指針變量(int*ip)(ip
是存放鑰匙的抽屜的名字)
@可以通過(guò)抽屜的名字知道該抽屜的鑰匙(&i,獲得的是i的指針)
@ip=&i表示把ip指向i,即,通過(guò)ip抽屜里的鑰匙可以去開(kāi)名字為i的抽屜
@注意,上一句話里只是描述了可以開(kāi),實(shí)際并沒(méi)有開(kāi),要想實(shí)際地去開(kāi),去取到i抽屜里
的東西或往i抽屜里放東西,需要用*ip,如*ip=10;表示把10放到i抽屜里。
對(duì)于指針運(yùn)算的理解:
@對(duì)于鑰匙(指針),可以具體想像成是從左往右4個(gè)數(shù)字(每個(gè)數(shù)字由1B表示)組成的密
碼鎖,不同的數(shù)字組合(指針的值)對(duì)應(yīng)為同類型(存放的東西類型相同)的不同(抽屜位
置不同)抽屜的鑰匙
回改變4個(gè)數(shù)字的組合,讓密碼鎖對(duì)應(yīng)到不同的抽屜,就是指針的運(yùn)算
@ip=ip+l,就是把ip變成緊靠其后的下一個(gè)同類型抽屜的鑰匙,變之前的抽屜和變之后的抽
屜位置是相鄰的??梢酝茝V到ip=ip+n;
@ip=ip-l,就是把ip變成緊靠其前的前一個(gè)同類型抽屜的鑰匙,變之前的抽屜和變之后的抽
屜位置是相鄰的??梢酝茝V到ip=ip-n;
@ip+n或ip-n呢?ip不變,只是相對(duì)說(shuō)明其后(前)的第n個(gè)抽屜的鑰匙
(1)其值為地址,其型為指針?biāo)复鎯?chǔ)單元占有的連續(xù)字節(jié)數(shù)(所指對(duì)象的數(shù)據(jù)類型)
(2)常量指針、變量指針、函數(shù)指針
(3)指針的定義、初始化、賦值、
inta,b,*p=&a,*q;q=&b;
不同類型的指針變量所占內(nèi)在單元大小相同,即sizeof(char*)、sizeof(int*)>
sizeof(float*).......的值相同,均為4
(4)通過(guò)指針訪問(wèn)變量:*p=100;
(5)指針的運(yùn)算:
算術(shù)運(yùn)算:p++、p--、++p、—p、p+i、p-i>p-q
關(guān)系運(yùn)算:p>q、p==q.......
*p++、*++p、(*p)++、*(p++)、++*p
(6)指針和數(shù)組:
#defineN100
#defineM10
?int*pl,*p2[N],(*p3)[N];注意三者的區(qū)別
?指針和一維數(shù)組:
inta[N],*p=a;
*(p+i)gp「]姬a[i]p+i^a+i^&afi]
p+0指向0號(hào)元素,p+N-1指向最后一個(gè)元素
?指針和二維數(shù)組:
inta[M][N],(*q)[N]=a;
a[i皿O*(q[i]+j)O*(*(q+i)+j)O(*(q+i))(j]0磯訕]
a+i0p+i
?看到形如*(指針+數(shù)值)就替換為指針[數(shù)值]
(7)二級(jí)指針:指針的指針,理解就行
(8)指向函數(shù)的指針:如float(*fp)(inta,charb);
(9)返回值為指針的函數(shù):字符串處理中常用到,拷貝、排序……
(10)new和delete(C++提供的運(yùn)算符)
type*p=newtype;type*p=newtype(value);type*p=newtype[size];
deletep;delete[]p;delete[size]p;
(11)引用:
定義引用時(shí)就必須初始化;引用類型和初始化的變量類型必須相同;定義好引用后不
可再修改引用的指向;不能給常數(shù)定義引用
(12)const修飾指針(或引用):
靠近誰(shuí)就const誰(shuí)
floatx,y;
constfloat*p=&x;〃*p=100錯(cuò),p=&y對(duì)
float*constq=&x;〃*q=100對(duì),q=&y錯(cuò)
constfloat*constr=&x;//*r=100錯(cuò),尸&y錯(cuò)
(13)鏈表:創(chuàng)建(頭節(jié)點(diǎn)插入、尾節(jié)點(diǎn)插入、有序插入)、讀取、刪除,在這些基本過(guò)程
中均涉及到如何從一個(gè)節(jié)點(diǎn)移動(dòng)到下一個(gè)節(jié)點(diǎn)。
8.類和對(duì)象(要注意區(qū)分兩者的概念)
(1)面向?qū)ο蟮奶攸c(diǎn):封裝、繼承、多態(tài)
(2)定義:
?以class開(kāi)頭,以分號(hào)結(jié)尾。類是數(shù)據(jù)類型,對(duì)象是變量,只是名字不同而已。
?數(shù)據(jù)成員和成員函數(shù)
?public>private、protected(區(qū)別)
(3)構(gòu)造函數(shù)
?主要用于初始化數(shù)據(jù)成員,創(chuàng)建對(duì)象時(shí)被調(diào)用,形如:類名(參數(shù)){……}
?無(wú)返回值,每個(gè)類都有,自己不定義則系統(tǒng)給一個(gè)默認(rèn)的,自己定義了系統(tǒng)就不給
默認(rèn)的。默認(rèn)的形如:類名(){}
?可以重載
?常值數(shù)據(jù)成員、對(duì)象成員、從基類繼承來(lái)的數(shù)據(jù)成員等特殊成員的初始化必須采用
初始化表。
?單參構(gòu)造函數(shù)可完成類型轉(zhuǎn)換功能。
?構(gòu)造函數(shù)的調(diào)用順序:
■規(guī)則一:對(duì)象的創(chuàng)建按定義的先后順序
■規(guī)則二:含對(duì)象成員的類,先對(duì)象成員(多個(gè)時(shí)按定義順序)后類自己
■規(guī)則三:先基類再派生類,有多個(gè)基類時(shí)按派生順序。
■規(guī)則四:有虛基類時(shí),按虛基類、基類、派生類的順序
?復(fù)制構(gòu)造函數(shù)(拷貝構(gòu)造函數(shù)):
在以下情況被調(diào)用
■一個(gè)對(duì)象以值傳的方式傳入函數(shù)體
■一個(gè)對(duì)■象以值傳的方式傳出函數(shù)體(return)
■一個(gè)對(duì)象需通過(guò)另一對(duì)象進(jìn)行初始化
(4)析構(gòu)函數(shù):
?對(duì)象生存期結(jié)束時(shí)由系統(tǒng)自動(dòng)調(diào)用,形如:~類名(){……}
?無(wú)返回值,每個(gè)類都有,不可以重載,可以定義為虛函數(shù)
?析構(gòu)函數(shù)的調(diào)用順序:與構(gòu)造函數(shù)相反
(5)內(nèi)聯(lián)成員函數(shù):默認(rèn)在類定義中實(shí)現(xiàn)的成員函數(shù)為內(nèi)聯(lián)的,要在類外對(duì)成員函數(shù)進(jìn)行
實(shí)現(xiàn),并定義為內(nèi)聯(lián)的函數(shù),需加關(guān)鍵字inline
(6)友元:分為友元函數(shù)和友元類,以破壞類的封裝性來(lái)?yè)Q取訪問(wèn)的效率。
友元函數(shù):不是類的成員函數(shù),加friend關(guān)鍵字,不帶this指針,但可以直接訪問(wèn)類中
的所有成員。
(7)靜態(tài)成員:靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),沒(méi)有this指針
?靜態(tài)數(shù)據(jù)成員:所有的類對(duì)象共享靜態(tài)數(shù)據(jù)成員
?靜態(tài)成員函數(shù):只能直接訪問(wèn)該類的靜態(tài)數(shù)據(jù)成員,不能直接訪問(wèn)非靜態(tài)數(shù)據(jù)成員。
(8)const對(duì)象和const成員函數(shù):
?
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit2 Topic3 教學(xué)設(shè)計(jì) 2024-2025學(xué)年仁愛(ài)科普版八年級(jí)英語(yǔ)上冊(cè)
- 序言 物理學(xué):研究物質(zhì)及其運(yùn)動(dòng)規(guī)律的科學(xué) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一上學(xué)期物理人教版(2019)必修第一冊(cè)
- 5《我們的校園》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 信息技術(shù)與數(shù)學(xué)學(xué)科的融合教學(xué)-用Python作二次函數(shù)圖像教學(xué)設(shè)計(jì)2024-2025學(xué)年人教版九年級(jí)上冊(cè)第22章
- Unit3 Learning Lesson 4(教學(xué)設(shè)計(jì))-2024-2025學(xué)年北師大版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 粵教版高中信息技術(shù)選修1教學(xué)設(shè)計(jì)-2.1.1 VB語(yǔ)言概述
- 中國(guó)全不銹鋼污物車項(xiàng)目投資可行性研究報(bào)告
- 2025年高光純黑色漿項(xiàng)目投資可行性研究分析報(bào)告
- 辦公樓裝修改造項(xiàng)目資金來(lái)源
- Unit 1 Make friends Part C Reading time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 5000只淮山羊和波爾山羊雜交良種養(yǎng)殖場(chǎng)建設(shè)項(xiàng)目可行性研究報(bào)告
- GB/T 5534-2008動(dòng)植物油脂皂化值的測(cè)定
- GB/T 12771-2019流體輸送用不銹鋼焊接鋼管
- 測(cè)量管理體系內(nèi)審檢查表
- 工程驗(yàn)收及移交管理方案
- 心臟手術(shù)麻醉的一般流程課件
- 圖片編輯概述課件
- 2023年岳陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試筆試題庫(kù)及答案解析
- 信號(hào)與系統(tǒng)復(fù)習(xí)題及答案
- 北師大版八年級(jí)數(shù)學(xué)上冊(cè)《認(rèn)識(shí)無(wú)理數(shù)(第2課時(shí))》參考課件2
- 中級(jí)建構(gòu)筑物消防員理論綜合模擬題01原題
評(píng)論
0/150
提交評(píng)論