基本類型
學習分支結構不要被分支嵌套所迷惑,只要正確繪製出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
單一分支體
if(條件)
{
分支體
}
雙分支體
if(條件)
{分支1}
else
{分支2}
d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x1=(-b-sqrt(d))/2a;
printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(“x1=%8.4f+%8.4fi\n”r,i);
printf(“x2=%8.4f-%8.4fi\n”r,i)
}
嵌套分支語句
其語句格式為:
if(條件1) {分支1};
else if(條件2) {分支2}
else if(條件3) {分支3}
……
else if(條件n) {分支n}
else {分支n+1}
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常複雜,對於程式的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
switch開關語句
該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設定,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程式執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在套用時要特別注意開關條件的合理設定以及break語句的合理套用。
分支結構其實就是選擇結構
分支結構其實就是選擇結構,程式的三大控制結構為:順序結構、循環結構、選擇結構(分支結構。 這裡將幫您跳轉——選擇結構
用於判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控制程式的流程。 使用選擇結構語句時,要用條件表達式來描述條件 示例:If x = 5 Then y = x + 1 If a>1 And b<>0 Then x = 1 當然各種程式對選擇結構語法不一樣。例如: C語言的選擇結構為: if(條件表達式1) {語句塊1;} else if(條件表達式2) {語句塊2;} else if(條件表達式3) {語句塊3;} . . . else {語句塊n;} VB 中的選擇結構為: If(條件表達式1) then 語句塊1 ElseIf(條件表達式2) then 語句塊2 . . . Else 語句塊n End If C語言中switch 語句為: switch(變數或表達式) { case 常量表達式1: 語句塊1; break; case 常量表達式2: 語句塊2; break; ……. case 常量表達式n: 語句塊n; break; default:語句塊n+1 break; } VB語言中Select Case(相當於C的switch)語句為: Select Case 變數或表達式 Case 表達式列表1 語句塊1 Case 常量表達式2 語句塊2 ……. Case 常量表達式n: 語句塊n [Case Else 語句塊n+1] End Select } 條件表達式可以分為兩類: 關係表達式和邏輯表達式 條件表達式的取值為邏輯值(也稱布爾值): 真(True) 和假(False) C用非0表示真,0表示假 以下的說明以C為依據: 1-關係運算符和關係表達式 關係運算是比較簡單的一種邏輯運算, 其優先次序為: < 、 <= 、 > 、 >= 優先權相同,高 = = 、 != 優先權相同,低 用關係運算符連線起來的式子稱為關係表達式。關係表達式的值是真/假。C語言中,非零即為真,零代表假 a=3,b=5,則關係表達式 a>b的值是假,而a<b的值是真 關係運算符 關係運算符是雙目運算符,在雙目運算符中,它的優先權比賦值運算符要高: 算術運算符 高 關係運算符 賦值運算符 低 比如,a=1,b=3 a=b>5 即 a=(b>5),a+b>5 即 (a+b)>5 而a>b=5則是錯誤的表達式,因為它的實際含義是:(a>b)=5, C語言不允許對表達式賦值! 2-邏輯運算符和邏輯表達式 C語言提供了3個邏輯運算符,其中一個是單目運算符 邏輯表達式也只有兩個值:真和假