- 相關(guān)推薦
計(jì)算機(jī)二級C++考點(diǎn):基本控制結(jié)構(gòu)
大家在為計(jì)算機(jī)二級考試做完基本的復(fù)習(xí)之后,接下來就是著重復(fù)習(xí)計(jì)算機(jī)二級的考點(diǎn)了,下面就是小編跟大家分享計(jì)算機(jī)二級C++考點(diǎn)基本控制結(jié)構(gòu),歡迎大家閱讀!
1C++語句
C++語句按照不同功能大體分為6種類型,它們是:
(1)聲明語句:用于對程序中的各種實(shí)體進(jìn)行聲明、定義及初始化。
(2)表達(dá)式語句:用于對程序中的數(shù)據(jù)進(jìn)行具體操作和處理。
(3)選擇語句:用于實(shí)現(xiàn)程序的選擇結(jié)構(gòu)。
(4)循環(huán)語句:用于實(shí)現(xiàn)程序的循環(huán)結(jié)構(gòu)。
(5)跳轉(zhuǎn)語句:用于實(shí)現(xiàn)程序執(zhí)行流程的轉(zhuǎn)移。
(6)復(fù)合語句:用于表示程序中的語句塊概念。
應(yīng)當(dāng)指出的是,C++中并不存在賦值語句和函數(shù)調(diào)用語句,賦值和函數(shù)調(diào)用都屬于表達(dá)式而不是語句。
2順序結(jié)構(gòu)
1聲明語句
聲明語句又稱為說明語句,它可以用來對程序中出現(xiàn)的各種名稱進(jìn)行聲明。這些名稱通常是表示變量、常量、函數(shù)、結(jié)構(gòu)、類、對象等實(shí)體的標(biāo)識符。在C++程序中,一個(gè)名稱在使用之前必須先被聲明。聲明的目的是告訴編譯器某個(gè)名稱所指代的實(shí)體類型。使用聲明語句能夠在程序中進(jìn)行如下操作:
(1)變量聲明
(2)常量聲明
(3)函數(shù)聲明
(4)類型聲明
聲明語句可以完成的工作不僅局限于為名稱指定類型,同時(shí)也是定義語句。
另外,使用聲明語句還可以在定義變量時(shí)對其進(jìn)行初始化。
2表達(dá)式語句
C++中所有對數(shù)據(jù)的操作和處理工作都是通過表達(dá)式語句來完成的。表達(dá)式語句的語法格式為:
。急磉_(dá)式>;
(1)賦值操作。
(2)復(fù)合賦值操作。
(3)增量、減量操作。
(4)函數(shù)調(diào)用操作。
(5)輸入輸出操作。
3基本輸入輸出
一個(gè)程序通常會(huì)向用戶輸出一些信息,一般也會(huì)要求用戶輸入一些信息。C++程序的輸入輸出操作是通過標(biāo)準(zhǔn)庫中的輸入/輸出流對象來完成的。
在頭文件iostream中定義了代表屏幕的標(biāo)準(zhǔn)輸出流對象cout和代表鍵盤的標(biāo)準(zhǔn)輸入流對象cin。cin和cout具有強(qiáng)大的輸入輸出功能和極為靈活的用法。在程序中使用cin和cout之前,應(yīng)首先加入預(yù)處理命令:#include<iostream>,以包含標(biāo)準(zhǔn)頭文件iostream。
使用cout進(jìn)行數(shù)據(jù)輸出操作的一般格式為:
cout<<Expr;
這是一條表達(dá)式語句。其中,Expr代表一個(gè)表達(dá)式;“<<”稱為插入運(yùn)算符。整條語句的含義是:將表達(dá)式Expr的值輸出(顯示)到屏幕上當(dāng)前光標(biāo)所在位置。
4復(fù)合語句和空語句
復(fù)合語句又稱為塊語句,它是用一對花括號“{}”將若干條語句包圍起來而組成的一條語句,其語法格式為:
。
<語句1>
。颊Z句2>
…
<語句n>
。
其中,<語句i>(i=1,2…,n)可以是聲明語句、表達(dá)式語句、選擇語句、循環(huán)語句或跳轉(zhuǎn)語句等任何合法的C++語句,當(dāng)然,也可以是一個(gè)復(fù)合語句。分隔符“{”和“}”的作用是把若干條語句組成的序列包圍起來,使它們在邏輯上成為一條語句。復(fù)合語句可以出現(xiàn)在程序中任何需要語句的地方,但在通常情況下復(fù)合語句可以作為以下成分出現(xiàn)在程序中。
(1)函數(shù)的函數(shù)體;
(2)循環(huán)語句的循環(huán)體;
(3)if語句的分支;
(4)switch語句的執(zhí)行部分。
實(shí)際上,空語句是一種特殊的表達(dá)式語句。其語法格式為:
;即空語句只由一個(gè)分號組成。
3選擇結(jié)構(gòu)
1語句
if語句又稱為條件語句,它是程序設(shè)計(jì)語言中最常見的一種選擇語句。
(1)基本if語句
基本if語句的功能是根據(jù)給定條件是否成立來決定要不要執(zhí)行一條語句或語句塊,它的語法格式如下:
if(<條件>)<語句>
其中,if為關(guān)鍵字;<條件>通常是一個(gè)表達(dá)式且必須用圓括號包圍起來;<語句>稱為if子句,它可以是任何類型的語句(包括復(fù)合語句和空語句)。
基本if語句的執(zhí)行過程是:首先計(jì)算<條件>的值,如果此值不為0(“真”),則執(zhí)行<語句>;如果此值為0(“假”),則忽略<語句>(即不執(zhí)行)而繼續(xù)執(zhí)行if語句之后的下一條語句。
說明:
、貱++中規(guī)定:如果<條件>是一個(gè)表達(dá)式,則當(dāng)此表達(dá)式的值不為0時(shí),條件結(jié)果為“真”;只有當(dāng)此表達(dá)式的值為0時(shí),條件結(jié)果才為“假”。
②<條件>也可以是一條聲明語句,其中必須定義一個(gè)變量并對它進(jìn)行初始化。這時(shí),若此變量的值不為0,則條件結(jié)果為“真”;若此變量的值為0,則條件結(jié)果為“假”。
(2)if…else語句
if…else語句是基本if語句的擴(kuò)展,其功能是根據(jù)給定條件是否成立來決定執(zhí)行兩部分語句中的哪一部分,其語法格式如下:
if(<條件>)
。颊Z句1>
else
。颊Z句2>
其中,if和else為關(guān)鍵字;<語句1>稱為if子句,<語句2>稱為else子句,它們可以是單條語句或復(fù)合語句。
if…else語句的執(zhí)行過程是:首先計(jì)算<條件>的值,如果此值不為0(“真”),則執(zhí)行<語句1>,然后忽略<語句2>而去執(zhí)行if語句之后的下一條語句;如果此值為0(“假”),則忽略<語句1>,執(zhí)行<語句2>,然后繼續(xù)執(zhí)行if語句之后的下一條語句。
(3)if語句的嵌套
if子句和else子句可以是任何類型的C++語句,當(dāng)然也可以是if…else語句本身。通常將這種情況稱為if語句的嵌套。
2switch
switch語句又稱為開關(guān)語句,它也是一種選擇語句。switch語句的功能是根據(jù)給定表達(dá)式的不同取值來決定從多個(gè)語句序列中的哪一個(gè)開始執(zhí)行,其語法格式如下:
switch(<表達(dá)式>){
case<常量表達(dá)式1>:
。颊Z句序列1>
case<常量表達(dá)式2>:
。颊Z句序列2>
…
case<常量表達(dá)式n>:
。颊Z句序列n>
default:
<語句序列n+1>
。
其中,switch,case和default為關(guān)鍵字;<表達(dá)式>的值必須屬于整型、字符型或枚舉型。<常量表達(dá)式i>(i=1,2…n)是取值互不相同的整型常量、字符常量或枚舉常量,其具體類型應(yīng)與<表達(dá)式>的值相一致。<語句序列i>(i=1,2…n,n+1)可以是任意多條語句。
switch語句的執(zhí)行過程是:
(1)首先計(jì)算出<表達(dá)式>的值,設(shè)此值為E;
(2)然后計(jì)算每個(gè)<常量表達(dá)式i>的值,設(shè)它們分別為C1,C2,…,Cn;
(3)將E依次與C1,C2,…,Cn進(jìn)行比較。如果E與某個(gè)值相等,則從該值所在的case標(biāo)號語句開始執(zhí)行各個(gè)語句序列,在不出現(xiàn)跳轉(zhuǎn)語句的情況下,將一直執(zhí)行到switch語句結(jié)束!
(4)如果E與所有值都不相等且存在default標(biāo)號,則從default標(biāo)號語句起開始向下執(zhí)行,直到switch語句結(jié)束(同樣,在不出現(xiàn)跳轉(zhuǎn)語句的情況下)。
(5)如果E與所有值都不相等且不存在default標(biāo)號,則switch語句不會(huì)執(zhí)行任何操作。
說明:
(1)多個(gè)case標(biāo)號可以共用一組語句序列,以實(shí)現(xiàn)對于幾個(gè)常量值都執(zhí)行同一操作。
(2)default標(biāo)號語句是可選的。當(dāng)default不出現(xiàn)時(shí),如果<表達(dá)式>的值與所有<常量表達(dá)式i>(i=1,2…n)的值都不相等,則程序執(zhí)行流程會(huì)跳過switch語句。
(3)switch語句是可以嵌套的。case和default標(biāo)號只與包含它們的最內(nèi)層的switch組合在一起。
(4)當(dāng)需要針對表達(dá)式的不同取值范圍進(jìn)行不同處理時(shí),使用if…else…if階梯結(jié)構(gòu)比較方便。因?yàn)閟witch語句只能對相等關(guān)系進(jìn)行測試,而if語句卻可以用關(guān)系表達(dá)式對一個(gè)較大范圍內(nèi)的值進(jìn)行測試。
4循環(huán)結(jié)構(gòu)
1for語句
for語句是C++中最常用且功能最強(qiáng)的循環(huán)語句,其語法格式如下:
for(<表達(dá)式1>;<表達(dá)式2>;<表達(dá)式3>)
<語句>
其中,for為關(guān)鍵字;<表達(dá)式1>是for循環(huán)的初始化部分,它一般用來設(shè)置循環(huán)控制變量的初始值;<表達(dá)式2>是for循環(huán)的條件部分,它是用來判定循環(huán)是否繼續(xù)進(jìn)行的條件;<表達(dá)式3>是for循環(huán)的增量部分,它一般用于修改循環(huán)控制變量的值;<語句>稱為for循環(huán)的循環(huán)體,它是要被重復(fù)執(zhí)行的代碼行,for循環(huán)體可以是單條語句,也可以是由花括號包圍起來的復(fù)合語句。
for語句的執(zhí)行過程是:
(1)計(jì)算<表達(dá)式1>的值;
(2)計(jì)算<表達(dá)式2>的值,如果此值不等于0(即循環(huán)條件為“真”),則轉(zhuǎn)向步驟(3);如果此值等于0(即循環(huán)條件為“假”),則轉(zhuǎn)向步驟(5);
(3)執(zhí)行一遍循環(huán)體<語句>:
(4)計(jì)算<表達(dá)式3>的值,然后轉(zhuǎn)向步驟(2);
(5)結(jié)束for循環(huán)。
C++中for語句的書寫格式非常靈活,這主要表現(xiàn)為:
(1)<表達(dá)式1>可以是變量聲明語句,即循環(huán)控制變量可在其中定義。
(2)<表達(dá)式1>可以省略。這時(shí),應(yīng)在for語句之前給循環(huán)控制變量賦初始值。注意:省略<表達(dá)式1>時(shí),其后的分號不能省略。
(3)<表達(dá)式2>可以省略。這時(shí),for語句將不再判斷循環(huán)條件,循環(huán)會(huì)無限次地執(zhí)行下去。這種情況通常稱為“死循環(huán)”。
(4)<表達(dá)式3>可以省略。這時(shí),應(yīng)在循環(huán)中對循環(huán)控制變量進(jìn)行遞增或遞減操作,以確保循環(huán)能夠正常結(jié)束。
(5)三個(gè)表達(dá)式可同時(shí)省略。這時(shí),for語句顯然也是一個(gè)“死循環(huán)”。
(6)<表達(dá)式1>、<表達(dá)式2>和<表達(dá)式3>都可以是任何類型的C++表達(dá)式。
2while語句
while語句是一種形式較為簡單的循環(huán)語句,其語法格式如下:
while(<表達(dá)式>)<語句>其中,while為關(guān)鍵字:<表達(dá)式>是while循環(huán)的條件,它用于控制循環(huán)是否繼續(xù)進(jìn)行;<語句>稱為while循環(huán)的循環(huán)體,它是要被重復(fù)執(zhí)行的代碼行;while循環(huán)體可以是單條語句,也可以是由花括號括起來的復(fù)合語句。實(shí)際上,while語句是for語句省略掉表達(dá)式1和表達(dá)式3的特殊情況。
while語句的執(zhí)行過程是:
(1)計(jì)算<表達(dá)式>的值,如果此值不等于0(即循環(huán)條件為“真”),則轉(zhuǎn)向步驟(2);如果此值等于0(即循環(huán)條件為“假”),則轉(zhuǎn)向步驟(4);
(2)執(zhí)行一遍循環(huán)體<語句>;
(3)轉(zhuǎn)向步驟(1);
(4)結(jié)束while循環(huán)。
從中可以看出,while語句將在<表達(dá)式>成立的情況下重復(fù)執(zhí)行<語句>;如果在第一次進(jìn)入while循環(huán)時(shí)<表達(dá)式>就不成立,則<語句>一次也不會(huì)執(zhí)行。
注意:
(1)由于while語句中缺少對循環(huán)控制變量進(jìn)行初始化的結(jié)構(gòu),因此在使用while循環(huán)之前對循環(huán)控制變量進(jìn)行初始化顯得很重要。
(2)在while循環(huán)體中不要忘記對循環(huán)控制變量的值進(jìn)行修改,以使循環(huán)趨向結(jié)束。
3do…while語句;do…while語句也是一種循環(huán)語句,它的功能類似于while語句,只是將循環(huán)的判定條件移到了循環(huán)體之后,其語法格式如下:
do<語句>while(<表達(dá)式>);
其中,do和while為關(guān)鍵字;<語句>稱為do…while循環(huán)的循環(huán)體,它是要被重復(fù)執(zhí)行的代碼行,do……while循環(huán)體可以是單條語句,也可以是由花括號包圍起來的復(fù)合語句;<表達(dá)式>是do……while循環(huán)的條件,它用于控制循環(huán)是否繼續(xù)進(jìn)行。
注意:在do…while語句中最后的分號不能丟掉,它用來表示do……while語句的結(jié)束。
do……while語句的執(zhí)行過程是:
(1)執(zhí)行一遍循環(huán)體<語句>;
(2)計(jì)算<表達(dá)式>的值,如果此值不等于0(即循環(huán)條件為“真”),則轉(zhuǎn)向步驟(1);如果此值等于0(即循環(huán)條件為“假”),則轉(zhuǎn)向步驟(3);
(3)結(jié)束do…while循環(huán)。
注意:
(1)在使用do…while循環(huán)之前同樣需要對循環(huán)控制變量進(jìn)行初始化;在do…while循環(huán)中仍然不要忘記對循環(huán)控制變量進(jìn)行修改,以使循環(huán)趨向結(jié)束,避免死循環(huán)的發(fā)生。
(2)do…while循環(huán)與while循環(huán)的不同之處在于:do…while循環(huán)的循環(huán)體在前,循環(huán)條件在后,因此do…while循環(huán)體在任何條件下(即使不滿足循環(huán)條件)都至少被執(zhí)行一次。而while循環(huán)條件在前,循環(huán)體在后,當(dāng)條件不滿足時(shí),循環(huán)體有可能一次也不會(huì)執(zhí)行。這一點(diǎn)正是在構(gòu)造循環(huán)結(jié)構(gòu)時(shí)決定使用while語句還是do…while語句的重要依據(jù)。
循環(huán)的嵌套
在一個(gè)循環(huán)結(jié)構(gòu)中又完整地包含著另一個(gè)循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。C++中三種類型的循環(huán)語句都可以相互嵌套,并且嵌套的層數(shù)沒有限制。程序設(shè)計(jì)中有許多問題需要使用循環(huán)結(jié)構(gòu)的嵌套來解決。
5跳轉(zhuǎn)語句
C++中有4種跳轉(zhuǎn)語句,它們是:break語句、continue語句、return語句和goto語句。
1break語句
break語句又稱為跳出語句,其語法格式如下:
break;
即由關(guān)鍵字break加上一個(gè)分號構(gòu)成。
break語句只能用在switch語句和循環(huán)語句中。在switch語句中,break用來使執(zhí)行流程跳出switch語句,而繼續(xù)執(zhí)行switch后面的語句。在循環(huán)語句中,break用來使執(zhí)行流程無條件地跳出本層循環(huán)體。
另外,break語句還經(jīng)常用于使執(zhí)行流程跳出死循環(huán)。
2continue語句
continue語句又稱為繼續(xù)語句,其語法格式如下:
continue;
即由關(guān)鍵字continue加上一個(gè)分號構(gòu)成。
continue語句僅用在循環(huán)語句中,它的功能是:結(jié)束本次循環(huán),即跳過循環(huán)中尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的條件判定。
在while和do…while循環(huán)中,continue語句將使執(zhí)行流程直接跳轉(zhuǎn)到循環(huán)條件的判定部分,然后決定循環(huán)是否繼續(xù)進(jìn)行。在for循環(huán)中,當(dāng)遇到continue時(shí),執(zhí)行流程將跳過循環(huán)中余下的語句,而轉(zhuǎn)去執(zhí)行for語句中的<表達(dá)式3>,然后根據(jù)<表達(dá)式2>進(jìn)行循環(huán)條件的判定以決定是否繼續(xù)執(zhí)行for循環(huán)體。
3return語句
return語句又稱為返回語句,它具有兩種語法格式:
(1)return;
(2)return<表達(dá)式>;
其中,return為關(guān)鍵字,第2種格式中的<表達(dá)式>可以是任何類型的C++表達(dá)式。
return語句只能用在函數(shù)體中。在返回類型為void的函數(shù)體中,若想跳出函數(shù)體,將執(zhí)行流程轉(zhuǎn)移到調(diào)用該函數(shù)的位置,應(yīng)使用return語句的第1種格式。在返回類型不是void的函數(shù)體中,應(yīng)使用return語句的第2種格式,使執(zhí)行流程轉(zhuǎn)移到調(diào)用該函數(shù)的位置,并將<表達(dá)式>的值作為函數(shù)的返回值。
對于非void返回類型的函數(shù)來說,其函數(shù)體中必須至少具有一條return語句。
4goto語句
goto語句又稱為轉(zhuǎn)向語句,其語法格式如下:
goto<標(biāo)號>;
其中,goto為關(guān)鍵字;<標(biāo)號>是一個(gè)由用戶命名的標(biāo)識符。在goto語句所處的函數(shù)體中必須同時(shí)存在一條由<標(biāo)號>標(biāo)記的語句,其格式為:
。紭(biāo)號>:<語句>
即在<標(biāo)號>和<語句>之間使用一個(gè)冒號分隔,這種語法結(jié)構(gòu)稱為標(biāo)號語句。標(biāo)號語句中的<標(biāo)號>應(yīng)與goto語句中的<標(biāo)號>相同,<語句>可以是任何類型的C++語句。注意:某個(gè)goto語句和相應(yīng)的標(biāo)號語句必須位于同一函數(shù)體內(nèi)。
goto語句的功能是使執(zhí)行流程跳轉(zhuǎn)到<標(biāo)號>所標(biāo)記的<語句>處(即對應(yīng)的標(biāo)號語句處)。
【計(jì)算機(jī)二級C++考點(diǎn):基本控制結(jié)構(gòu)】相關(guān)文章:
計(jì)算機(jī)二級C++函數(shù)考點(diǎn)07-22
2017計(jì)算機(jī)二級C++考點(diǎn)類的轉(zhuǎn)換10-25
2017計(jì)算機(jī)二級C++考點(diǎn)習(xí)題及答案07-07
計(jì)算機(jī)二級C語言《基本知識》考點(diǎn)06-14
計(jì)算機(jī)二級C++模板概述07-06
計(jì)算機(jī)二級C語言考點(diǎn):結(jié)構(gòu)體和共用體10-04
計(jì)算機(jī)二級C++函數(shù)解釋10-02
C++函數(shù)考點(diǎn)歸納09-30