官术网_书友最值得收藏!

第3章 選擇結(jié)構(gòu)

3.1 知識要點

選擇結(jié)構(gòu)是一種條件控制結(jié)構(gòu),它根據(jù)條件測試結(jié)果的不同而執(zhí)行不同的語句序列。也就是說,在含有控制結(jié)構(gòu)的程序代碼中,將有一部分代碼因不符合條件而不會被執(zhí)行。在C語言的選擇結(jié)構(gòu)中,基本的控制語句有兩種:if語句和switch語句。

3.1.1 if語句

if語句根據(jù)所給判定條件是否得到滿足,來決定執(zhí)行某個分支程序段。C語言提供了3種形式的if語句。

1. 單一選擇

if(表達(dá)式)
   語句1

當(dāng)表達(dá)式的值為真時,執(zhí)行語句1,為假時不執(zhí)行語句。

2. 二選一

if (表達(dá)式)
    語句1
else
    語句2

當(dāng)表達(dá)式的值為真時,執(zhí)行語句1,否則執(zhí)行語句2。

3. 多選一

if (表達(dá)式1)  語句1
else if(表達(dá)式2)  語句2
   …
else if(表達(dá)式n?1)  語句n?1
else語句n

依次判斷表達(dá)式的值,并根據(jù)判斷結(jié)果決定執(zhí)行哪條語句。若所有表達(dá)式的值均為假,則執(zhí)行最后的else后面的語句n。

3.1.2 switch語句

switch語句用于多路選擇控制結(jié)構(gòu),根據(jù)break語句的不同,一般可以分為3種情況。

1. 在每個case語句段中都使用break語句

語法:

witch( 表達(dá)式)
 { case常量表達(dá)式1;  語句段1; break;
   case常量表達(dá)式2;  語句段2; break;
   …
   case常量表達(dá)式n;  語句段n; break;
   default: 語句段n+1; break;
 }

功能:首先求解表達(dá)式。如果表達(dá)式的值與某個常量表達(dá)式的值相等,則執(zhí)行該常量表達(dá)式后的相應(yīng)語句段;如果表達(dá)式的值與任何一個常量表達(dá)式的值都不相等,則執(zhí)行default后的語句段;最后執(zhí)行break語句,跳出switch語句。

2. 在每個case語句段中都不使用break語句

語法:

witch( 表達(dá)式)
 {  case常量表達(dá)式1;  語句段1;
     case常量表達(dá)式2;  語句段2;
     …
     case常量表達(dá)式n;  語句段n;
     default: 語句段n+1;
 }

功能:求解表達(dá)式后,如果表達(dá)式的值與某個常量表達(dá)式的值相等,則執(zhí)行該常量表達(dá)式后的所有語句段;如果表達(dá)式的值與任何一個常量表達(dá)式的值都不相等,則執(zhí)行default后的所有語句段。

3. 在switch語句的某些語句段中使用break語句

用戶可通過對某些case語句段的末尾是否使用break語句去實現(xiàn)更多的功能。

主站蜘蛛池模板: 舞钢市| 红桥区| 淅川县| 长沙县| 深泽县| 黄冈市| 镇巴县| 敦化市| 永胜县| 汽车| 庄河市| 阳西县| 天气| 勃利县| 虞城县| 修水县| 台山市| 曲水县| 蛟河市| 永春县| 遂川县| 东方市| 衡阳县| 沂水县| 六安市| 新绛县| 遂昌县| 阜宁县| 拉孜县| 峨眉山市| 彝良县| 新安县| 翁牛特旗| 丘北县| 栖霞市| 朔州市| 临猗县| 紫金县| 车险| 淳安县| 白银市|