當前位置:首頁 » 編程語言 » c語言switchcase字元

c語言switchcase字元

發布時間: 2024-10-02 20:46:08

c語言的switch語句中case後()

選B,case後面只能是整型或字元型的常量或常量表達式。

一、switch是另外一種選擇結構的語句,用來代替簡單的、擁有多個分支的if else 語句,基本格式如下:

switch(表達式){
case 整型數值1: 語句 1;
case 整型數值2: 語句 2;
......
case 整型數值n: 語句 n;
default: 語句 n+1;
}

二、它的執行過程是:

1、首先計算「表達式」的值,假設為 m。

2、 從第一個 case 開始,比較「整型數值1」和 m,如果它們相等,就執行冒號後面的所有語句,也就是從「語句1」一直執行到「語句n+1」,而不管後面的 case 是否匹配成功。

3、如果「整型數值1」和 m 不相等,就跳過冒號後面的「語句1」,繼續比較第二個 case、第三個 case……一旦發現和某個整型數值相等了,就會執行後面所有的語句。假設 m 和「整型數值5」相等,那麼就會從「語句5」一直執行到「語句n+1」。

4、如果直到最後一個「整型數值n」都沒有找到相等的值,那麼就執行 default 後的「語句 n+1」。

(1)c語言switchcase字元擴展閱讀:

1、switch後面括弧內的【表達式】,ANSI標准允許它為任何類型;

2、當表達式的值與某一個case後面的常量表達式的值相等時,就執行此case後面的語句,否則,就執行default後面的語句。

3、每一個case的常量表達式的值必須互不相同,否則就會出現互相矛盾的現象(對表達式的同一個值,有兩種或多種執行方案)。

4、各個case各default的出現次序不影響執行結果。例如,可以先出現"default: ...",再出現"case 'D': ...",然後是"case 'A': ...".

5、執行完一個case後面的語句後,流程式控制制轉移到下一個case繼續執行。"case常量表達式"只是起語句標號作用,並不是在該處進行條件判斷。在執行swith語句時,根據switch後面表達式的值找到匹配的入口標號,就從此標號開始執行下去,不再進行判斷。

Ⅱ c語言中case的意思和用法

c語言中case是和switch一起使用的,構成switch—case語句,進行判斷選擇,case是用來表示選擇結構的。

switch語句的一般形式為:

switch(表達式){

case 常量表達式1: 語句1;

case 常量表達式2: 語句2;

case 常量表達式n: 語句n;

default: 語句n+1;}


其語義是:計算表達式的值。 並逐個與其後的常量表達式值相比較,當表達式的值與某個常量表達式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表達式的值與所有case後的常量表達式均不相同時,則執行default後的語句。

(2)c語言switchcase字元擴展閱讀

任何switch語句都必須遵循以下規則:

1、只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。

2、switch()的參數類型不能為實型 。

3、case標簽必須是常量表達式(constantExpression),如42或者"42"。

4、case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。

Ⅲ c語言中switch怎麼可以用字元串作條件表達式

首先: switch 語句及case 的類型 表達式必須是整數、字元或枚舉量值。

超級好奇地編譯了一下:

1>e:\project\stl_proc\stl_proc\stl_proc\stl_proc.cpp(86) : error C2052: 「double」: 非法的 case 表達式類型

真是顛覆了我的三觀。。。。 switch('0.4') 竟然沒報錯。。 我把下面的修復了之後, 讓我們看看程序怎麼處理
改成:
switch('0.4')
{
case '0': a=0;break;
case'.': a=9;break;
default:a=7;
}printf("%d",a);

運行了一下, 都走到default 分支了 。

改成:
switch('0')
{
case '0': a=0;break;
case'.': a=9;break;
default:a=7;
}printf("%d",a);
全部走到 case 0 分支了。

結論: switch 後面可以不是一個變數。

熱點內容
一個伺服器搭建k8s 發布:2024-10-02 23:56:45 瀏覽:975
微信源碼net 發布:2024-10-02 23:56:44 瀏覽:131
安卓中通過什麼傳遞數據 發布:2024-10-02 23:48:26 瀏覽:14
在空間怎麼上傳視頻 發布:2024-10-02 23:44:19 瀏覽:967
方舟手游非官方伺服器有什麼用 發布:2024-10-02 23:32:10 瀏覽:442
壓縮海帶球 發布:2024-10-02 23:11:31 瀏覽:578
配置顯卡怎麼選 發布:2024-10-02 23:11:26 瀏覽:120
android的環境變數配置 發布:2024-10-02 22:54:23 瀏覽:924
whereisjava 發布:2024-10-02 22:42:21 瀏覽:818
流浪連招腳本 發布:2024-10-02 22:37:23 瀏覽:286