1樓:匿名使用者
不能加。
c的語法中規定,在switch-case語句中,case關鍵字後只能跟隨整型常量或enum型別。
由於c年代久遠,故沒有一些年輕語言的一些語法糖,case加範圍就是其中之一
當然,加範圍的switch-case語句可以用多個if-else分支語句替代
int i;
//...
if (i <= 0) else if (i > 1 && i <= 10) else if (i <= 20)
以此類推
2樓:老拉特福德球場
其實也可以這樣:
#include using namespace std;
int main()
return 0;}
並排寫也不是不可以。
3樓:匿名使用者
不能加範圍,也不能加不等式.
也就是說case後面是一個確實固定的常量.
4樓:蘿蔔青菜的城堡
case 1:
case 2:
....
case 10:
break;
附:case後面不能用float型別
5樓:匿名使用者
並列寫,如下:
case 1:
case 2:
case 3:
.........
case 10:
break;
c語言中switch case怎麼表示一個範圍
6樓:凌亂心扉
1、當判斷整數時
示例:判斷整數範圍
#include
int main()
;for(int i=0;i<6;i++)switch(buf)
}2、當判斷字元時
示例:將"0x00"~"0xff"轉化為數值0x00~0xff#include
int main()
;for(int i=0;i<6;i++)if(buf[0]=='0'&&(buf[1]=='x'||buf[1]=='x'))//匹配字首
if(!err)
printf("buf[%d]=0x%02x\n",i,val);
else
printf("buf[%d]err\n",i);
}else
printf("buf[%d]err\n",i);}
7樓:匿名使用者
1、首先開啟c-free5.0,然後一個空白的c語言頁面儲存為switch.c檔案,繼續輸入一回般的c語言的答基礎格式。
2、c語言的輸入語句,首先定義一個整型數值,然後從外面寫入這個值。#include main()這裡的scanf() 就是從外面讀入一個值給a。
3、要看下輸入的值是不是賦值給了a,可以把a的值輸出,如下圖除錯。從下圖可以得出,a的值就是輸入的值。
4、接著按照獲得的值來執行相應的步驟,**如下圖。
5、從系統中輸入一個數值,然後switch根據讀到的數值判斷應該做什麼,注意,輸入的值必須是定義的值,就比如本程式裡面switch裡面是一開始定義的a.int a;printf("請輸入一個1-5之間的數值除錯下程式,看看對不對。
8樓:文化廚子
使用多個case疊加即可。比如下面的**,當輸入字元為+、a、或者大寫字回母a時,都可以呼叫答f_add()。
#include
void f_add(void)
void f_sub(void)
void f_mul(void)
void f_div(void)
int main()
return 0;}
9樓:藍筆小鑫
#define min1 5
#define max1 15
#define min2 15
#define max2 20
void switch_range()
//方法② 另一種常用方法是將其 「/5取商」 常量判斷int x;
switch(x/5)}
10樓:金色潛鳥
表示若干個範圍,而且範圍無規律,最好用條件語句,方便靈活。
-------------------
90以上專是a,80到90是b,70到80是c 這種特屬殊情況,正好以10分為一檔,所以它可以把分數除以10,湊成 9,8,7,6,....,於是可以用開關語句。
switch( make/10)
**********==
除以5的話
switch( make/5)
11樓:新在期待
switch case 只能是具體的條件,不能是範圍,。
如switch
case temp=90輸出a
c語言 用switch case如何表示一個範圍?
12樓:匿名使用者
1、首先開啟c-free5.0,然後一個空白的c語言頁面儲存為switch.c檔案,繼續輸入一般的c語言的基礎格式。版
2、c語言的輸入語句權,首先定義一個整型數值,然後從外面寫入這個值。#include main()這裡的scanf() 就是從外面讀入一個值給a。
3、要看下輸入的值是不是賦值給了a,可以把a的值輸出,如下圖除錯。從下圖可以得出,a的值就是輸入的值。
4、接著按照獲得的值來執行相應的步驟,**如下圖。
5、從系統中輸入一個數值,然後switch根據讀到的數值判斷應該做什麼,注意,輸入的值必須是定義的值,就比如本程式裡面switch裡面是一開始定義的a.int a;printf("請輸入一個1-5之間的數值除錯下程式,看看對不對。
13樓:匿名使用者
需要你按照題意,將輸入的情況用有限的整數形式來概括表示。
14樓:殳禮戶亥
#define min1 5
#define max1 15
#define min2 15
#define max2 20
void switch_range()
//方法② 另一種答
常用方法是將其 「/5取商」 常量判斷
int x;
switch(x/5)}
c語言中的switch語句,case後面可不可以跟一表示式,例如「100>x>50」;如不可以為什麼?
15樓:愛夏的你呀
不能,case後面是常量表示式。
要注意 case 表示式裡各個分支返回的資料型別是否一致。某個分支返回字元型,而其他分支返回數值型的寫法是不正確的。
使用 case 表示式的時候,最容易出現的語法錯誤是忘記寫 end 。雖然忘記寫時程式會返回比較容易理解的錯誤訊息,不算多麼致命的錯誤。而執行時卻出錯的情況大多是由這個原因引起的。
case表示式的執行結果是 null 。但是不寫可能會造成"語法沒有錯誤,結果卻不對"這種不易追查原因的麻煩,所以寫上 else 子句(即便是在結果可以為 null 的情況下)。
擴充套件資料
1、case表示式的真假值判斷就會中止,而剩餘的 when子句會被忽略。為了避免引起不必要的混亂,使用 when子句時要注意條件的排他性。
2、當case後的表示式的值與switch表示式的值相等時, 即執行對應case後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。
16樓:起個名好難
不可以,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是或的關係。
17樓:匿名使用者
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則: 只能針對基本資料型別使用switch,這些型別包括int、char等。
對於其他型別,則必須使用if語句。 case標籤必須是常量表示式(constantexpression),如42或者"42"。如果需要在執行時計算case標籤的值,必須使用if語句。
case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。 c語言switch應用例子: 例一:
#includeint main() } 像你的50 18樓:匿名使用者 不可以,case後面需要跟一個常量。如果你想要實現以範圍區分,可以使用多個if語句來實現。 19樓:匿名使用者 100>x&&x>50 非 對其後的表示式取反,後面值為0,則取反後為1 後面為1,取反後則為0.如果awaitkey 0 的值為0,則 awaitkey 0 為1,你的迴圈就會繼續執行 否則就會退出迴圈了。就是如果你的函式awaitkey 0 返回的是非零的話,awaitkey 0 就是把其變成零,即這個條件不成立,wh... 及羽揚俊 在函式返回型別為void時,即不需要返回任何值,要想結束函式就用 return 它表示函式執行到這一句時終止函式 return 表示結束當前函式並返回值,如果沒定義,則返回 null 如 return 1 表示返回1 return 表示返回 null 這裡我給你一個簡單的c程式的例子。in... 是二進位制位運算,意思是按位求與 假設i 5 二進位制就是101 i 1 就是 101 001 結果001 i 2 就是101 010 結果是000 i 4 就是 101 100 結果是 100 if i 4 的意思是 如果i的二進位制的第三位為1那判斷結果就是真,比如對於i 4,5,6,7 i 4...c語言中的作用,C語言中 的作用
C語言中return的含義,C語言中Return 0是什麼作用
C語言中的問題,幾個C語言中的問題???