c語言switchcase後
⑴ c語言switch語句的case後面有什麼要求
沒什麼大的要求,符合C語言基本語法,每一個case後面必須跟一個break就可以了!
⑵ C語言中用switch語句的時候,為什麼有些case後面沒有語句
c語言中
switch語句其實每個case都會判斷的,所以要用break跳出
有時候兩個不同的case需要做相同的處理
例如case10 case 9都是優秀
那麼 case10: 之後不寫任何語句,也不寫break
那麼也會運行緊跟著的case 9:後面的語句,顯示優秀
就應為用這樣的極值,所以在正常的case情況運行完後,要記得加break
而在多個case有共同操作的時候,可以把他們寫在一起中間都不用break
最後只用寫一次共同操作的代碼,一個break
⑶ 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」。
(3)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語言switch case語句是什麼
int I, k, a, b, c, d, e, f;
printf("請輸入利潤I: ");
scanf("%d", &I);
a = 100000 * (1/10);
b = (200000 - 100000) * 75/1000;
c = (400000 - 200000) * 5/100;
d = (600000 - 400000) * 3/100;
e = (1000000 - 600000) * 15/1000;
if(I <= 100000)
printf("獎金總數k=%d ", I/10);
else if(100000 < I && I <= 200000)
printf("獎金總數k=%d ", a + (I - 100000) * 75/1000);
else if(200000 < I && I <= 400000)
printf("獎金總數k=%d ", a + b + (I- 200000) * 5/100);
else if(400000 < I && I <= 600000)
printf("獎金總數k=%d ", a + b + c + (I- 400000) * 3/100);
else if(600000 < I && I <= 1000000)
printf("獎金總數k=%d ", a + b + c + d + (I- 600000) * 15/1000);
else
printf("獎金總數k=%d ", a + b + c + d + e + (I -1000000) * 1/100);
(4)c語言switchcase後擴展閱讀:
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標簽必須是常量表達式(constantExpression),如42或者'4'。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
⑸ C語言中的switch語句,case後面可不可以跟一表達式,例如「100>x>50」;如不可以為什麼
不可以,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,其數據類型顯然是整型。除此之外,整型常量包括短整型、長整型和無符號型等不同類型。
(5)c語言switchcase後擴展閱讀
switch語句的用法和特點:
switch的用法是判斷case後面的表達式和switch後面的表達式是否相匹配,一旦case匹配,就會順序執行後面的程序代碼,而不管後面的case是否匹配,直到遇見break。
Switch case 語句表達式為:
switch{case 常量1: 語句體1;case 常量2: 語句體2;case 常量3: 語句體3;case 常量4: 語句體4;....default : 語句體;}
當常量表達式所表達的量與其中一個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是或的關系。
⑹ c語言switch case語句例子是什麼
c語言switch case語句例子是:
#include
int main(void){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday "); break;
case 2:printf("Tuesday "); break;
case 3:printf("Wednesday "); break;
case 4:printf("Thursday "); break;
case 5:printf("Friday "); break;
case 6:printf("Saturday "); break;
case 7:printf("Sunday "); break;
default:printf("error ");
}
return 0;
}
程序解讀:
本程序是要求輸入一個數字,輸出它對應的星期的英文單詞。
注意項:
1、在case後的各常量表達式的值不能相同,否則會出現錯誤。
2、在case後,允許有多個語句,可以不用{}括起來。
3、各case和default子句的先後順序可以變動,而不會影響程序執行結果。
4、default子句可以省略不寫。
⑺ C語言switch case後如何執行多條命令
1、首先編寫圖示代碼,在這個例子中會依次將i的值和每個case後面的常量進行比較,如果成立就會執行後面的語句,如果不成立就會繼續進行下一條對比。
⑻ C語言中,怎樣在switch case後面調用函數
#include<stdio.h>
void test1()
{
printf("test1\n");
}
void test2()
{
printf("test2\n");
}
void test3()
{
printf("test3\n");
}
void test4()
{
printf("test4\n");
}
void test5()
{
printf("test5\n");
}
int main()
{
int i = 1; //修改i的值,可以調用不同的函數
switch(i)
{
case 1:
test1();
break;
case 2:
test2();
break;
case 3:
test3();
break;
case 4:
test4();
break;
case 5:
test5();
break;
default:
break;
}
return 0;
}
⑼ c語言switch case語句例子是什麼
c語言switch case語句例子如下:
case 常量表達式1:
語句1;可以是多行,可以加括弧,也可以不加,到下一個case之前,都是本case的語句范圍。
[break;] 中括弧,表示此語句可以沒有。
case 常量表達式2:
[break;]……case 常量表達式n:語句n。
[break;][default:]。
switch語句規則:
case標簽必須是常量表達式(constant Expression) 只能針對基本數據類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
如果兩個case語句間沒有break,則執行完匹配的case語句後,會順序執行下面的語句,直到遇到break語句或switch結束。
連續的兩個case語句表示,這兩個case是同一種情況。