程序流程結(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)終止