1. 程式人生 > >第三章 C++的三種基本控制結構

第三章 C++的三種基本控制結構

順序結構 跳過 abs mil display comm bre ref rep

0x C++提供的三種基本控制結構


  • 順序結構:按照先後順序依次執行程序中的語句
  • 選擇結構:按照給定條件有選擇地執行程序中的語句
  • 循環語句:按照給定規則重復地執行程序中的語句

1x 第一節 C++語句


語句以分號表示結束

  • 六種C++語句
    • 聲明語句:用於對程序中的各種實體進行聲明、定義和初始化。
    • 表達式語句:用於對程序中的數據進行具體操作和處理。
    • 選擇語句:用於實現程序的選擇結構。
    • 循環語句:用於實現程序的循環結構。
    • 跳轉語句:用於實現程序執行流程的變換。
    • 復合語句:用於表示程序中的語句塊。

2x 第二節 順序結構


順序結構會按照程序的書寫的先後順序,從左到右,至上而下的執行。

2x.1 聲明語句

  • 變量聲明
  • 常量聲明
  • 函數聲明
  • 類型聲明

2x.2 表達式語句

2x.3 基本輸入輸出

I/O操作通過標準庫中的輸入/輸出流對象來完成。

  • 標準輸入輸出流對象:cin cout
  • 在使用標準輸入/輸出流之前必須用處理命令在引用iostream.h
        #include <iostream.h>
        using namespace std;
    
    • 輸出操作 cout<<Exper<<endl;
      整個語句的含義是:將表達式Exper的值輸出到屏幕上的當前光標位置。
      • Exper代表一個表達式,endl(end line的意思)是輸入/輸出操作符
      • 一個cout語句可以分寫成為若幹行,分寫的行間有無分號亦可。
    • 輸入操作 cin>>Var;
      • Var代表一個變量,並且支持連續性輸入多項數據。
      • cin語句的一般格式為
          cin>>變量1>>變量2>>...>>變量N;
      

2x.4 符合語句和空語句

  • 復合語句:用花括號{}將若幹語句包圍起來而組成的一條語句:
    • 函數的函數體
    • 循環語句的循環體
    • 選擇語句的分支
  • 空語句
        ;//無任何操作
    

3x 選擇結構


3x.1 if語句——條件語句

  • 基本的if語句
    • 格式:if(<條件表達式>) <語句>
    • 若條件表達式的結果為真則執行後面的語句。
    • 若想執行多條語句,必須用花括號{}把後面多條語句括起來。
        *C++中規定如果條件表達式中的值不為0就是“真”*,只有為0才為“假”。
    

3x.2 if...else語句

  • 格式:
    if (<條件表達式>)
        <語句1>
    else
        <語句二>
技術分享圖片


3x.3 if語句的嵌套

  • 格式:
    if(<條件表達式>)
        <語句1>else
        if(<條件表達式>)
            <語句2>else
            <語句>

  • else關鍵字總是於它前面最近的未配對且可見的那個if關鍵字匹配

  • 復合語句內的if關鍵字對於外界是不可見的。
    例如:

        if(<條件表達式>)        //第一個if
            if(<條件表達式>)    //第二個if
                {
                    if(<條件表達式>)    //第三個if
                }
            else
                <語句>//與第二個else相匹配
    

友情提示:在真正的程序設計當中,必須要使用縮進、程序塊等等手段來盡可能地避免程序可讀性差,以後我會開辟博文寫有關這個的方面

3x.2 switch語句——開關語句

  • 根據給定表達式不同取值來決定從語句序列中的哪一個開始執行。
  • 常用語法:
    switch (表達式)
        {
            case 常量表達式1: 語句1break;
            case 常量表達式2:語句2; break;
            ...
            case 常量表達式n: 語句n; break;
            default:語句n+1;
        }

  • 註意事項:
    • 表達式的值必須是整型、字符型或枚舉型
    • 多個case標號可以共用一組語句序列,以實現對多個常量執行同一個操作
    • default標號是可選擇的
    • switch語句是可以嵌套的
    • 每一個case表達式的值必須是不相同的
    • casedefault的出現次序不影響程序的運行

4x 循環結構


  • 三種循環語句:
    • for語句
    • while語句
    • do...while語句

4x.1 for語句

  • 常用格式:
    for(表達式1;表達式2;表達式3)
        {
            <語句>;
        }
    //表達式1:循環變量初始化
    //表達式2:循環條件
    //表達式3:循環變量增值
  • 註意事項:
    1. 先執行表達式1
    2. 執行表達式2,若其值為真(值為非0)執行for中指定的內嵌語句,然後再執行表達式3,重新進行判斷;若其值為假(值為0).
    3. 三個表達式從語法上可以省略

4x.2 While語句——"當型循環"

  • 常用格式:
    while(條件表達式)
    {
        <語句>;
    }
  • 條件是為真(表達式為非0)時,執行while語句中的內嵌語句。
    先判斷,後循環
  • 有多條語句要執行時,用花括號{}把多個語句括起來。
  • 循環體中應該有使循環體催向結束的語句。

4x.3 do...while語句——直到型循環

  • 常用格式
    do
    {  
        <語句>;
    }
    while(條件表達式)
  • while語句的區別,do...while語句先執行後判斷,至少執行一次;while語句先判斷後執行,可能一次也不執行。

4x.4 循環的嵌套

  • 一個循環體內又包含另外一個完整的循環結構,稱為循環的嵌套
  • 三種循環體都可以互相循環。

5x 跳轉語句


  • 使用跳轉語句可以實現程序執行流程的無條件轉換。
  • C++提供了四種跳轉語句,分別是:
    • break語句
    • continue語句
    • return語句
    • goto語句

5x.1 break語句

  • 常用格式為
    break;

  • break語句可以用於多分支選擇語句——switch或循環語句的跳出操作,不可單獨用於其他語句

5x.2 continue語句

  • 常用格式為
    continue;
  • 其作用為結束本次循環,即跳過該次循環,繼續進行下一輪的循環。
  • continuebreak的區別是:
    • continue只結束本次循環而不是終止整個循環的進行。
    • break是終止整個循環。

5x.3 return語句

  • 常用格式為:
    return ;
    //或者
    return 表達式;
  • 值得註意:
    • 只能用在函數體中
    • void類型返回值函數,其函數體必須包含一條return語句並帶有一個對應類型的返回值。
    • 返回值為void的函數,可以使用第一種形式的return語句,即不帶返回值。

5x.4 goto語句

  • 常用格式:
    goto <標誌>;

標誌常用格式

    <標誌>:<語句>
  • 作用:使程序執行流程跳轉到標記的語句處

第三章 C++的三種基本控制結構