c語言分支機(jī)構(gòu)是什么?
C語言中的分支結(jié)構(gòu)有三種:
1、單分支結(jié)構(gòu)
單分支結(jié)構(gòu)的基本形式是:
if( <條件表達(dá)式> )
{
(語句塊)
}
2、雙分支結(jié)構(gòu)
雙分支結(jié)構(gòu)的基本形式是:
if( <條件表達(dá)式> )
{
語句塊1;
}
else
{
語句塊2;
}
3、多分支結(jié)構(gòu)
多分支結(jié)構(gòu)又分為:“分支結(jié)構(gòu)的嵌套”與“switch語句”
(1)分支結(jié)構(gòu)的嵌套的基本形式是:
if( <條件表達(dá)式> )
{
if( <條件表達(dá)式> )
{
語句塊1
}
else
{
語句塊2
}
}
else
{
if( <條件表達(dá)式> )
{
語句塊3
}
else
{
語句塊4
}
}
(2)switch語句
(2)switch語句的基本形式是:
switch(表達(dá)式)
{
case 常量1:語句1;break;
case 常量2:語句2;break;
case 常量3:語句3;break;
……
case 常量n:語句n;break;
default : 語句n+1;
}
這三種分支結(jié)構(gòu)的區(qū)別在于:
1、單分支結(jié)構(gòu)在滿足條件時執(zhí)行,不滿足條件不執(zhí)行;
2、在雙分支結(jié)構(gòu)中,如果條件表達(dá)式成立,則執(zhí)行語句塊1,否則,執(zhí)行語句塊2,所以雙分支結(jié)構(gòu)至少執(zhí)行一次;
3、多分支結(jié)構(gòu)的分支結(jié)構(gòu)的嵌套中,分支結(jié)構(gòu)的嵌套包含了單分支結(jié)構(gòu)與雙分支結(jié)構(gòu)的特性,可以用單分支結(jié)構(gòu)嵌套雙分支結(jié)構(gòu),也可用雙分支結(jié)構(gòu)嵌套單分支結(jié)構(gòu),通俗的來講就是分支結(jié)構(gòu)中放入一個分支結(jié)構(gòu),當(dāng)條件成立則執(zhí)行分支結(jié)構(gòu)中嵌套的分支結(jié)構(gòu);
4、switch語句可以理解成其他的分支結(jié)構(gòu)的總和,switch集成了上述所有分支結(jié)構(gòu)的特性,在有多種情況的時候才使用switch,當(dāng)switch(條件)滿足case 后面的常量,則執(zhí)行對應(yīng)的語句,若滿足的條件未能匹配到對應(yīng)的常量,則執(zhí)行default后的語句,有default的switch語句是至少執(zhí)行一次的,當(dāng)然default也可省略不寫,這樣switch語句也可以一次都不執(zhí)行。