在程序的三種基本結(jié)構(gòu)中,第二種即為選擇結(jié)構(gòu),其基本特點(diǎn)是:程序的流程由多路分支
組成,在程序的一次執(zhí)行過程中,根據(jù)不同的情況,只有一條支路被選中執(zhí)行,而其他分支上的語句被直接跳過。
C語言中,提供if語句和switch語句選擇結(jié)構(gòu),if語句用于兩者選一的情況,而switch用于多分支選一的情形。
3.3.1if語句
1.if語句的兩種基本形式首先,我們看一個(gè)例子,由此了解選擇結(jié)構(gòu)的意義及設(shè)計(jì)方法。
[例3-5]輸入三個(gè)數(shù),找出并打印其最小數(shù)。
分析:設(shè)三個(gè)數(shù)為A、B、C,由鍵盤讀入,我們用一個(gè)變量MIN來標(biāo)識(shí)最小數(shù),A、B、
C與MIN皆定義為int型變量。
每次比較兩個(gè)數(shù),首先比較A和B,將小的一個(gè)賦給MIN,再把第三個(gè)數(shù)C與MIN比較,
再將小的一個(gè)賦給MIN,則最后MIN即為A、B、C中最小數(shù)。
算法如下:
1)輸入A、B、C。
2)將A與B中小的一個(gè)賦給MIN。
3)將MIN與C中小的一個(gè)賦給MIN。
4)輸出MIN。
將第2)步細(xì)化為:若A 第3)步細(xì)化為:若C 對(duì)應(yīng)圖3-1和圖3-2,正是if語句的兩種基本形式,與圖3-2對(duì)應(yīng)的if語句的格式為:
if<表達(dá)式>語句
當(dāng)表達(dá)式為真時(shí),執(zhí)行語句,表達(dá)式為假時(shí)跳過語句。
與圖3-1對(duì)應(yīng)的if語句的格式為:
if〈表達(dá)式〉
語句1
else
語句2
當(dāng)表達(dá)式為真時(shí),執(zhí)行語句1,表達(dá)式為假時(shí)執(zhí)行語句2。無論如何,語句1與語句2每次只能有一個(gè)被執(zhí)行。
要注意的是:if或if...else,包括后面要講到的嵌套if,即if...elseif...被看成是一條語句,即使其中的語句是包含多條語句的復(fù)合語句,仍然如此。
組成,在程序的一次執(zhí)行過程中,根據(jù)不同的情況,只有一條支路被選中執(zhí)行,而其他分支上的語句被直接跳過。
C語言中,提供if語句和switch語句選擇結(jié)構(gòu),if語句用于兩者選一的情況,而switch用于多分支選一的情形。
3.3.1if語句
1.if語句的兩種基本形式首先,我們看一個(gè)例子,由此了解選擇結(jié)構(gòu)的意義及設(shè)計(jì)方法。
[例3-5]輸入三個(gè)數(shù),找出并打印其最小數(shù)。
分析:設(shè)三個(gè)數(shù)為A、B、C,由鍵盤讀入,我們用一個(gè)變量MIN來標(biāo)識(shí)最小數(shù),A、B、
C與MIN皆定義為int型變量。
每次比較兩個(gè)數(shù),首先比較A和B,將小的一個(gè)賦給MIN,再把第三個(gè)數(shù)C與MIN比較,
再將小的一個(gè)賦給MIN,則最后MIN即為A、B、C中最小數(shù)。
算法如下:
1)輸入A、B、C。
2)將A與B中小的一個(gè)賦給MIN。
3)將MIN與C中小的一個(gè)賦給MIN。
4)輸出MIN。
將第2)步細(xì)化為:若A 第3)步細(xì)化為:若C
if<表達(dá)式>語句
當(dāng)表達(dá)式為真時(shí),執(zhí)行語句,表達(dá)式為假時(shí)跳過語句。
與圖3-1對(duì)應(yīng)的if語句的格式為:
if〈表達(dá)式〉
語句1
else
語句2
當(dāng)表達(dá)式為真時(shí),執(zhí)行語句1,表達(dá)式為假時(shí)執(zhí)行語句2。無論如何,語句1與語句2每次只能有一個(gè)被執(zhí)行。
要注意的是:if或if...else,包括后面要講到的嵌套if,即if...elseif...被看成是一條語句,即使其中的語句是包含多條語句的復(fù)合語句,仍然如此。