【正文】
第 2章 程序控制結(jié)構(gòu) 選擇控制 循環(huán)控制 判斷表達式的使用 轉(zhuǎn)向語句 小結(jié) 語句是程序的基本語法成分 。 程序設(shè)計語言的語句按功能可以分成三類: ? 聲明語句 指示編譯器分配內(nèi)存 , 或者提供程序連接信息 ? 操作語句 描述對數(shù)據(jù)的處理 ? 控制語句 用于控制程序的執(zhí)行流程 。 所有程序都只能包含三種控制結(jié)構(gòu): 順序結(jié)構(gòu) 、 選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 第 2章 程序控制結(jié)構(gòu) 對給定的條件進行判斷,并根據(jù)判斷的結(jié)果選擇不同的操作 選擇控制 條件運算表達式 根據(jù)判斷條件,決定表達式的值 不改變程序語句執(zhí)行流程 比較條件運算 1. if 語句的形式和執(zhí)行流程 if( 表達式 ) 語句 ; if 語句 語句形式( 1) 執(zhí)行流程 false (0) true (非 0) 表達式 語 句 if 語句 false (0) true (非 0) 表達式 語 句 1. if 語句的形式和執(zhí)行流程 if( 表達式 ) 語句 ; if 語句 語句形式( 1) 執(zhí)行流程 表達式 語 句非 if 語句 false (0) true (非 0) 表達式 語 句 1. if 語句的形式和執(zhí)行流程 if( 表達式 ) 語句 ; if 語句 語句形式( 1) 執(zhí)行流程 表達式 if 語句 if 語句 3 5 a b max 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 3 5 a b max 3 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 3 5 a b max 3 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 3 5 a b max 3 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 3 5 a b max 5 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 3 5 a b max 5 max = 5 輸出 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 7 3 a b max 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 7 3 a b max 7 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 7 3 a b max 7 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 7 3 a b max 7 max = 7 輸出 例: : max = a 。 if ( b a) max = b 。 cout max = max endl。 : if 語句 if 語句 1. if 語句的形式和執(zhí)行流程 語句形式( 2) if( 表達式 ) 語句 1 ; else 語句 2 ; 執(zhí)行流程 false (0) true (非 0) 表達式 語 句 1 語 句 2 if 語句 if 語句 1. if 語句的形式和執(zhí)行流程 語句形式( 2) if( 表達式 ) 語句 1 ; else 語句 2 ; 執(zhí)行流程 false (0) true (非 0) 表達式 語 句 1 語 句 2 非 表達式 語 句 if 語句 if 語句 1. if 語句的形式和執(zhí)行流程 語句形式( 2) if( 表達式 ) 語句 1 ; else 語句 2 ; 執(zhí)行流程 false (0) true (非 0) 表達式 語 句 1 語 句 2 表達式 語 句 if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 3 5 a b max if 語句 if 語句 3 5 a b max 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 3 5 a b max 5 if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 3 5 a b max 5 max = 5 輸出 if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 7 3 a b max if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 7 3 a b max 7 if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 7 3 a b max 7 max = 7 輸出 if 語句 if 語句 例: : if ( b a ) max = b 。 else max = a 。 cout max = max endl。 : 7 3 a b max 7 max = 7 輸出 試一試 用條件表達式修改該程序 if 語句 if 語句 2. if 語句的嵌套 ? if 語句中的執(zhí)行語句如果又是另一個 if語句,稱為嵌套 if語句 ? if 與 else 的配對關(guān)系: C++規(guī)定, else 總是與它接近的 if 配對 ? 使用復(fù)合語句,可以改變條件語句的執(zhí)行流程 if 語句 if 語句 例 21 編寫程序計算貨物運費。設(shè)貨物運費每噸單價 p(元)與運輸 距離 s(公里)之間有如下關(guān)系: ?????????????????400203002022510030sssssp = 輸入要托運的貨物重量為 w 噸,托運距離 s 公里,計算總運費 t : t = p * w * s if 語句 if 語句 控制流圖 true false true true true false false false S 100? S 200? S 300? S 400? P = 30 P = 20 P = P = 25 P = t = p * w * s if 語句 if 語句 true false true true true false false false S 100? S 200? S 300? S 400? P = 30 P = 20 P = P = 25 P = t = p * w * s // 例 21 計算貨物運費 include iostream includeiomanip using namespace std 。 int main() { double t , p , w , s 。 cout Please input weight( ton ) : 。 cin w 。 cout Please input distsnce( kilometre ) : 。 cin s 。 if ( s 100 ) p = 30 。 else if ( s 200 ) p = 。 else if ( s 300 ) p = 25 。 else if ( s 400 ) p = 。 else p = 20 。 t = p * w * s 。 cout The cost is: setprecision(2) t 39。$39。 endl 。 } 想一想: 幾個 else 分支語句的次序可以改變嗎? if 語句 // 例 21 計算貨物運費 include iostream includeiomanip using namespace std 。 int main() { double t , p , w , s 。 cout Please input weight( ton ) : 。 cin w 。 cout Please input distsnce( kilometre ) : 。 cin s 。 if ( s 100 ) p = 30 。 else if ( s 200 ) p = 。