c語言switch的用法 詳細些 謝謝 求教c語言中switch 語句的詳細用法
C語言程序語句switch:
switch用在編程中,如C語言中它經(jīng)常跟case一起使用,是一個判斷選擇代碼。其功能就是控制業(yè)務流程流轉的。
switch語句的語法如下(switch,case和default是關鍵字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements; //當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執(zhí)行statements
break;
case constantExpression :
statements ;
break;
...
default :
statements ;
break;
}
遵守switch語句規(guī)則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規(guī)則:
只能針對基本數(shù)據(jù)類型使用switch,這些類型包括int、char等。對于其他類型,則必須使用if語句。
case標簽必須是常量表達式(constantExpression),如42或者"42"。如果需要在運行時計算case標簽的值,必須使用if語句。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
C語言switch應用例子:
例一:
#include<stdio.h>
int main()
{
double score;
printf("請輸入分數(shù):\n");
scanf("%lf",&score);
switch((int)(score/10)) //如果寫成witch((int)score/10)會出現(xiàn)嚴重錯誤
{
case 10:
case 9:printf("A(最好)\n");break;
case 8:printf("B(優(yōu)秀)\n");break;
case 7:printf("C(良好)\n");break;
case 6:printf("D(及格)\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("E(不及格)\n");break;
default:printf("Error!\n");
}
}
例二:
#include<stdio.h>
int main()
{
char rank;
printf("請輸入分數(shù)等級:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//switch((int)score/10)出現(xiàn)嚴重錯誤,switch(((int)score)/10)出現(xiàn)嚴重錯誤,
{
case 'A':printf("A(90~100)\n");break;
case 'B':printf("B(80~89)\n");break;
case 'C':printf("C(70~79)\n");break;
case 'D':printf("D(60~69)\n");break;
case 'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
}
例三:
輸入年月日,判斷這一天是這一年的第幾天。
#include<stdio.h>
int main()
{
int year,month,date,leap,days=0;
scanf("%4d%2d%2d",&year,&month,&date);
leap=(year%4==0&&year%100!=0||year%400==0);
switch(month)
{
case 12:days+=30;
case 11:days+=31;
case 10:days+=30;
case 9:days+=31;
case 8:days+=31;
case 7:days+=30;
case 6:days+=31;
case 5:days+=30;
case 4:days+=31;
case 3:days+=28+leap;
case 2:days+=31;
case 1:days+=date;break;
}
printf("%4d年%2d月%2d日是這一年的第%d天。\n",year,month,date,days);
}
希望對你有幫助。
看書
汲光18515276486: C語言中的switch怎么使用? -
吉木薩爾縣波發(fā): ______ switch(條件){ case 條件1:語句1;break; case 條件2:語句2;break; case 條件3:語句3;break; ............... case 條件n:語句n;break; default:無定義; }
汲光18515276486: c語言中switch怎么用? -
吉木薩爾縣波發(fā): ______ 簡單的說switch語句也是屬于判斷語句,if else語句適合3個以內的判斷,但是多了用if就不太方便了,所以這時3個以上的判斷用switch語句就比較方便了,結構就像樓上的兄弟們那樣寫的,大概怎么用我舉個例子你就懂了.例:判斷一周的食譜...
汲光18515276486: c語言中 switch case default這幾個關鍵字怎么運用?請專業(yè)人士指教.謝謝! -
吉木薩爾縣波發(fā): ______ switch(需要判斷的常量值) { //看常量值是幾比如是1,就運行case 1后的語句;記得break不然會有邏輯錯誤~不過也就時候可以利用這一點; case 1 : break case 2 : break; //default是沒有配比的case語句,最后需要運行的,也就是不管有沒有case語句都是要運行的 default :printf(""); }
汲光18515276486: c語言中switch語句的用法問題 -
吉木薩爾縣波發(fā): ______ 不支持縮進,看代碼累 switch(a%3) { ``case 0: //當(a%3)==0時執(zhí)行下面的語句直到遇到break或return ````m++; ````break; ``case 1: //當(a%3)==1時執(zhí)行下面的語句直到遇到break或return ````m++; ``````switch(b%2) // 此switch在m+...
汲光18515276486: C語言switch語句,求大神解釋一下,謝謝 -
吉木薩爾縣波發(fā): ______ switch(k) { case 1:case 4:case 7: s++;break; // 當k的值為1,4,7時,執(zhí)行 s++,跳出switch case 2:case 3:case 6:break; // 當k的值為2,3,6時,跳出switch case 0:case 5:s+=2;break; //當k的值為0,5時,執(zhí)行 s+=2, 跳出switch } switch中的break...
汲光18515276486: 問下C語言中switch怎么用的 -
吉木薩爾縣波發(fā): ______ switch 語句是一個控制語句,它通過將控制傳遞給其體內的一個 case 語句來處理多個選擇和枚舉.例如:int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; ...
汲光18515276486: C語言switch語句使用 -
吉木薩爾縣波發(fā): ______ switch(a);不要分號 swhich后面沒有分號
汲光18515276486: C語言switch與break的運用#include"stdio
吉木薩爾縣波發(fā): ______ switch語句的執(zhí)行流程是: 首先計算switch后面圓括號中表達式的值,然后用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個case后面的常量表達式...
汲光18515276486: C#中switch語句的用法 -
吉木薩爾縣波發(fā): ______ .NET 中C#的switch語句的語法如下2113(switch,case和default是關鍵字):switch ( controllingExpression ){ case constantExpression : 5261statements break; case constantExpression : statements break; ... default : statements break;} ...
汲光18515276486: c語言之switch用法 -
吉木薩爾縣波發(fā): ______ case標簽后面只能是常量表達式,而不是一個條件,你這樣可以用IF寫,不然的話只能是一個具體值,然后運行時系統(tǒng)把這個值跟a進行比較,在一樣的情況下就代表條件為真.
switch用在編程中,如C語言中它經(jīng)常跟case一起使用,是一個判斷選擇代碼。其功能就是控制業(yè)務流程流轉的。
switch語句的語法如下(switch,case和default是關鍵字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements; //當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執(zhí)行statements
break;
case constantExpression :
statements ;
break;
...
default :
statements ;
break;
}
遵守switch語句規(guī)則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規(guī)則:
只能針對基本數(shù)據(jù)類型使用switch,這些類型包括int、char等。對于其他類型,則必須使用if語句。
case標簽必須是常量表達式(constantExpression),如42或者"42"。如果需要在運行時計算case標簽的值,必須使用if語句。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
C語言switch應用例子:
例一:
#include<stdio.h>
int main()
{
double score;
printf("請輸入分數(shù):\n");
scanf("%lf",&score);
switch((int)(score/10)) //如果寫成witch((int)score/10)會出現(xiàn)嚴重錯誤
{
case 10:
case 9:printf("A(最好)\n");break;
case 8:printf("B(優(yōu)秀)\n");break;
case 7:printf("C(良好)\n");break;
case 6:printf("D(及格)\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("E(不及格)\n");break;
default:printf("Error!\n");
}
}
例二:
#include<stdio.h>
int main()
{
char rank;
printf("請輸入分數(shù)等級:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//switch((int)score/10)出現(xiàn)嚴重錯誤,switch(((int)score)/10)出現(xiàn)嚴重錯誤,
{
case 'A':printf("A(90~100)\n");break;
case 'B':printf("B(80~89)\n");break;
case 'C':printf("C(70~79)\n");break;
case 'D':printf("D(60~69)\n");break;
case 'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
}
例三:
輸入年月日,判斷這一天是這一年的第幾天。
#include<stdio.h>
int main()
{
int year,month,date,leap,days=0;
scanf("%4d%2d%2d",&year,&month,&date);
leap=(year%4==0&&year%100!=0||year%400==0);
switch(month)
{
case 12:days+=30;
case 11:days+=31;
case 10:days+=30;
case 9:days+=31;
case 8:days+=31;
case 7:days+=30;
case 6:days+=31;
case 5:days+=30;
case 4:days+=31;
case 3:days+=28+leap;
case 2:days+=31;
case 1:days+=date;break;
}
printf("%4d年%2d月%2d日是這一年的第%d天。\n",year,month,date,days);
}
希望對你有幫助。
看書
相關評說:
吉木薩爾縣波發(fā): ______ switch(條件){ case 條件1:語句1;break; case 條件2:語句2;break; case 條件3:語句3;break; ............... case 條件n:語句n;break; default:無定義; }
吉木薩爾縣波發(fā): ______ 簡單的說switch語句也是屬于判斷語句,if else語句適合3個以內的判斷,但是多了用if就不太方便了,所以這時3個以上的判斷用switch語句就比較方便了,結構就像樓上的兄弟們那樣寫的,大概怎么用我舉個例子你就懂了.例:判斷一周的食譜...
吉木薩爾縣波發(fā): ______ switch(需要判斷的常量值) { //看常量值是幾比如是1,就運行case 1后的語句;記得break不然會有邏輯錯誤~不過也就時候可以利用這一點; case 1 : break case 2 : break; //default是沒有配比的case語句,最后需要運行的,也就是不管有沒有case語句都是要運行的 default :printf(""); }
吉木薩爾縣波發(fā): ______ 不支持縮進,看代碼累 switch(a%3) { ``case 0: //當(a%3)==0時執(zhí)行下面的語句直到遇到break或return ````m++; ````break; ``case 1: //當(a%3)==1時執(zhí)行下面的語句直到遇到break或return ````m++; ``````switch(b%2) // 此switch在m+...
吉木薩爾縣波發(fā): ______ switch(k) { case 1:case 4:case 7: s++;break; // 當k的值為1,4,7時,執(zhí)行 s++,跳出switch case 2:case 3:case 6:break; // 當k的值為2,3,6時,跳出switch case 0:case 5:s+=2;break; //當k的值為0,5時,執(zhí)行 s+=2, 跳出switch } switch中的break...
吉木薩爾縣波發(fā): ______ switch 語句是一個控制語句,它通過將控制傳遞給其體內的一個 case 語句來處理多個選擇和枚舉.例如:int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; ...
吉木薩爾縣波發(fā): ______ switch(a);不要分號 swhich后面沒有分號
吉木薩爾縣波發(fā): ______ switch語句的執(zhí)行流程是: 首先計算switch后面圓括號中表達式的值,然后用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個case后面的常量表達式...
吉木薩爾縣波發(fā): ______ .NET 中C#的switch語句的語法如下2113(switch,case和default是關鍵字):switch ( controllingExpression ){ case constantExpression : 5261statements break; case constantExpression : statements break; ... default : statements break;} ...
吉木薩爾縣波發(fā): ______ case標簽后面只能是常量表達式,而不是一個條件,你這樣可以用IF寫,不然的話只能是一個具體值,然后運行時系統(tǒng)把這個值跟a進行比較,在一樣的情況下就代表條件為真.