switch(a)case A A是否可以為變數

2021-03-27 06:16:37 字數 4137 閱讀 2926

1樓:南瓜蘋果

switch (a) case a: a不可以為一個變數。

switch 是多分支選擇語句。說得通俗點,多分支就是多個 if。從功能上說,switch 語句和 if 語句完全可以相互取代。

但從程式設計的角度,它們又各有各的特點,所以至今為止也不能說誰可以完全取代誰。

當巢狀的 if 比較少時(三個以內),用 if 編寫程式會比較簡潔。但是當選擇的分支比較多時,巢狀的 if 語句層數就會很多,導致程式冗長,可讀性下降。

因此c語言提供 switch 語句來處理多分支選擇。所以 if 和 switch 可以說是分工明確的。在很多大型的專案中,多分支選擇的情況經常會遇到,所以 switch 語句用得還是比較多的。

擴充套件資料

switch case語句的說明:

1) switch 後面括號內的「表示式」必須是整數型別。也就是說可以是 int 型變數、char 型變數,也可以直接是整數或字元常量,哪怕是負數都可以。但絕對不可以是實數,float 型變數、double 型變數、小數常量通通不行,全部都是語法錯誤。

2) switch 下的 case 和 default 必須用一對大括號{}括起來。

3) 當switch後面括號內「表示式」的值與某個case後面的「常量表示式」的值相等時,就執行此case後面的語句。執行完一個case後面的語句後,流程控制轉移到下一個case繼續執行。如果你只想執行這一個case語句,不想執行其他case,那麼就需要在這個case語句後面加上break,跳出switch語句。

再重申一下:switch是「選擇」語句,不是「迴圈」語句。很多新手看到break就以為是迴圈語句,因為break一般給我們的印象都是跳出「迴圈」,但break還有一個用法,就是跳出switch。

4) 若所有的 case 中的常量表示式的值都沒有與 switch 後面括號內「表示式」的值相等的,就執行 default 後面的語句,default 是「預設」的意思。如果 default 是最後一條語句的話,那麼其後就可以不加 break,因為既然已經是最後一句了,則執行完後自然就退出 switch 了。

5) 每個 case 後面「常量表示式」的值必須互不相同,否則就會出現互相矛盾的現象,而且這樣寫造成語法錯誤。

2樓:匿名使用者

遵守switch語句規則

switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則: 只能針對基本資料型別使用switch,這些型別包括int、char等。

對於其他型別,則必須使用if語句。

case標籤必須是常量表示式(constantexpression),如42或者"42"。如果需要在執行時計算case標籤的值,必須使用if語句。

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

3樓:匿名使用者

可以的,當這個變數是final int short byte char型別

的時候public class du }}

4樓:匿名使用者

不可以,case後面只能是數值或字元,或者是加了final修飾的常量

5樓:範修敏

switch(expr),expr 是一個整數表示式。傳遞給switch和case語句的引數應該是int、short、char、byte。long和string型別不能作用於switch。

case後面不能為變數

6樓:匿名使用者

不可以,因為他要求的就是一個具體結果,沒有一個具體結果,就無法選擇

7樓:踏月聽音

必須是常量 與其是常量 不如直接給他值 一般都是判斷1呀2呀的什麼的 你這樣做 想要什麼效果 能說下嘛 分享下

8樓:匿名使用者

final能是變數 final就已經是一個常量了 別誤導人 只能是常量

9樓:v丶

不可以 case 後 只能跟常量

"switch語句中 case a"中 a代表什麼????語句??......

10樓:匿名使用者

代表一個常量表示式,可以是數值、字串等。但不能用括號括起來。用來匹配switch中的表示式的

11樓:匿名使用者

你要做switch的應該是一個char型別變數吧

就是說如果那個變數是'a'的話

等同於if( item = 'a')

12樓:匿名使用者

給你舉個例子,可能你就理解了

class weektest}}

因為day = 'a' ,最後列印的應該是 星期一。

13樓:匿名使用者

a的ascii碼 轉成應該是65

switch裡只能用數字作為條件,而char和int是可以相互轉的

case 'a' 表示,如果轉進來的引數為 'a'或者65執行此case裡的**

14樓:匿名使用者

switch(變數)

15樓:初入殿堂

字元 int型別 不能是字串

c語言的switch語句中的條件都可以是什麼型別?

16樓:足壇風行者

c語言的switch語句只能針對基本資料型別使

用,這些型別包括int、char、列舉、bool等。對於其他型別,則必須使用if語句。

在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒號。

case 的 constant-expression 必須與 switch 中的變數具有相同的資料型別,且必須是一個常量或字面量。

擴充套件資料

c語言的switch其他使用規則:

1、當被測試的變數等於 case 中的常量時,case 後跟的語句將被執行,直到遇到 break 語句為止。

2、當遇到 break 語句時,switch 終止,控制流將跳轉到 switch 語句後的下一行。

3、不是每一個 case 都需要包含 break。如果 case 語句不包含 break,控制流將會 繼續 後續的 case,直到遇到 break 為止。

4、一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default case 可用於在上面所有 case 都不為真時執行一個任務。default case 中的 break 語句不是必需的。

17樓:夜禮服假面

switch用在程式設計中,如c語言中它經常跟case一起使用,是一個判斷選擇**。其功能就是控制業務流程流轉的。

switch語句,即「切換」語句;case即「情況」。

switch語句的語法如下(switch,case和default是關鍵字):

switch ( controllingexpression )

遵守switch語句規則

switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:

只能針對基本資料型別使用switch,這些型別包括int、char、列舉、bool等。對於其他型別,則必須使用if語句。

switch()的引數型別不能為實型 。

case標籤必須是常量表示式(constantexpression),如42或者"42"。

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

c語言switch應用例子:

例一:#include

int main()}

18樓:匿名使用者

只有可數型別:整型、字元、布林和列舉型

19樓:匿名使用者

可以是整型、字元型、布林型和列舉型,希望對你有所幫助

20樓:匿名使用者

char型和int型本質上都是一樣的。char型和int型

21樓:節盈尾豔蕙

c語言的switch語句中的條件可以是任意型別,但是由於當是bool型別的時候會出現不可預料的迴圈,所以一般不用bool型別

怎樣看出女生是否內向是否外向是否喜歡你

沒那閒心,但是可以告訴你我的經驗。內向的女生漂亮的都是女神,給你感覺就是很難搭上 外向的女生就是鄰家有女初長成有機會接觸而且容易成為朋友。外向的女生硬是接觸你後在你面前內向或者內向的女生接觸你後對你慢慢外向,應該就是你有戲了。如果這裡面的道道你都清楚了,你應該就不純潔了。看她平時喜不喜歡和周圍的人鬧...

餘數是否可為,餘數是否可為

餘數不能是0,如果是0就表示可以整除,可以整除,就沒有餘數,所專以最小的餘數是1。對 屬餘數 一詞的解釋為 整數除法中,被除數未被除數整除所剩的大於0而小於除數的部分。如27 6 4 3。即不完全商是4,餘數是3。這就表明餘數不能為0。判定一個整數能不能被另一個正整數整除,只需進行除法運算即可。如果...

侏儒是否遺傳,侏儒是否遺傳

首先侏儒症一般是指身高矮於1米一下的現象.垂體分泌的生長激素過少引起的 侏儒症分為原發性和繼發性,原發性的話,部分會遺傳.你就說了女方的母親有這病,她家族的其他情況都沒說,很難判斷.我不是學醫的,不清楚這病是屬於常染色體還是性染色體的遺傳,建議你最好去做一下染色體檢查.醫生會給建議的 有這個可能性,...