⑴ c語言:多個CASE語句相同情況的處理
用switch最麻煩了.#include "stdio.h"void main()
{
int y,m,d=0;
printf("請輸入月份:");
scanf("%d",&m);
switch(m)
{
case 1:
d=31;
break;
case 2:
d=28;
break;
case 3:
d=31;
break;
case 4:
d=30;
break;
case 5:
d=31;
break;
case 6:
d=30;
break;
case 7:
d=31;
break;
case 8:
d=31;
break;
case 9:
d=30;
break;
case 10:
d=31;
break;
case 11:
d=30;
break;
case 12:
d=31;
break;
} printf("%d年%d月有%d天\n",2006,m,d);
} 簡單的:#include "stdio.h"void main()
{
int n[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int y,m;
printf("請輸入年份:");
scanf("%d",&y);
printf("請輸入月份:");
scanf("%d",&m);
if(y%4==0&&y%100!=0||y%400==0)n[1]=29;
printf("%d年%d月有%d天\n",y,m,n[m-1]);
}
⑵ c語言,case1後面沒有語句就是指和case2後面的語句相同還有為什麼ar=9輸出了2次不是
case1 執行無代碼 因為前面有個FOR循環 因此SWITCH語句執行三次 J=3時 執行CASE3 結束 J=2時 執行CASE2 結束 J=1時 因為CASE1無BREAK; 因此要執行到CASE2才能跳出
其中--i 和i++的區別時 前者是先減一再使用 後者是 使用後再加1 因此程序分別輸出
ar=9 ; ar=9 ;ar=11
⑶ C語言中用switch語句的時候,為什麼有些case後面沒有語句的,如case10: case9:printf("優秀");
c語言中
switch語句其實每個case都會判斷的,所以要用break跳出
有時候兩個不同的case需要做相同的處理
例如case10 case 9都是優秀
那麼 case10: 之後不寫任何語句,也不寫break
那麼也會運行緊跟著的case 9:後面的語句,顯示優秀
就應為用這樣的極值,所以在正常的case情況運行完後,要記得加break
而在多個case有共同操作的時候,可以把他們寫在一起中間都不用break
最後只用寫一次共同操作的代碼,一個break
⑷ java switch 兩個case有少部分不同大部分一樣,能合並代碼嗎
在進入switch之前,設置sound=1, 1 2 就不需要賦值,3的時候賦值為2就行
⑸ switch 語句中 當若干分支需要執行相同操作時,可以使多個case分支共用一組語句。
switch(i)的語法很特殊.每一個case後的值和switch(i)中的i值比,相同就執行這個分支.但執行每個分支結束時,一般都加上break;這樣就跳出了switch語句.但你要把"多個case分支共用一組語句"這樣就可以把break去掉.像樓上所編的那樣...
看看這個:
#include<stdio.h>
void main()
{
switch(0)
{
case 0: printf("i=0\n");
case 1: printf("i=1\n");break;
case 2: printf("i=2\n");
//default: printf("other\n");
}
switch(1)
{
case 0: printf("i=0\n");
case 1: printf("i=1\n");break;
case 2: printf("i=2\n");
//default: printf("other\n");
}
}
⑹ VC++ 里Switch case語句中,有多個case語句執行相同的操作,應該怎樣編寫代碼
switch()
{
case 1:
break;
case 2:
break;
case N:
break;
default:
break;
}
printf("argc=%d",argc);
這種程度的優化 編譯器生成代碼的時候會自動進行的。
⑺ C語言中關於case編寫,輸入幾個數字輸出相同的編寫
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inti;
scanf("%d",&i);
switch(i)
{
case1:case2:case3:case4:case5:case6:case7:case8:case9:
printf("yes");
break;
case-1:case-2:case-3:case-4:case-5:case-6:case-7:case-8:case-9:
printf("no");
break;
}
return0;
}
⑻ C語言switch case後如何執行多條命令
1、首先編寫圖示代碼,在這個例子中會依次將i的值和每個case後面的常量進行比較,如果成立就會執行後面的語句,如果不成立就會繼續進行下一條對比。
⑼ c語言中case的意思和用法
c語言中case是和switch一起使用的,構成switch—case語句,進行判斷選擇,case是用來表示選擇結構的。
switch語句的一般形式為:
switch(表達式){
case 常量表達式1: 語句1;
case 常量表達式2: 語句2;
…
case 常量表達式n: 語句n;
default: 語句n+1;}
其語義是:計算表達式的值。 並逐個與其後的常量表達式值相比較,當表達式的值與某個常量表達式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表達式的值與所有case後的常量表達式均不相同時,則執行default後的語句。
(9)c多個case有部分命令相同擴展閱讀
任何switch語句都必須遵循以下規則:
1、只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
2、switch()的參數類型不能為實型 。
3、case標簽必須是常量表達式(constantExpression),如42或者"42"。
4、case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
⑽ switch語句中case後面的值可以相同
一個switch語句中, case後面的值 不可以相同。一個值只能用一次,不能重復用。
因為這些值,是程序執行的入口,若重復了,就產生了歧義。為避免歧義,若用重了,編譯不能通過。
不同的幾個switch語句, 各自定義的 case後面的值,可以相同,因為 它們在自己的定義域里,彼此互不相干。