c語言switch中break語句的作用

2021-06-09 11:16:09 字數 1012 閱讀 6847

問題:

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語句;

問題解決。

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

問題 break在for迴圈 while迴圈等迴圈流程控制中起的作用是停止執行bregcpmdmxgjeak後面的語句,跳出本次迴圈,並跳出該迴圈控制體 在switch條件選擇中,沒有了迴圈控制,break又起什麼作用呢?解決辦法 1.switch語句的執行流程是 首先計算switch後面圓括號中表...

switch的基本用法與break

一 switch的基本用法 switch語句是多分支選擇語句,用來實現多分支選擇結構。它的一般形式如下 switch 表示式 其中 1 switch後面的括號內的 表示式 結果可以是整形值,也可以是字元型別的資料。2 當switch表示式的值與某乙個case語句中的常量表示式的值相同時,就執行這個c...

switch語句中使用break???

break是跳出迴圈使用的。而在switch語句中使用switch語句是結束switch語句。比如 switch x 如果沒有break語句,且x 1 的情況下輸出的結果是 這是一樓 這是二樓 這是三樓 這是default語句 這裡大家注意,switch語句中的x並不是判斷,而是從這個開始繼續往下執...