在switch多分支語句中,break語句有什么作用
break語句通常用在循環語句和開關語句中。當break用于開關語句switch中時,可使程序跳出switch而執行switch以后的語句;如果沒有break語句,則會從滿足條件的地方(即與switch(表達式)括號中表達式匹配的case)開始執行,直到switch結構結束。
當break語句用于do-while、for、while循環語句中時,可使程序終止循環。而執行循環后面的語句,通常break語句總是與if語句聯在一起。即滿足條件時便跳出循環。
示例:在vc6.0中編譯通過
#include <stdio.h>
int main()
{
int num;
printf("\t成績查詢\n\n");
printf("請輸入考生的考號:");
scanf("%d",&num);
switch(num)
{
case 1001:
printf("該考生的成績是95\n");
break;
case 1002:
printf("該考生的成績是90\n");
break;
case 1003:
printf("該考生的成績是60\n");
break;
case 1004:
printf("該考生的成績是49\n");
break;
case 1005:
printf("該考生的成績是85\n");
break;
default:
printf("所輸入的考號有誤!\a\n");
break;
}
return 0;
}
注意:
1. break語句對if-else的條件語句不起作用。
2. 在多層循環中,一個break語句只向外跳一層。
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應用例子: 例一: #include 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"); } } 例二: #include 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; } } 例三: 輸入年月日,判斷這一天是這一年的第幾天。 #include 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); }。
switch語句中,case后面的語句序列中一定要有break語句嗎? 問
不一定的。
switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有代碼被執行。僅當一個 case 語句中的值和 switch 表達式的值匹配時才開始執行語句,直到 switch 的程序段結束或者遇到第一個 break 語句為止。
如果不在 case 的語句段最后寫上 break 的話,代碼將繼續執行下一個 case 中的語句段,因此,break語句的添加需要根據程序的邏輯來選用,如果有需要程序執行連續執行符合條件的case中的代碼,則不應該添加break而使得程序結束跳出。
擴展資料:
switch語句規則:
1、只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對于其他類型,則必須使用if語句。
2、switch()的參數類型不能為實型 。
3、case標簽必須是常量表達式(constantExpression),如42或者'4'。
4、case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
5、switch語句的語法如下(switch,case,break和default是關鍵字):
switch ( 變量表達式 ){
case 常量1 :語句;break;
case 常量2 :語句;break;
case 常量n:語句;break;
default :語句;break;
}
參考資料來源:百度百科-switch
轉載請注明出處華閱文章網 » 在switch語句中