C語言switch語句詳解

2021-05-31 22:38:22 字數 848 閱讀 6000

#include "stdio.h"

void main()

}這裡沒有用到break.

輸入1,得到「abcde"

輸入2,得到」bcde"

輸入3,得到「cde"

問:1,case如果是條件式子,為什麼輸入"2"的時候,與"3","4"不符,也會輸出"cd"?

2,如果不是條件式子,為什麼輸入"2"的時候,"a"又沒能輸出?

答: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語句才停止執行,退出break語句。

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

C語言switch語句

switch語句 switch 表示式 case 常量表示式 1 語句1 case 常量表示式 2 語句2 case 常量表示式 n 語句n default 語句 n 1 說明 1 switch後面括號內的表示式,其值可以使整形 字元型 列舉型資料 2 應該在執行乙個case 分支後,使流程跳出 s...

C語言switch語句

既然有了if else 組合為什麼還需要switch case 組合呢?那你既然有了菜刀為什麼還需要水果刀呢?你總不能扛著雲長的青龍偃月刀 又名冷豔鋸 去削蘋果吧。如果你真能做到,關二爺也會佩服你的。if else 一般表示兩個分支或是巢狀表示少量的分支,但如果分支很多的話 還是用switch ca...

C語言 條件語句 switch語句

用於直接處理不同情況下的多路問題。switch語句又可稱為開關語句,其執行流程和多分支if語句類似。switch 表示式 當switch後面的 表示式 的值與某個case後的 常量表示式 的值相同時,就執行該case後面的語句 組 當遇到break語句時,跳出switch語句,轉向執行switch結...