物聯(lián)網(wǎng)/嵌入式工程師
重磅升級:新增硬件電路設計與實戰(zhàn),讓你軟硬通吃,同級PK無敵!行業(yè)風口、政策傾斜,新晉熱門高薪不內(nèi)卷!0基礎一站式就業(yè)完整路徑,搶占先發(fā)優(yōu)勢!
宋江和兩個公人聽了這首歌,都酥軟了。宋江又想道:“他是唱耍。”三個正在那里議論未了,只見那梢公放下櫓,說道:“你這個撮鳥,兩個公人,平日最會詐害做私商的人,今日卻撞在老爺手里!你三個卻是要吃板刀面?卻是要吃餛飩?”宋江道:“家長休要取笑!怎地喚做板刀面?怎地是餛飩?”那梢公睜著眼道:“老爺和你耍甚鳥! 若還要吃板刀面時,俺有一把潑風也似快刀在這船板底下,我不消三刀五刀,我只一刀一個,都剁你三個人下水去;你若要吃餛飩時,你三個快脫了衣裳,都赤條條地跳下江里自死。”
那么請問,如何用 C++ 幫助宋江來抉擇,到底是吃板刀面還是要吃餛飩?
這時候我們就需要用到 if 了,在 C++ 中,用 if 來進行多分支程序的編寫,像宋江這時候就是典型的多分支結(jié)構(gòu),選板刀面,被砍,選餛燉,被推到江里。
#include <stdio.h> int main(int argc,char **argv) { bool bandaomian = true; // 板刀面 bool hundun = false; // 餛燉 if(bandaomian){ // 宋江被砍 } if(hundun){ // 宋江跳江 } return 0; }
上面的程序中,我們用兩個 bool 變量來作為宋江的選擇。if 語句接受一個 bool 類型的變量,當這個 bool 變量為 true 的時候,程序就會進入到 if 的從句中,如果是 false,那么 if 的從句將不會執(zhí)行。
但是上面的程序有一個問題,那就是當 bandaomian 和 hundun 都是 true 的時候,程序仿佛會讓宋江先被砍,然后再跳江。常識告訴我們,人被砍了以后大概率是不能跳江的,那么這里就有可能會有隱藏的 Bug。
我們其實可以這樣寫這段代碼,用一個 bool 類型來作為宋江的選擇。true 表示板刀面,false 表示餛燉。在 if 判斷的時候,我們還可以使用 else 來配合 if 來完成“否則”的結(jié)構(gòu)。
#include <stdio.h> int main(int argc,char **argv) { bool songjiang_style = true; // 板刀面 if(songjiang_style){ // 宋江被砍 } else { // 宋江跳江 } return 0; }
這樣寫,就不會有問題了,不是被砍就是跳江,被安排得明明白白。
在上面的案例里,可憐的宋江只有兩種選擇,所以用 if - else 就能很好的解決問題。但是實際生活中,我們可能要面臨更多的分之結(jié)構(gòu),這就需要我們引入 else if。
else if 也是搭配 if 使用的,在 if 為 false 的時候,else if 可以進行進一步的判斷,而且 else if 可以出現(xiàn)多個。
我們就使用我們之前介紹過的枚舉類型,來看看 else if 的使用。
#include <stdio.h> enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日 }; int main(int argc,char **argv) { Week week = Week::Fri; if(week == Week::Mon) { printf("Mon\n"); } else if(week == Week::Tue) { printf("Tue\n"); } else if(week == Week::Wed) { printf("Wed\n"); } else if(week == Week::Thu) { printf("Thu\n"); } else if(week == Week::Fri) { printf("Fri\n"); } else if(week == Week::Sat) { printf("Sat\n"); } else{ printf("Sun\n"); } return 0; }
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報