解析c語言switch中break語句的具體作用
問題:
break在for循環(huán)、while循環(huán)等循環(huán)流程控制中起的作用是停止執(zhí)行break后面的語句,跳出本次循環(huán),并跳出該循環(huán)控制體;
在switch條件選擇中,沒有了循環(huán)控制,break又起什么作用呢?
解決辦法:
1. switch語句的執(zhí)行流程是:
首先計算switch后面圓括號中表達(dá)式的值,然后用此值依次與各個case的常量表達(dá)式比較,
若圓括號中表達(dá)式的值與某個case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇到break語句就退出switch語句,程序流程轉(zhuǎn)向開關(guān)語句的下一個語句;
若圓括號中表達(dá)式的值與所有case后面的常量表達(dá)式都不等,則執(zhí)行default后面的語句,然后退出switch語句,程序流程轉(zhuǎn)向開關(guān)語句的下一個語句。
在switch-case語句中,多個case可以共用一條執(zhí)行語句,如:
case 常量表達(dá)式1:
case 常量表達(dá)式2:
case 常量表達(dá)式3:
語句;
break;
由此可以看出case語句的作用:
case后面的常量表達(dá)式實際上只起語句標(biāo)號作用,而不起條件判斷作用,即“只是開始執(zhí)行處的入口標(biāo)號”。
因此,一旦與switch后面圓括號中表達(dá)式的值匹配,就從此標(biāo)號處開始執(zhí)行;
而且執(zhí)行完一個case后面的語句后,若沒遇到break語句,就自動進(jìn)入下一個case繼續(xù)執(zhí)行,而不再判斷是否與之匹配,直到遇到break語句才停止執(zhí)行,退出switch語句。
因此,若想執(zhí)行一個case分之后立即跳出switch語句,就必須在此分支的最后添加一個break語句。
2. 從上面的描述可以看出,switch條件選擇語句中的break的作用跟循環(huán)控制語句中的作用基本相同:
都是不執(zhí)行break之后的語句,并結(jié)束退出switch語句;
3. 與循環(huán)控制中存在continue語句不同的是,switch條件選擇語句中沒有continue語句;
ok問題解決。
上一篇:編譯錯誤error: stray ‘\343’in program的解決方法
欄 目:C語言
下一篇:使用C語言中的time函數(shù)獲取系統(tǒng)時間
本文標(biāo)題:解析c語言switch中break語句的具體作用
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/4268.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對數(shù)怎么表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 04-02jquery與jsp,用jquery
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實例總結(jié)
- 01-10使用C語言求解撲克牌的順子及n個骰子