1樓:匿名使用者
給你舉個例子吧:
switch(xyz)
switch-case語句的執行順序是,將變數xyz的值與各個case逐個進行比較。當變數xyz的值是0時,執行dotaskzero()並退出switch-case語句體;當變數xyz的值不是0、而是1時,執行dotaskone()並退出switch-case語句體……哪一個case都不符合時,按照default標號執行。
至於你從鍵盤輸入的數字,則要看你scanf的型別是字元還是整數,有針對性地區分。
要麼 case '1'
要麼 case 1
2樓:弒之觴
switch( c )
case 後面是判斷條件,可以是整數、常量,如上,取決於你的條件。
3樓:遠方的遊者
case表示判斷條件,有多個條件時就用case1,case2,case3...這樣表示
c語言在switch中case2如何引用case1中輸出的數。
4樓:育知同創教育
比如#include
menu()
main()
;};break;
case 2:break;
default:return 0;}}
c語言題,switch(i)中的i有什麼含義嗎,case中的1、2有什麼含義嗎,怎麼會出來3個1呢
5樓:匿名使用者
i是代表幾,例如是1的話。那就是執行第一行**。case1;如果是2的話,case:2其他的都一樣。
6樓:匿名使用者
沒有break啊。。。所以不會跳出。。一直往下執行的。。
7樓:儒雅的潘雨
i是輸入的下面的case中的一種情況,是為了找到對應要執行的語句
c語言中switch語句中case2如何引用case1中的變數
8樓:__love風
是e=1或者e=2的時候都為55的意思麼?如果是 那直接把case1最後的berak去掉就行了~
c語言switch中case 2如何呼叫case 1中的結果
9樓:匿名使用者
char c;
scanf("%c",&c);
switch(c)
return 0;
你輸入a和b都是輸出的a
10樓:楓葉ぁ林
在case 2:後不要加break;
如:switch()
11樓:飛天失憶豬
case 2:
case 1:
........
break;
12樓:我非常愛吃白菜
用switch巢狀吧
switch()
c語言switch語句問題,程式執行case1,然後break,是不是再執行case2的break、case3的break?
13樓:一口沒水的枯井
解答只要遇到break之後 整個switch語句就結束了你的**結果為1
2. 一般情況下,必須要加break
否則得到的結果可能不是你想要的
14樓:酷哥
不是哦,是隻執行一次,比如i=1,執行case1之後就退出了,因為後面有break,它的作用就是結束switch
c語言的case後可以是表示式嗎?像這樣:case 2+1 switch是3的時候會進入這條語句嗎
15樓:莊政警
可以,case 2+1:就是case 3:
case後面可以是表示式,但必須是常量表示式,編譯期就能確定的值int a=0;
int n=0;
.........................
switch(a)
{case 'a'+'b': //這個可以case sizeof(n)+1: //這個可以case n: //這個不可以,n的值在編譯期無法確定}
16樓:夏末煙雨
我經用: var a=5; swicth(true){ case (a>5): //執行語句 break; case (a+5==一0): //執行語句 break;
17樓:匿名使用者
不可以,只能是一個確定的整數型別的值。
在c語言中case2+1這種寫法對嗎? 若定義:float x=1.5;int a=1,b=3,c=2;,則switch語句 switch((int)x)
18樓:匿名使用者
printf裡換行為\n
每個case結束要用break;終止,否則將會繼續執行下一個case
正確應為:
19樓:醉臥南窗聽秋雨
case 後面輸入一個空格,去掉switch後面的「;」
20樓:匿名使用者
switch((int)x);
這裡應該沒有;
21樓:
printf 語句裡 要\n
c語言中的switch語句,case後面可不可以跟一表示式,例如「100>x>50」;如不可以為什麼?
22樓:愛夏的你呀
不能,case後面是常量表示式。
要注意 case 表示式裡各個分支返回的資料型別是否一致。某個分支返回字元型,而其他分支返回數值型的寫法是不正確的。
使用 case 表示式的時候,最容易出現的語法錯誤是忘記寫 end 。雖然忘記寫時程式會返回比較容易理解的錯誤訊息,不算多麼致命的錯誤。而執行時卻出錯的情況大多是由這個原因引起的。
case表示式的執行結果是 null 。但是不寫可能會造成"語法沒有錯誤,結果卻不對"這種不易追查原因的麻煩,所以寫上 else 子句(即便是在結果可以為 null 的情況下)。
擴充套件資料
1、case表示式的真假值判斷就會中止,而剩餘的 when子句會被忽略。為了避免引起不必要的混亂,使用 when子句時要注意條件的排他性。
2、當case後的表示式的值與switch表示式的值相等時, 即執行對應case後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。
23樓:起個名好難
不可以,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是或的關係。
24樓:匿名使用者
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則: 只能針對基本資料型別使用switch,這些型別包括int、char等。
對於其他型別,則必須使用if語句。 case標籤必須是常量表示式(constantexpression),如42或者"42"。如果需要在執行時計算case標籤的值,必須使用if語句。
case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。 c語言switch應用例子: 例一:
#includeint main() } 像你的50 25樓:匿名使用者 不可以,case後面需要跟一個常量。如果你想要實現以範圍區分,可以使用多個if語句來實現。 26樓:匿名使用者 100>x&&x>50 c語言的switch case 語句的case不能匹配字串常量,只能匹配整型類常量,如int short long char.switch用法格式 switch 表示式 說明 break 表示退出 case後面只能跟一個值 加冒號 而不能是一個表示式switch 表示式 後面沒有分號 前後沒有分號 ... include void main c語言中,如何在switch case後面呼叫函式,一共5個case,都要用函式的呼叫 include void test1 void test2 void test3 void test4 void test5 int main return 0 c語言中,怎樣... d呀!d錯呀!對於非指標值來說形參不能傳回實參。對於指標形參也是不能叫 傳回 只能說是在呼叫的函式中修改了對應地址中的值,不能說傳回對應的實參值!若函式有返回值,必須通過return語句返回 那你覺得除了return還能用啥?注意,題意是要返回一個返回值 c 不對吧 void型別可以沒有return...c語言的switchcase語句的case常量能匹配字串
c語言switchcase語句中呼叫函式求改錯十萬火急
c語言以下敘述中錯誤的是,C語言 以下敘述中錯誤的是