freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

第4章c表達式與基本程序控制結構(編輯修改稿)

2024-08-16 06:44 本頁面
 

【文章內容簡介】 } 二義性原與最近匹配原則 在將兩種格式的 if語句混合起來進行嵌套時 , 要注意正確理解其含義 。請看下面的語句: x = 9 。 if ( x 2 ) if ( x 4 ) x = 35 。 else x = 78 。 cout x endl 。 其中的 if 語句可以有兩種理解 。 其一理解為: if ( x 2 ) { if ( x 4 ) x = 35 。 } else x = 78 。 其二理解為: if ( x 2 ) { if ( x 4 ) x = 35 。 else x = 78 。 } 當 x≤2或者 x≥4時 , 這兩種理解會導致兩個不同的答案 。 這就叫產生了二義性 。 在絕大多數的語言中 , 包括 C++, 都采用最近匹配原則來解決這個問題 。 所謂最近匹配原則就是每個 else必須與離它最近的那個沒有匹配的 if相匹配 。 按照這個原則 , 上面的第二種理解是正確的 。 2. switch語句 switch語句又稱為開關語句 , 其格式如下: switch (表達式 ) { case 常量表達式 1 : 語句序列 1 break 。 case 常量表達式 2 : 語句序列 2 break 。 …… case 常量表達式 n : 語句序列 n break 。 default : 語句序列 n+1 break 。 } 其中, switch后面的表達式的類型必須與 case后面的常量表達式的類型一致,而且只能是字符型、整型或枚舉型(注意不能是浮點型) 。 case后面的表達式必須是常量表達式,不能含有變量 。 同一個 switch中不能有重復的常量表達式。 switch語句執(zhí)行的過程如下:先計算 switch后面的表達式的值 , 然后拿它與各 case后面的常量表達式比較 。 當遇到某個 case中的常量表達式的值與它相等時 , 就執(zhí)行那個 case后的語句序列 , 直到遇到break語句或 switch語句結束時的右花括號 “ }”時 , 才退出 switch語句 , 去執(zhí)行 switch后面的語句 。 如果沒有一個常量表達式與 switch后面的表達式值相等 , 就執(zhí)行 default后的語句序列 。 include void main( ) { int w 。 //代表星期的整數 cout Please enter the number of week : 。 cin w 。 switch ( w ) { case 0 : cout It39。s Sunday . endl 。 break 。 case 1 : cout It39。s Monday . endl 。 break 。 case 2 : cout It39。s Tuesday . endl 。 break 。 例 根據一個代表星期的 0到 6之間的整數,在屏幕上打印出它代表的是星期幾。 case 3 : cout It39。s Wednesday . endl 。 break 。 case 4 : cout It39。s Thursday . endl 。 break 。 case 5 : cout It39。s Friday . endl 。 break 。 case 6 : cout It39。s Saturday . endl 。 break 。 default : cout Invalid data ! endl 。 } } default語句是可以缺省的 。 如果沒有 default, 則當所有匹配都失敗時 , 將不執(zhí)行任何操作 。 建議使用 default語句 ,除非 case語句已覆蓋了所有的可能 , 以避免由于沒有考慮到某種情況而給程序帶來的不利影響 。 break語句在 switch中的作用是跳出整個 switch語句 。 在例 , 每個 case的語句序列后都有一個 break語句 ( 最后一個 case或 default語句的 break可以省略 ) 。 在這種情況下 , 各個 case的排列次序可以是任意, 不會影響程序的結果 。 如果沒有 break, 則執(zhí)行完該 case語句的語句序列后 , 還將接下去執(zhí)行后面的 case的語句序列 。 在這種情況下 , 各個 case排列的次序不同 , 就可能產生不同的結果 。 例如 , 把例 break都刪去 ( 假定輸入的 w的值為 4) , 會出現什么情況呢 ? 。 如果是在有 break的情況下 , w應與第五個 case中的常量 4匹配 , 從而在屏幕上打印出: It39。s Thursday . 之后就該跳出 switch, 到達程序末尾并結束 。 然而 , 沒有了 break的switch語句得到的結果與原來大不一樣 。 在打印了上面的字符串后 ,并不會跳出 switch, 而是依次進入后面的 case及 default語句去執(zhí)行打印語句 , 于是得到的輸出為: It39。s Thursday . It39。s Friday . It39。s Saturday . Invalid data ! 如果多個 case后的語句序列是相同的 , 即要做的操作是一樣的 ,可采用下面的格式以避免重復書寫: switch (表達式 ) { case 常量表達式 1 : case 常量表達式 2 : case 常量表達式 i : 語句序列 break 。 …… case 常量表達式 n : 語句序列 n break 。 default : 語句序列 n+1 } include void main( ) { int seniority , s 。 double wages , allowance 。 cout Please enter the years of service : 。 cin seniority 。 cout Please enter the basic wages : 。 cin wages 。 s = seniority / 10 。 //得到工齡的十位數字 switch ( s ) { case 0 : //工齡在 10年以下 allowance = wages * 。 break 。 case 1 : // 工齡在 10年~ 19年 allowance = wages * 。 break 。 case 2 : // 工齡在 20年~ 29年 allowance = wages * 。 break 。 例 用 switch語句來實現例 。 這個程序是
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1