當前位置:才華齋>計算機>計算機二級>

計算機二級C++考點:基本控制結構

計算機二級 閱讀(3.05W)

大家在為計算機二級考試做完基本的複習之後,接下來就是著重複習計算機二級的考點了,下面就是小編跟大家分享計算機二級C++考點基本控制結構,歡迎大家閱讀!

計算機二級C++考點:基本控制結構

1C++語句

C++語句按照不同功能大體分為6種類型,它們是:

(1)宣告語句:用於對程式中的各種實體進行宣告、定義及初始化。

(2)表示式語句:用於對程式中的資料進行具體操作和處理。

(3)選擇語句:用於實現程式的選擇結構。

(4)迴圈語句:用於實現程式的迴圈結構。

(5)跳轉語句:用於實現程式執行流程的轉移。

(6)複合語句:用於表示程式中的語句塊概念。

應當指出的是,C++中並不存在賦值語句和函式呼叫語句,賦值和函式呼叫都屬於表示式而不是語句。

2順序結構

1宣告語句

宣告語句又稱為說明語句,它可以用來對程式中出現的各種名稱進行宣告。這些名稱通常是表示變數、常量、函式、結構、類、物件等實體的識別符號。在C++程式中,一個名稱在使用之前必須先被宣告。宣告的目的是告訴編譯器某個名稱所指代的實體型別。使用宣告語句能夠在程式中進行如下操作:

(1)變數宣告

(2)常量宣告

(3)函式宣告

(4)型別宣告

宣告語句可以完成的工作不僅侷限於為名稱指定型別,同時也是定義語句。

另外,使用宣告語句還可以在定義變數時對其進行初始化。

2表示式語句

C++中所有對資料的操作和處理工作都是通過表示式語句來完成的。表示式語句的語法格式為:

<表示式>;

(1)賦值操作。

(2)複合賦值操作。

(3)增量、減量操作。

(4)函式呼叫操作。

(5)輸入輸出操作。

3基本輸入輸出

一個程式通常會向用戶輸出一些資訊,一般也會要求使用者輸入一些資訊。C++程式的輸入輸出操作是通過標準庫中的輸入/輸出流物件來完成的。

在標頭檔案iostream中定義了代表螢幕的標準輸出流物件cout和代表鍵盤的標準輸入流物件cin。cin和cout具有強大的輸入輸出功能和極為靈活的用法。在程式中使用cin和cout之前,應首先加入預處理命令:#include<iostream>,以包含標準標頭檔案iostream。

使用cout進行資料輸出操作的一般格式為:

cout<<Expr;

這是一條表示式語句。其中,Expr代表一個表示式;“<<”稱為插入運算子。整條語句的含義是:將表示式Expr的值輸出(顯示)到螢幕上當前游標所在位置。

4複合語句和空語句

複合語句又稱為塊語句,它是用一對花括號“{}”將若干條語句包圍起來而組成的一條語句,其語法格式為:

<語句1>

<語句2>

<語句n>

其中,<語句i>(i=1,2…,n)可以是宣告語句、表示式語句、選擇語句、迴圈語句或跳轉語句等任何合法的C++語句,當然,也可以是一個複合語句。分隔符“{”和“}”的作用是把若干條語句組成的序列包圍起來,使它們在邏輯上成為一條語句。複合語句可以出現在程式中任何需要語句的.地方,但在通常情況下複合語句可以作為以下成分出現在程式中。

(1)函式的函式體;

(2)迴圈語句的迴圈體;

(3)if語句的分支;

(4)switch語句的執行部分。

實際上,空語句是一種特殊的表示式語句。其語法格式為:

;即空語句只由一個分號組成。

3選擇結構

1語句

if語句又稱為條件語句,它是程式設計語言中最常見的一種選擇語句。

(1)基本if語句

基本if語句的功能是根據給定條件是否成立來決定要不要執行一條語句或語句塊,它的語法格式如下:

if(<條件>)<語句>

其中,if為關鍵字;<條件>通常是一個表示式且必須用圓括號包圍起來;<語句>稱為if子句,它可以是任何型別的語句(包括複合語句和空語句)。

基本if語句的執行過程是:首先計算<條件>的值,如果此值不為0(“真”),則執行<語句>;如果此值為0(“假”),則忽略<語句>(即不執行)而繼續執行if語句之後的下一條語句。

說明:

①C++中規定:如果<條件>是一個表示式,則當此表示式的值不為0時,條件結果為“真”;只有當此表示式的值為0時,條件結果才為“假”。

②<條件>也可以是一條宣告語句,其中必須定義一個變數並對它進行初始化。這時,若此變數的值不為0,則條件結果為“真”;若此變數的值為0,則條件結果為“假”。

(2)if…else語句

if…else語句是基本if語句的擴充套件,其功能是根據給定條件是否成立來決定執行兩部分語句中的哪一部分,其語法格式如下:

if(<條件>)

<語句1>

else

<語句2>

其中,if和else為關鍵字;<語句1>稱為if子句,<語句2>稱為else子句,它們可以是單條語句或複合語句。

if…else語句的執行過程是:首先計算<條件>的值,如果此值不為0(“真”),則執行<語句1>,然後忽略<語句2>而去執行if語句之後的下一條語句;如果此值為0(“假”),則忽略<語句1>,執行<語句2>,然後繼續執行if語句之後的下一條語句。

(3)if語句的巢狀

if子句和else子句可以是任何型別的C++語句,當然也可以是if…else語句本身。通常將這種情況稱為if語句的巢狀。

2switch

switch語句又稱為開關語句,它也是一種選擇語句。switch語句的功能是根據給定表示式的不同取值來決定從多個語句序列中的哪一個開始執行,其語法格式如下:

switch(<表示式>){

case<常量表達式1>:

<語句序列1>

case<常量表達式2>:

<語句序列2>

case<常量表達式n>:

<語句序列n>

default:

<語句序列n+1>

其中,switch,case和default為關鍵字;<表示式>的值必須屬於整型、字元型或列舉型。<常量表達式i>(i=1,2…n)是取值互不相同的整型常量、字元常量或列舉常量,其具體型別應與<表示式>的值相一致。<語句序列i>(i=1,2…n,n+1)可以是任意多條語句。

switch語句的執行過程是:

(1)首先計算出<表示式>的值,設此值為E;

(2)然後計算每個<常量表達式i>的值,設它們分別為C1,C2,…,Cn;

(3)將E依次與C1,C2,…,Cn進行比較。如果E與某個值相等,則從該值所在的case標號語句開始執行各個語句序列,在不出現跳轉語句的情況下,將一直執行到switch語句結束。‘

(4)如果E與所有值都不相等且存在default標號,則從default標號語句起開始向下執行,直到switch語句結束(同樣,在不出現跳轉語句的情況下)。

(5)如果E與所有值都不相等且不存在default標號,則switch語句不會執行任何操作。

說明:

(1)多個case標號可以共用一組語句序列,以實現對於幾個常量值都執行同一操作。

(2)default標號語句是可選的。當default不出現時,如果<表示式>的值與所有<常量表達式i>(i=1,2…n)的值都不相等,則程式執行流程會跳過switch語句。

(3)switch語句是可以巢狀的。case和default標號只與包含它們的最內層的switch組合在一起。

(4)當需要針對表示式的不同取值範圍進行不同處理時,使用if…else…if階梯結構比較方便。因為switch語句只能對相等關係進行測試,而if語句卻可以用關係表示式對一個較大範圍內的值進行測試。

4迴圈結構

1for語句

for語句是C++中最常用且功能最強的迴圈語句,其語法格式如下:

for(<表示式1>;<表示式2>;<表示式3>)

<語句>

其中,for為關鍵字;<表示式1>是for迴圈的初始化部分,它一般用來設定迴圈控制變數的初始值;<表示式2>是for迴圈的條件部分,它是用來判定迴圈是否繼續進行的條件;<表示式3>是for迴圈的增量部分,它一般用於修改迴圈控制變數的值;<語句>稱為for迴圈的迴圈體,它是要被重複執行的程式碼行,for迴圈體可以是單條語句,也可以是由花括號包圍起來的複合語句。

for語句的執行過程是:

(1)計算<表示式1>的值;

(2)計算<表示式2>的值,如果此值不等於0(即迴圈條件為“真”),則轉向步驟(3);如果此值等於0(即迴圈條件為“假”),則轉向步驟(5);

(3)執行一遍迴圈體<語句>:

(4)計算<表示式3>的值,然後轉向步驟(2);

(5)結束for迴圈。

C++中for語句的書寫格式非常靈活,這主要表現為:

(1)<表示式1>可以是變數宣告語句,即迴圈控制變數可在其中定義。

(2)<表示式1>可以省略。這時,應在for語句之前給迴圈控制變數賦初始值。注意:省略<表示式1>時,其後的分號不能省略。

(3)<表示式2>可以省略。這時,for語句將不再判斷迴圈條件,迴圈會無限次地執行下去。這種情況通常稱為“死迴圈”。

(4)<表示式3>可以省略。這時,應在迴圈中對迴圈控制變數進行遞增或遞減操作,以確保迴圈能夠正常結束。

(5)三個表示式可同時省略。這時,for語句顯然也是一個“死迴圈”。

(6)<表示式1>、<表示式2>和<表示式3>都可以是任何型別的C++表示式。

2while語句

while語句是一種形式較為簡單的迴圈語句,其語法格式如下:

while(<表示式>)<語句>其中,while為關鍵字:<表示式>是while迴圈的條件,它用於控制迴圈是否繼續進行;<語句>稱為while迴圈的迴圈體,它是要被重複執行的程式碼行;while迴圈體可以是單條語句,也可以是由花括號括起來的複合語句。實際上,while語句是for語句省略掉表示式1和表示式3的特殊情況。

while語句的執行過程是:

(1)計算<表示式>的值,如果此值不等於0(即迴圈條件為“真”),則轉向步驟(2);如果此值等於0(即迴圈條件為“假”),則轉向步驟(4);

(2)執行一遍迴圈體<語句>;

(3)轉向步驟(1);

(4)結束while迴圈。

從中可以看出,while語句將在<表示式>成立的情況下重複執行<語句>;如果在第一次進入while迴圈時<表示式>就不成立,則<語句>一次也不會執行。

注意:

(1)由於while語句中缺少對迴圈控制變數進行初始化的結構,因此在使用while迴圈之前對迴圈控制變數進行初始化顯得很重要。

(2)在while迴圈體中不要忘記對迴圈控制變數的值進行修改,以使迴圈趨向結束。

3do…while語句;do…while語句也是一種迴圈語句,它的功能類似於while語句,只是將迴圈的判定條件移到了迴圈體之後,其語法格式如下:

do<語句>while(<表示式>);

其中,do和while為關鍵字;<語句>稱為do…while迴圈的迴圈體,它是要被重複執行的程式碼行,do……while迴圈體可以是單條語句,也可以是由花括號包圍起來的複合語句;<表示式>是do……while迴圈的條件,它用於控制迴圈是否繼續進行。

注意:在do…while語句中最後的分號不能丟掉,它用來表示do……while語句的結束。

do……while語句的執行過程是:

(1)執行一遍迴圈體<語句>;

(2)計算<表示式>的值,如果此值不等於0(即迴圈條件為“真”),則轉向步驟(1);如果此值等於0(即迴圈條件為“假”),則轉向步驟(3);

(3)結束do…while迴圈。

注意:

(1)在使用do…while迴圈之前同樣需要對迴圈控制變數進行初始化;在do…while迴圈中仍然不要忘記對迴圈控制變數進行修改,以使迴圈趨向結束,避免死迴圈的發生。

(2)do…while迴圈與while迴圈的不同之處在於:do…while迴圈的迴圈體在前,迴圈條件在後,因此do…while迴圈體在任何條件下(即使不滿足迴圈條件)都至少被執行一次。而while迴圈條件在前,迴圈體在後,當條件不滿足時,迴圈體有可能一次也不會執行。這一點正是在構造迴圈結構時決定使用while語句還是do…while語句的重要依據。

迴圈的巢狀

在一個迴圈結構中又完整地包含著另一個迴圈結構稱為迴圈的巢狀。C++中三種類型的迴圈語句都可以相互巢狀,並且巢狀的層數沒有限制。程式設計中有許多問題需要使用迴圈結構的巢狀來解決。

5跳轉語句

C++中有4種跳轉語句,它們是:break語句、continue語句、return語句和goto語句。

1break語句

break語句又稱為跳出語句,其語法格式如下:

break;

即由關鍵字break加上一個分號構成。

break語句只能用在switch語句和迴圈語句中。在switch語句中,break用來使執行流程跳出switch語句,而繼續執行switch後面的語句。在迴圈語句中,break用來使執行流程無條件地跳出本層迴圈體。

另外,break語句還經常用於使執行流程跳出死迴圈。

2continue語句

continue語句又稱為繼續語句,其語法格式如下:

continue;

即由關鍵字continue加上一個分號構成。

continue語句僅用在迴圈語句中,它的功能是:結束本次迴圈,即跳過迴圈中尚未執行的語句,接著進行下一次是否執行迴圈的條件判定。

在while和do…while迴圈中,continue語句將使執行流程直接跳轉到迴圈條件的判定部分,然後決定迴圈是否繼續進行。在for迴圈中,當遇到continue時,執行流程將跳過迴圈中餘下的語句,而轉去執行for語句中的<表示式3>,然後根據<表示式2>進行迴圈條件的判定以決定是否繼續執行for迴圈體。

3return語句

return語句又稱為返回語句,它具有兩種語法格式:

(1)return;

(2)return<表示式>;

其中,return為關鍵字,第2種格式中的<表示式>可以是任何型別的C++表示式。

return語句只能用在函式體中。在返回型別為void的函式體中,若想跳出函式體,將執行流程轉移到呼叫該函式的位置,應使用return語句的第1種格式。在返回型別不是void的函式體中,應使用return語句的第2種格式,使執行流程轉移到呼叫該函式的位置,並將<表示式>的值作為函式的返回值。

對於非void返回型別的函式來說,其函式體中必須至少具有一條return語句。

4goto語句

goto語句又稱為轉向語句,其語法格式如下:

goto<標號>;

其中,goto為關鍵字;<標號>是一個由使用者命名的識別符號。在goto語句所處的函式體中必須同時存在一條由<標號>標記的語句,其格式為:

<標號>:<語句>

即在<標號>和<語句>之間使用一個冒號分隔,這種語法結構稱為標號語句。標號語句中的<標號>應與goto語句中的<標號>相同,<語句>可以是任何型別的C++語句。注意:某個goto語句和相應的標號語句必須位於同一函式體內。

goto語句的功能是使執行流程跳轉到<標號>所標記的<語句>處(即對應的標號語句處)。