1. 程式人生 > >C++ 分支巢狀以及分支結構重點提及

C++ 分支巢狀以及分支結構重點提及

目錄:
第三課課程筆記之分支判斷
前言:
第四節課的內容其實是第三節課的進階,所以對第三節課知識點還不熟悉的同學可以先點選上方連結返回到第三課的課堂筆記。因為基礎是決定下一步的基石。而在這節課,我們將學習分支判斷中的分支巢狀以及提及相關的注意要點。
事不宜遲,筆記走起:

分支巢狀的概念和實現

說起分支巢狀,其實在我們的日常生活中也非常常見,比如說媽媽給了你一些錢,讓你去買一些蘋果,注意錢一定要花完,否則我就不買了。那我們首先就要判斷媽媽給的錢能不能買得起蘋果。然後再判斷能買蘋果能不能把錢剛好花完對不對,假如現在蘋果5塊一斤,媽媽給了你4塊錢,那不好意思,老闆不會給你4/5的蘋果的對不對,因此,我們要先判斷能不能買得起了,再決定能買多少個。也就是在“能買蘋果”

這個大條件裡面,包含了我們買蘋果能不能剛好把錢花完這樣的小條件。所以在一個條件符合的情況下,再去思考另一個條件是否滿足的方式,就是我們的分支巢狀。樣例如下:

#include<iostream>
using namespace std;
int main(){
    int money;
    int apple = 5;
    cin >>money;
    if(money>=apple){
       cout<<"我的錢夠買蘋果啦!,但能不能剛好花完錢呢?"<<endl;
       if(money%apple==0
){ cout<<"能夠剛好花完!"; }else{ cout<<"花不完?那我不買了"; } }else{ cout<<"一個蘋果都買不起!!"; } return0; }

分支結構-程式碼書寫格式的重要性

仔細觀看,有沒有發現其實我們是在滿足第一個if條件的情況下,再去判斷第二個條件有沒有滿足,此時就相當於if裡面還有一個if語句。而這也是我們分支巢狀的一個典型特徵。那如果這樣的話,那麼多的大括號小括號什麼的,豈不是很容易弄混亂?欸,如果仔細觀察上述的程式碼,有沒有發現其實老師寫的程式碼很有規矩?
這裡寫圖片描述


欸,我們看到,其實第一個分支語句都是對齊的,而第二個分支語句和第一個分支語句相比,會隔開一定的空白行(白色紅框)這樣看起來的話會讓我們的程式碼一目瞭然,否則的話我們的程式碼可能會顯得非常得難看懂,都我們排錯而言,容易弄混我們的邏輯。因此注意程式碼的書寫格式也是很有必要的哈。
那我們再來總結一下,什麼情況下需要使用分支巢狀呢?

分支結構的使用範圍

1.存在兩個或者兩個以上的邏輯判斷
2.邏輯判斷是包含關係而不是排列關係。比如a>0 ,a==0,a<0就是三個邏輯並列關係,互不補充。而a>0和a>100是包含關係。當a>0的情況實現時,我們再去判斷a>100的情況。
3.可以理解為主條件裡面的附帶條件,如果主條件不成立啦,附帶的條件也不會成立。

關於第三,四節課的重點歸納:

第三、四節課其實都是針對分支結構這一知識點進行講述,不同的是第三節主要講述的是分支結構的基礎部分,而第四節課是在第三節課的基礎上進行的邏輯拓展。因此,不管如何,這兩節課的基礎是必須要扎牢的。那關於分支結構的重點和注意點有哪些呢?我們來歸納一下:

重點1:關係表示式和邏輯運算子

  關係表示式和邏輯運算子是實現分支結構的先決條件,用來決定我們執行何處分支程式碼。
  注意的是 關係表示式不能連寫,應該用邏輯運算子進行分開。否則結果會為false。
  比如
#include<iostream>
using namespace std;
int main(){
    int a=1,b=2,c=3;
    if(c>b>a){//此處錯誤,應改成c>b&&b>a
        cout<<"y";
    }else{
        cout<<"n";
    }
    return 0;
}

有很多同學習慣使用數學上的連續關係運算,但實際這樣是不正確的,因此要記住啦~

重點2:關於分支結構的選擇

我們目前學習了if,if..else, if….else if..以及分支巢狀四種語句,那什麼時候該用何種語句呢?我們總結一下:

1.當我們只需要判斷一個條件的時候,直接使用if語句,比如判斷一個數能不能被整除

2當我們要面臨兩種抉擇的時候,用if。。else語句,此時是處於是和不是的情況,比如判斷一個數是奇數還是偶數

3.當我們面臨多種情況,並且情況相互獨立的時候,用 if。。。else if 語句,比如根據輸入分數判斷A,B,C,D四個等級
4.當我們面臨多重情況,並且情況是處於包含狀態的時候,比如判斷輸入的數是不是正數,如果是,判斷它能不能被2整除

重點3:注意邏輯關係

這點需要注意認真看題目,判斷邏輯運算子的用法,決定使用 與,或,還是非。其中主要是判斷與和或的區別,具體可看第三課的課程筆記。
口訣如下:

同真則真應是與,同假則假便是或
真假互換使用非  邏輯首先要理清

總結:第三、四節課是同學們從算數思維轉向計算機思維的一個重要節點。對於之前沒有接觸過程式設計的同學來說,這兩個知識點至關重要,因此希望能夠多多捉摸,把知識點給吃透,如此才能把基礎給打牢。加油!