本文目錄一覽:
c語言switch的用法 詳細些 謝謝
C語言程序語句switch:
switch用在編程中,如C語言中它經常跟case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
switch語句的語法如下(switch,case和default是關鍵字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements; //當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執行statements
break;
case constantExpression :
statements ;
break;
…
default :
statements ;
break;
}
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
case標籤必須是常量表達式(constantExpression),如42或者”42″。如果需要在運行時計算case標籤的值,必須使用if語句。
case標籤必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
C語言switch應用例子:
例一:
#includestdio.h
int main()
{
double score;
printf(“請輸入分數:\n”);
scanf(“%lf”,score);
switch((int)(score/10)) //如果寫成witch((int)score/10)會出現嚴重錯誤
{
case 10:
case 9:printf(“A(最好)\n”);break;
case 8:printf(“B(優秀)\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”);
}
}
例二:
#includestdio.h
int main()
{
char rank;
printf(“請輸入分數等級:(A、B、C、D、E)\n”);
scanf(“%c”,rank);
switch(rank)//switch((int)score/10)出現嚴重錯誤,switch(((int)score)/10)出現嚴重錯誤,
{
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;
}
}
例三:
輸入年月日,判斷這一天是這一年的第幾天。
#includestdio.h
int main()
{
int year,month,date,leap,days=0;
scanf(“%4d%2d%2d”,year,month,date);
leap=(year%4==0year%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);
}
希望對你有幫助。
c語言switch語句中怎樣在嵌套switch
就是在第一個switch的某個case語句或default語句中進行嵌套。
例如:
int a=4,i=0;
switch(a)
{
case 1:
{
printf(“abc”);
break;
}
case 2:
{
printf(“abcd”);
break;
}
case 3:
{
i++;
switch(i) // switch語句中嵌套switch語句
{
case 1: printf(“fff”);break;
case 2: printf(“111”);break;
default: printf(“222”);
}
break;
}
default :
printf(“error”);
}
擴展資料:
注意事項
1、witch後面括號里的結果必須是×××值。因為這個值是要和case語句後面直接跟的常量表達式進行匹配的。
2、break在switch case語句中主要是將語句劃分成不同的部分,方便匹配後跳出switch語句。
3、default的位置並不是固定的。為了使程序正常運行,它放在case之間的時候,後面必須跟上break語句;如果放在最後,可以跟break語句,也可以不跟。
4、不是所有case語句最後都跟有break。我們起初見到的代碼里,基本上每個case最後都跟有break,它是指當switch後面括號里的表達式與哪一個case後面的常亮表達式匹配時,直接進入這個case,執行完裏面的語句後,遇到break,直接退出整個switch case語句。
實際當中,我們還會碰到類似於上述代碼的情況(不是所有case語句最後都跟有break),這個時候,程序總是從匹配的case執行,直到遇到break或者程序走到最後的default結束,退出switch case語句。
c語言 switch的用法
執行過程:
先計算並獲得switch後面小括號里的表達式或變量值,然後將計算結果順序與每個case後的常量比較。
當二者相等時,執行個case塊中的代碼,當遇到break時,就跳出switch選擇結構,執行switch選擇結構之後的代碼。
如果任何一個case之後的常量與switch後的小括號中的值相等,則執行switch尾部的default塊中代碼。
求教c語言中switch 語句的詳細用法
switch 是一個開關語句,和case配套使用, 和if else 判斷語句差不多, switch 語句是用於多分支語句進行條件判斷,比如:
i++;
switch (i)
{
case 1 : P1 = 0xFE; //i =1; 執行P1 = 0XFE;
breK; //執行完成後跳出
case 2 : P1 = 0xFD; //i =2; 執行P1 = 0XFD;
break;
case 3 : P1 = 0xFB; //i =3; 執行P1 = 0XFB;
break;
case 4 : P1 = 0xF7 //i =4; 執行P1 = 0X7E;
break;
………………………………………………………………..
default: break; //如果i 不符合以上條件直接跳出不執行任何東西
}
建議你還是先把C語言看熟把,書上都寫的很清楚。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/256465.html