程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 解析c語言switch中break語句的具體作用

解析c語言switch中break語句的具體作用

編輯:C語言基礎知識

問題:
break在for循環、while循環等循環流程控制中起的作用是停止執行break後面的語句,跳出本次循環,並跳出該循環控制體;
在switch條件選擇中,沒有了循環控制,break又起什麼作用呢?

解決辦法:
1. switch語句的執行流程是:
首先計算switch後面圓括號中表達式的值,然後用此值依次與各個case的常量表達式比較,
若圓括號中表達式的值與某個case後面的常量表達式的值相等,就執行此case後面的語句,執行後遇到break語句就退出switch語句,程序流程轉向開關語句的下一個語句;
若圓括號中表達式的值與所有case後面的常量表達式都不等,則執行default後面的語句,然後退出switch語句,程序流程轉向開關語句的下一個語句。
在switch-case語句中,多個case可以共用一條執行語句,如:
case 常量表達式1:
case 常量表達式2:
case 常量表達式3:
語句;
break;
由此可以看出case語句的作用:
case後面的常量表達式實際上只起語句標號作用,而不起條件判斷作用,即“只是開始執行處的入口標號”。

因此,一旦與switch後面圓括號中表達式的值匹配,就從此標號處開始執行;
而且執行完一個case後面的語句後,若沒遇到break語句,就自動進入下一個case繼續執行,而不再判斷是否與之匹配,直到遇到break語句才停止執行,退出switch語句。

因此,若想執行一個case分之後立即跳出switch語句,就必須在此分支的最後添加一個break語句。

2. 從上面的描述可以看出,switch條件選擇語句中的break的作用跟循環控制語句中的作用基本相同:
都是不執行break之後的語句,並結束退出switch語句;

3. 與循環控制中存在continue語句不同的是,switch條件選擇語句中沒有continue語句;

ok問題解決。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved