電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 編程學(xué)習(xí) >> C語言 >> 正文

【C語言】if、if else、else、switch的用法_c語言什么時(shí)候用else if

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2023/11/14

1. if多重判斷

1.1 if

如果程序中判斷事件很多,全部用if的話,會(huì)遍歷整個(gè)程序,效率低。

1.2 else if

如果if的判斷沒有通過,則進(jìn)行下面的else if,如果當(dāng)前的else if判斷通過,則只執(zhí)行當(dāng)前else if的語句。如果沒通過,則一直執(zhí)行下面的else if判斷。

1.3 else

else為最后的分支,如果在else之前的if、else if判斷都沒有通過就會(huì)執(zhí)行else。

注:在一條if條件判斷中,可以有無數(shù)條else if,但是只能有一個(gè)else。在一個(gè)if條件判斷中,如果之前的if和else if都未通過,那么執(zhí)行到else為無條件通過

2. switch多重判斷

當(dāng)分支比較少的時(shí)候我們使用if else語句解決,當(dāng)分支比較多的時(shí)候,我們要使用switch case語句解決,針對(duì)分支的復(fù)雜性選擇合適的程序解決。

當(dāng)分支過多時(shí),用 if else 處理會(huì)不太方便,而且容易出現(xiàn) if else 配對(duì)出錯(cuò)的情況。例如,輸入一個(gè)整數(shù),輸出該整數(shù)對(duì)應(yīng)的星期幾的英文表示:

switch(表達(dá)式){
    case 整型數(shù)值1: 語句 1;break;
    case 整型數(shù)值2: 語句 2;break;
    ......
    case 整型數(shù)值n: 語句 n;break;
    default: 語句 n+1;
}
執(zhí)行過程:
1 . 首先計(jì)算“表達(dá)式”的值,假設(shè)為 m。
2 . 從第一個(gè) case 開始,比較“整型數(shù)值1”和 m,如果它們相等,就執(zhí)行冒號(hào)后面的所有語句,
也就是從“語句1”一直執(zhí)行到“語句n+1”,而不管后面的 case 是否匹配成功。
3 . 如果“整型數(shù)值1”和 m 不相等,就跳過冒號(hào)后面的“語句1”,繼續(xù)比較第二個(gè) case、
第三個(gè) case……一旦發(fā)現(xiàn)和某個(gè)整型數(shù)值相等了,就會(huì)執(zhí)行后面所有的語句。假設(shè) m 和
“整型數(shù)值5”相等,那么就會(huì)從“語句5”一直執(zhí)行到“語句n+1”。
4 . 如果直到最后一個(gè)“整型數(shù)值n”都沒有找到相等的值,那么就執(zhí)行 default 后的“語句 n+1”。

break 是C語言中的一個(gè)關(guān)鍵字,專門用于跳出 switch 語句。所謂“跳出”,是指一旦遇到 break,就不再執(zhí)行 switch 中的任何語句,包括當(dāng)前分支中的語句和其他分支中的語句;也就是說,整個(gè) switch 執(zhí)行結(jié)束了,接著會(huì)執(zhí)行整個(gè) 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 后面必須是一個(gè)整數(shù),或者是結(jié)果為整數(shù)的表達(dá)式,但不能包含任何變量。

2 . default 不是必須的。當(dāng)沒有 default 時(shí),如果所有 case 都匹配失敗,那么就什么都不執(zhí)行。

Tags:C語言,if,else,switch  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊。 昵稱:注冊(cè)  登錄
[ 查看全部 ] 網(wǎng)友評(píng)論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
午夜精品福利视频| 啦啦啦中文在线观看日本| 97精品国产97久久久久久免费 | 国产精品一区久久| 91精品啪在线观看国产18| 天堂网www在线观看| 中文字幕免费在线观看| 日本波多野结衣电影| 亚洲午夜国产精品无码老牛影视 | poren日本| 好男人社区www在线观看高清| 中国少妇无码专区| 成人动漫在线视频| 久久久婷婷五月亚洲97号色| 日本高清免费一本视频无需下载| 亚洲午夜久久久精品电影院| 日韩爽爽视频爽爽| 亚洲不卡1卡2卡三卡2021麻豆| 日韩国产成人精品视频| 亚洲中文字幕精品久久| 日本边添边摸边做边爱喷水| 二个人看的www免费视频| 日本免费小视频| 久久精品国产欧美日韩| 日本高清成本人视频一区| 久久伊人中文字幕| 日本视频免费看| 久久久久人妻一区精品| 操动漫美女视频| 三级网站在线免费观看| 少妇高潮惨叫喷水在线观看| 中文字幕高清在线| 成人a级高清视频在线观看| 丰满人妻一区二区三区视频53| 女人高潮被爽到呻吟在线观看 | 中文字幕日韩精品有码视频 | 国产亚洲欧美精品久久久| 色在线亚洲视频www| 国产成人亚洲综合无码| 韩国午夜理伦三级2020韩| 国产成人精品视频一区二区不卡 |