18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 編程學習 >> C語言 >> 正文

【C語言】if、if else、else、switch的用法_c語言什麽時候用else if

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/11/14

1. if多重判斷

1.1 if

如果程序中判斷事件很多,全部用if的話,會(hui) 遍曆整個(ge) 程序,效率低。

1.2 else if

如果if的判斷沒有通過,則進行下麵的else if,如果當前的else if判斷通過,則隻執行當前else if的語句。如果沒通過,則一直執行下麵的else if判斷。

1.3 else

else為(wei) 最後的分支,如果在else之前的if、else if判斷都沒有通過就會(hui) 執行else。

注:在一條if條件判斷中,可以有無數條else if,但是隻能有一個(ge) else。在一個(ge) if條件判斷中,如果之前的if和else if都未通過,那麽(me) 執行到else為(wei) 無條件通過

2. switch多重判斷

當分支比較少的時候我們(men) 使用if else語句解決(jue) ,當分支比較多的時候,我們(men) 要使用switch case語句解決(jue) ,針對分支的複雜性選擇合適的程序解決(jue) 。

當分支過多時,用 if else 處理會(hui) 不太方便,而且容易出現 if else 配對出錯的情況。例如,輸入一個(ge) 整數,輸出該整數對應的星期幾的英文表示:

switch(表達式){ case 整型數值1: 語句 1;break; case 整型數值2: 語句 2;break; ...... case 整型數值n: 語句 n;break; default: 語句 n+1; } 執行過程: 1 . 首先計算“表達式”的值,假設為(wei) m。 2 . 從(cong) 第一個(ge) case 開始,比較“整型數值1”和 m,如果它們(men) 相等,就執行冒號後麵的所有語句, 也就是從(cong) “語句1”一直執行到“語句n+1”,而不管後麵的 case 是否匹配成功。 3 . 如果“整型數值1”和 m 不相等,就跳過冒號後麵的“語句1”,繼續比較第二個(ge) case、 第三個(ge) case……一旦發現和某個(ge) 整型數值相等了,就會(hui) 執行後麵所有的語句。假設 m 和 “整型數值5”相等,那麽(me) 就會(hui) 從(cong) “語句5”一直執行到“語句n+1”。 4 . 如果直到最後一個(ge) “整型數值n”都沒有找到相等的值,那麽(me) 就執行 default 後的“語句 n+1”。

break 是C語言中的一個(ge) 關(guan) 鍵字,專(zhuan) 門用於(yu) 跳出 switch 語句。所謂“跳出”,是指一旦遇到 break,就不再執行 switch 中的任何語句,包括當前分支中的語句和其他分支中的語句;也就是說,整個(ge) switch 執行結束了,接著會(hui) 執行整個(ge) switch 後麵的代碼。

#include <stdio.h> int main(){ int a; printf("Input integer number:"); scanf("%d",&a); switch(a){ case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4: printf("Thursday\n"); break; case 5: printf("Friday\n"); break; case 6: printf("Saturday\n"); break; case 7: printf("Sunday\n"); break; default:printf("error\n"); break; } return 0; }

1 . case 後麵必須是一個(ge) 整數,或者是結果為(wei) 整數的表達式,但不能包含任何變量。

2 . default 不是必須的。當沒有 default 時,如果所有 case 都匹配失敗,那麽(me) 就什麽(me) 都不執行。

Tags:C語言,if,else,switch  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢