C++ 學(xué)習(xí)03 流程結(jié)構(gòu) 01

程序流程結(jié)構(gòu)

if條件語句

根據(jù)if后跟的布爾表達式的真假來判斷是否執(zhí)行條件內(nèi)的語句
else if() 當(dāng)上一個if條件為假時朗儒,判斷下一個else if中的條件咒程,以此類推

if(boolean_expression 1)
{
   // 當(dāng)布爾表達式 1 為真時執(zhí)行
}
else if( boolean_expression 2)
{
   // 當(dāng)布爾表達式 2 為真時執(zhí)行
}
else if( boolean_expression 3)
{
   // 當(dāng)布爾表達式 3 為真時執(zhí)行
}
else 
{
   // 當(dāng)上面條件都不為真時執(zhí)行
}

switch 條件語句

switch(expression){
    case constant-expression  :
       statement(s);
       break; // 可選的
    case constant-expression  :
       statement(s);
       break; // 可選的
  
    // 您可以有任意數(shù)量的 case 語句
    default : // 可選的
       statement(s);
}

switch 語句必須遵循下面的規(guī)則:

  • switch 語句中的 expression 必須是一個整型或枚舉類型渐行,或者是一個 class 類型潮秘,其中 class 有一個單一的轉(zhuǎn)換函數(shù)將其轉(zhuǎn)換為整型或枚舉類型腐宋。
  • 在一個 switch 中可以有任意數(shù)量的 case 語句核行。每個 case 后跟一個要比較的值和一個冒號喇完。
  • case 的 constant-expression 必須與 switch 中的變量具有相同的數(shù)據(jù)類型伦泥,且必須是一個常量或字面量。
  • 當(dāng)被測試的變量等于 case 中的常量時锦溪,case 后跟的語句將被執(zhí)行不脯,直到遇到 break 語句為止。
  • 當(dāng)遇到 break 語句時刻诊,switch 終止防楷,控制流將跳轉(zhuǎn)到 switch 語句后的下一行。
  • 不是每一個 case 都需要包含 break则涯。如果 case 語句不包含 break复局,控制流將會 繼續(xù) 后續(xù)的 case冲簿,直到遇到 break 為止。
  • 一個 switch 語句可以有一個可選的 default case亿昏,出現(xiàn)在 switch 的結(jié)尾峦剔。default case 可用于在上面所有 case 都不為真時執(zhí)行一個任務(wù)。default case 中的 break 語句不是必需的角钩。

相比較于if語句吝沫,switch語句效率更高,但是局限性更大

while循環(huán)

只要給定的條件為真递礼,while 循環(huán)語句會重復(fù)執(zhí)行一個目標語句

while(condition)
{
   statement(s);
}

for 循環(huán)

for ( init; condition; increment )
{
  statement(s);
}

下面是 for 循環(huán)的控制流:

  • init 會首先被執(zhí)行惨险,且只會執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量脊髓。您也可以不在這里寫任何語句辫愉,只要有一個分號出現(xiàn)即可。
  • 接下來供炼,會判斷 condition一屋。如果為真,則執(zhí)行循環(huán)主體袋哼。如果為假冀墨,則不執(zhí)行循環(huán)主體,且控制流會跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語句涛贯。
  • 在執(zhí)行完 for 循環(huán)主體后诽嘉,控制流會跳回上面的 increment 語句。該語句允許您更新循環(huán)控制變量弟翘。該語句可以留空虫腋,只要在條件后有一個分號出現(xiàn)即可。
  • 條件再次被判斷稀余。如果為真悦冀,則執(zhí)行循環(huán),這個過程會不斷重復(fù)(循環(huán)主體睛琳,然后增加步值盒蟆,再然后重新判斷條件)。在條件變?yōu)榧贂r师骗,for 循環(huán)終止
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末历等,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辟癌,更是在濱河造成了極大的恐慌寒屯,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黍少,死亡現(xiàn)場離奇詭異寡夹,居然都是意外死亡处面,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門菩掏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸳君,“玉大人,你說我怎么就攤上這事患蹂』蚣眨” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵传于,是天一觀的道長囱挑。 經(jīng)常有香客問我,道長沼溜,這世上最難降的妖魔是什么平挑? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮系草,結(jié)果婚禮上通熄,老公的妹妹穿的比我還像新娘。我一直安慰自己找都,他們只是感情好唇辨,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著能耻,像睡著了一般赏枚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晓猛,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天饿幅,我揣著相機與錄音,去河邊找鬼戒职。 笑死栗恩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洪燥。 我是一名探鬼主播磕秤,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蚓曼!你這毒婦竟也來了亲澡?” 一聲冷哼從身側(cè)響起钦扭,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤纫版,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后客情,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體其弊,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡癞己,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了梭伐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痹雅。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖糊识,靈堂內(nèi)的尸體忽然破棺而出绩社,到底是詐尸還是另有隱情,我是刑警寧澤赂苗,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布愉耙,位于F島的核電站,受9級特大地震影響拌滋,放射性物質(zhì)發(fā)生泄漏朴沿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一败砂、第九天 我趴在偏房一處隱蔽的房頂上張望赌渣。 院中可真熱鬧,春花似錦昌犹、人聲如沸坚芜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽货岭。三九已至,卻和暖如春疾渴,著一層夾襖步出監(jiān)牢的瞬間千贯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工搞坝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留搔谴,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓桩撮,卻偏偏與公主長得像敦第,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子店量,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容