C語言case語句空著是什麼意思,表示case0和case1後面是一樣的嗎

2021-03-27 06:16:36 字數 5461 閱讀 3534

1樓:匿名使用者

如果cmd = 0; switch中就會執行「case 0:」語句,因為「case 0:」後面沒有「break;」,程式就會繼續執行下去,執行「case 1:

」語句;直到執行到「break;」語句才退出switch語句。

所以在你的程式中,cmd = 0 和 cmd = 1執行的過程是一樣的;

2樓:匿名使用者

是的! cmd=0和1都將執行1後面的語句

c語言,case1後面沒有語句就是指和case2後面的語句相同?還有為什麼ar=9輸出了2次?不是

3樓:匿名使用者

case1 執行

無** 因為前面有個for迴圈 因此switch語句執行三次 j=3時

專 執行case3 結束 j=2時 執行case2 結束 j=1時 因為case1無break; 因此要執行到屬case2才能跳出

其中--i 和i++的區別時 前者是先減一再使用 後者是 使用後再加1 因此程式分別輸出

ar=9 ; ar=9 ;ar=11

4樓:匿名使用者

j = 3時,

baii = 5,執行pr(a[--i]);後,輸出duar=9,i更新為zhi5

j = 2時,daoi = 4,執行pr(a[i++]);後,輸出內ar=9,i更新為5

j = 1時,i = 5,執行pr(a[i++]);後,輸出ar=11,i更新為6

綜上容,**的輸出為:

ar=9ar=9ar=11

c語言switch語句,像case1這樣後面為空的是不是直接執行break

5樓:匿名使用者

不是吧,好象是

當1或者2時,執行2後面的語句。即取值1和取值2一樣處理

6樓:匿名使用者

不是。如果為1,會跳過,接著執行case 2。

c語言中case語句,case和數字之間加不加空格有什麼區別:

7樓:錯落二人組

case是關鍵字,case 1:能被作為switch語句的一部分正確識別;

case1: 只是一個單純的label,可以用goto進行跳轉

8樓:veket的小號

沒有空格編譯過不了滴,如果你遇到沒有空格 執行成功了 一定是執行了前一次編譯生成的exe

c語言中的switch語句,case後面可不可以跟一表示式,例如「100>x>50」;如不可以為什麼?

9樓:愛夏的你呀

不能,case後面是常量表示式。

要注意 case 表示式裡各個分支返回的資料型別是否一致。某個分支返回字元型,而其他分支返回數值型的寫法是不正確的。

使用 case 表示式的時候,最容易出現的語法錯誤是忘記寫 end 。雖然忘記寫時程式會返回比較容易理解的錯誤訊息,不算多麼致命的錯誤。而執行時卻出錯的情況大多是由這個原因引起的。

case表示式的執行結果是 null 。但是不寫可能會造成"語法沒有錯誤,結果卻不對"這種不易追查原因的麻煩,所以寫上 else 子句(即便是在結果可以為 null 的情況下)。

擴充套件資料

1、case表示式的真假值判斷就會中止,而剩餘的 when子句會被忽略。為了避免引起不必要的混亂,使用 when子句時要注意條件的排他性。

2、當case後的表示式的值與switch表示式的值相等時, 即執行對應case後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。

10樓:起個名好難

不可以,c語言中的switch case中的case後面僅可以跟整形常量或常量表示式

原因:如果case後面跟 100>x>50是會出現邏輯錯誤的。

首先c語言中像100>x>50這種表示式的意義並不和數學裡的一樣表示x落在(50,100)這個區間。這個在c語言中100>x會先被計算得到真或假。直接用關係運算得到的真和假在c語言中就是1或0。

而1或0是始終小於50的。這就導致這個表示式的值永遠為零。

常量表示式:在計算機程式語言中,若一個表示式的值不能發生改變,則稱之為常量表示式,如c++中有整型常量,字元常量,邏輯常量,實型常量,地址常量,符號常量,這些常量組成的表示式即為常數表示式。其中含有字元常量的常量表示式可稱為字元常量表示式。

整型常量:整型常量就是通常的整數,包括正整數、負整數和0,其資料型別顯然是整型。除此之外,整型常量包括短整型、長整型和無符號型等不同型別。

擴充套件資料

switch語句的用法和特點:

switch的用法是判斷case後面的表示式和switch後面的表示式是否相匹配,一旦case匹配,就會順序執行後面的程式**,而不管後面的case是否匹配,直到遇見break。

switch case 語句表示式為:

switch

當常量表示式所表達的量與其中一個case語句中的常量相符時,就執行此case語句後面的語句,並依次下去執行後面所有case語句中的語句,除非遇到break;語句跳出switch語句為止。如果常量表示式的量與所有case語句的常量都不相符,就執行default語句中的語句並跳出switch語句。

switch ...  case語句的特點:

1、把要討論的表示式與case後面的常量進行比較,發現匹配項之後,從該位置入口,做它下面的所有語句。

2、case 後面的常量不能重複

3、可以在每一個case語句的後面加上break語句,這樣就能保證只做與之相匹配的那一項。

4、break實質:在switch ...case語句裡面最先遇到那一個break就從該位置結束該語句

5、可以在最後一個case的下面加上default語句表示如果找不到匹配項時,就做default對應的項。

6、default並不是一定要有,如果前面遇到break,default就不執行。如果沒有遇到break,就一定會執行。

7、case後面的語句可以不執行,表示與下一個case是或的關係。

11樓:匿名使用者

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

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

  case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。   c語言switch應用例子:   例一:

  #includeint main()      } 像你的50

12樓:匿名使用者

不可以,case後面需要跟一個常量。如果你想要實現以範圍區分,可以使用多個if語句來實現。

13樓:匿名使用者

100>x&&x>50

c語言switch語句中case後是常量表示式: 為什麼有的後面沒有寫任何語句序列?什麼意思

14樓:小馬千紙鶴

那就是什麼都不執行,相當於空語句,空語句在哪都適用,望採納

15樓:黑幕

switch(i)

嗎?這種寫法是把012這三種情況綜合起來

c語言程式題 case '1'和case 1 怎麼區分 s=「120119110」中,怎麼對應

16樓:匿名使用者

所有用bai單引號括起來的字元或用du雙引號括zhi起來的字串中的字元的值dao都是它

內的ascii碼值。如:

int n;

char str="bbc234";

n='a';n等於

容97n='a';n等於65

n='0';n等於48

n=str[0];n等於98

n=str[3];n等於49

知道了這些,要理解圖中的**就不難了。

17樓:sshhff鳳

case '1'和case 1中,『bai1』是字元du,1是整數zhi。

case '1'等價於case 49

對於字串

daos=「120119110」,版

有權s[0]=='1';s[3]=='1';s[4]=='1';s[6]=='1';s[7]=='1';

c語言的case後可以是表示式嗎?像這樣:case 2+1 switch是3的時候會進入這條語句嗎

18樓:莊政警

可以,case 2+1:就是case 3:

case後面可以是表示式,但必須是常量表示式,編譯期就能確定的值int a=0;

int n=0;

.........................

switch(a)

{case 'a'+'b': //這個可以case sizeof(n)+1: //這個可以case n: //這個不可以,n的值在編譯期無法確定}

19樓:夏末煙雨

我經用: var a=5; swicth(true){ case (a>5): //執行語句 break; case (a+5==一0): //執行語句 break;

20樓:匿名使用者

不可以,只能是一個確定的整數型別的值。

c語言switch case中的case1,case2,其中的1`2這些數學意思是?

21樓:匿名使用者

給你舉個例子吧:

switch(xyz)

switch-case語句的執行順序是,將變數xyz的值與各個case逐個進行比較。當變數xyz的值是0時,執行dotaskzero()並退出switch-case語句體;當變數xyz的值不是0、而是1時,執行dotaskone()並退出switch-case語句體……哪一個case都不符合時,按照default標號執行。

至於你從鍵盤輸入的數字,則要看你scanf的型別是字元還是整數,有針對性地區分。

要麼 case '1'

要麼 case 1

22樓:弒之觴

switch( c )

case 後面是判斷條件,可以是整數、常量,如上,取決於你的條件。

23樓:遠方的遊者

case表示判斷條件,有多個條件時就用case1,case2,case3...這樣表示

c語言中switch語句中case2如何引用case1中的變數

是e 1或者e 2的時候都為55的意思麼?如果是 那直接把case1最後的berak去掉就行了 c語言在switch中case2如何引用case1中輸出的數。比如 include menu main break case 2 break default return 0 c語言switch中case...

C語言中語句是什麼意思,c語言中!是什麼意思?

我猜你說的是三目運算 例如c a b?a b 這個就是等同於 if a b else 對於條抄 件表示式b x y,先計算 襲條件b,然後進行判bai斷。如果b的值為true,計算dux的值,運算zhi結果為x的值 否dao則,計算y的值,運算結果為y的值。一個條件表示式絕不會既計算x,又計算y。條...

c語言中語句m n什麼意思,C語言中語句m n什麼意思

m相當於m m 1,再用到m的值 而n 相當於 先用到n的值,再進行 m m 1 當然,這個是指在同一個表示式內。對於你的這道題,a m 1 n m n 這是,判斷成立,執行 m,所以,表示式以後,n 1c n,所以c 0 這是複合賦值運算。m n 相當於m m n 即,從m與n相減,然後再將結果儲...