1.理解條件結構
小朋友們,今天讓我們一起來探索一個神奇而有趣的知識——程序的條件結構!
首先,讓我們來想象一個有趣的場景。比如說,你們正在準備去公園玩耍。在出發之前,你們會看看天氣怎么樣。如果天氣晴朗,陽光明媚,那太棒啦,我們就可以開開心心地去公園玩滑梯、蕩秋千;但是,如果天上下起了大雨,那我們可能就得改變計劃,留在家里玩玩具或者看動畫片。
在計算機程序的世界里,也有這樣類似的“做決定”的過程,這就是我們所說的條件結構。
條件結構就像是一個聰明的小裁判,它會根據我們設定的一些條件,來決定程序接下來要怎么做。
假設我們正在編寫一個小游戲程序,游戲里有一個角色要通過一些關卡。如果這個角色的生命值大于 50,它就能繼續前進,去挑戰更難的關卡;但如果生命值小于或者等于 50,程序就會讓角色停下來休息一會兒,恢復生命值。
再比如,我們有一個計算零花錢的小程序。如果這個月你表現得很好,幫忙做家務了,爸爸媽媽可能會多給你 10 塊錢零花錢;如果沒有好好表現,那就只能拿到原本的零花錢。
那程序是怎么知道該做出哪種決定的呢?這就需要我們給它設定一些明確的條件和規則。就好像我們知道晴天可以出去玩,雨天要待在家里一樣。
比如說,我們可以告訴程序:“如果輸入的數字是奇數,就顯示‘這是個奇數’;如果輸入的數字是偶數,就顯示‘這是個偶數’。”然后,當我們向程序輸入一個數字,比如 7 時,程序會判斷 7 是奇數,然后按照我們設定的條件,顯示出“這是個奇數”。
小朋友們,條件結構在我們的生活中也有很多類似的例子哦。比如在學校里,如果考試成績達到 90 分以上,老師會給你一個小獎勵;如果沒有達到,可能就需要更加努力學習啦。
當程序員們編寫程序的時候,他們會使用一些特定的語言和符號來告訴計算機這些條件和規則。就像我們用語言跟小伙伴交流一樣,程序員用特殊的“語言”跟計算機交流。
通過條件結構,程序可以變得更加聰明和靈活,能夠根據不同的情況做出不同的反應,為我們完成各種各樣有趣和有用的任務。
2. if條件結構
在C++中,if語句是決策語句的最簡單形式。它用于確定是否將基于條件語句執行語句塊。該條件只有兩個布爾值/結果,即true或false。
如果If語句中的條件為true,則執行大括號內的代碼塊。如果條件計算結果為false,我們將移動到if塊之后的代碼行。如果If語句之后沒有大括號{},則只考慮If塊內的第一個語句。
語法結構:
if (條件語句){
// 上述條件為true時所執行的代碼段
}
流程圖:
-if關鍵字標記if語句的開始/起始。
-(條件)是指我們正在驗證的條件。
-大括號{}包含條件代碼,如果條件得到滿足,將執行該代碼。
3.if-else條件結構
??if (條件語句){
??// 上述條件為true時所執行的代碼段
??}else{
??// 上述條件為false時所執行的代碼段
??}
??執行 if 正文中的代碼,else 正文中的代碼從執行中跳過
??執行 else 正文中的代碼,從執行中跳過 if 正文中的代碼
如果條件的計算結果為 true,
如果條件的計算結果為 false,
對應的流程圖:
例子:
#include <iostream>using namespace std;int main () {int a = 100;if( a < 20 ) {cout << "a 比 20小;" << endl;} else {cout << "a 不比 20小;" << endl;}cout << "a 的值是 : " << a << endl;return 0;}
4.可嵌套的if-else if-else
?if (條件語句){
??// 上述條件為true時所執行的代碼段
??}else if (條件語句1) {
??// 上述條件語句1為true時所執行的代碼段
??}else{
??//
??}
? a.如果條件語句的計算結果為 true,
??執行 if 正文中的代碼,else 則執行條件語句1
?b.如果條件語句1的計算結果為 true,
??執行 else if 正文中的代碼,從執行中跳過 else 正文中的代碼
?c.如果條件語句1的計算結果為 false,則執行else里的代碼
對應的流程圖:
5. if-else條件結構的簡寫運算符?:
認識?:運算符
?: 這個運算符有
今天我們來學習一個在編程里很有趣的東西,叫做 ?:
運算符。
?:
運算符也被稱為條件運算符,它就像一個聰明的小裁判,可以根據一個條件來決定給出什么樣的結果。
比如說,我們有兩個數字,一個是 5,一個是 10。然后我們設定一個條件,如果 10 比 5 大, 那么就輸出“1”,否則就輸出“0”。
c=a>b?1:0
對應的if-else語句是
if(a>b)
????????c=1;
else
????????c=0;
咱們可以把 switch case
想象成一個超級聰明的機器人,它能根據我們給它的一個數字或者一個字符,做出不同的反應。
比如說,我們有一個數字,就像我們給機器人的一個小秘密。然后在 switch
后面寫上這個數字。
接下來,有很多個 case
,就像是給機器人的不同指令。
比如 case 1
、 case 2
、 case 3
等等。
當我們給機器人的數字和某個 case
后面的數字一樣的時候,機器人就會按照這個 case
后面的要求去做事。
在這個例子里,我們給的數字是 2 ,所以機器人就會執行 case 2
后面的內容,在屏幕上顯示“這是 2”。
int num = 2;switch (num) {case 1:std::cout << "這是 1" << std::endl;break;case 2:std::cout << "這是 2" << std::endl;break;case 3:std::cout << "這是 3" << std::endl;break;default:std::cout << "不知道這是幾" << std::endl;}
還有哦,如果我們不想讓機器人在執行完一個 case
后繼續執行下面的 case
,就要在每個 case
后面加上 break
,就像給機器人一個停止的命令。
語句結構:
switch (條件變量) {
case 條件值1://符合條件值1的執行代碼塊;break;
case 條件值2:// 符合條件值1的執行代碼塊;break;...default:// 都不符合的執行代碼塊;
}
如果存在匹配,則執行匹配條件值后的相應代碼。例如,如果變量的值等于條件值1,則執行條件1:之后的代碼,直到遇到break語句。break的意思就是跳出swich-case的條件結構,執行以后的代碼.
如果不匹配,則執行default:之后的代碼
流程圖: