本文目錄一覽:
- 1、c語言switch語句是什麼?
- 2、c語言 switch的用法
- 3、C語言如何使用switch?
- 4、C語言switch的解析
- 5、switch(C語言中)是什麼意思
- 6、C語言中的SWITCH是什麼意思?
c語言switch語句是什麼?
c語言switch語句是一種多分支選擇語句,在實際應用中,要在多種情況中選擇一種情況,執行某一部分語句。
程序執行時,首先計算表達式的值,與case後面的常量表達式值比較,若相等就執行對應部分的語句塊,執行完後利用break語句跳出switch分支語句。若表達式的值與所有的case後的常量表達式均不匹配,則執行default項對應的語句n,執行後跳出switch分支語句。
case後面的常量表達式只能是整型、字元型或枚舉型常量的一種;各case語句表達式的值各不相同,只起到一個標號作用,用於引導程序找到對應入口。這裡的語句塊可以是一條語句,或其它複合語句。語句塊可以不用花括弧「{}」。
各個case語句並不是程序執行的終點,通常需要執行break語句來跳出switch分支語句;若某case語句的語句塊被執行後,若其後沒有break語句,則順序執行其它case語句,直到遇到break語句或後面所有case語句全部執行完,再跳出switch分支語句。
多個case可以共用一組執行語句塊。各個case和default出現的先後次序,並不影響執行結果。
c語言 switch的用法
switch用在編程中,如C語言中它經常跟case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
C語言程序語句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在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。以C語言來說,switch(開關語句)常和case break default一起使用。
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標籤必須是常量表達式(constantExpression),如42或者’4’。
case標籤必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
參考資料來源:百度百科-switch (計算機語言關鍵字)
C語言如何使用switch?
switch用在C語言中經常跟case一起使用,是一個判斷選擇代碼,其功能就是控制業務流程流轉的。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。儘管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標準規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比彙編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與彙編語言相當。C語言一般只比彙編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
1)switch 語句中的 expression 是一個常量表達式,必須是一個整型(char、short, int, long 等) 或枚舉類型
2)case 子句中的值必須是常量,而不能是變數
3)default 子句是可選的,當沒有匹配的 case 時,執行 default
4)break 語句用來在執行完一個 case 分支後使程序跳出 switch 語句塊;
5)如果沒有寫 break,會執行下一個 case 語句塊,直到遇到 break 或者執行到 switch 結尾, 這個現象稱為穿透.
C語言switch的解析
我們處理多個分支時需使用if-else-if結構,但如果分支較多,嵌套的if語句層就越多,程序龐大而且理解也比較困難.因此,C語言又提供了一個專門用於處理多分支結構的條件選擇語句,稱為switch語句,又稱開關語句.使用switch語句直接處理多個分支(當然包括兩個分支).
其一般形式為:
switch(表達式)
{
case
常量表達式1:
語句1;
break;
case
常量表達式2:
語句2;
break;
……
case
常量表達式n:
語句n;
break;
default:
語句n+1;
(break;)
}
執行流程:首先計算switch後面圓括弧中表達式的值,然後用此值依次與各個case的常量表達式比較(也可以是數字)
若圓括弧中表達式的值與某個case後面的常量表達式的值相等,就執行此case後面的語句,執行後遇break語句就退出switch語句;
若圓括弧中表達式的值與所有case後面的常量表達式都不等,則執行default後面的語句n+1,然後退出switch語句,
如下程序,可以根據輸入的考試成績的等級,輸出百分制分數段:
引用
switch(grade)
{
case
‘A’:
/*注意,這裡是冒號:並不是分號;*/
printf(“85-100\n”);
break;
/*每一個case語句後都要跟一個break用來退出switch語句*/
case
‘B’:
/*每一個case後的常量表達式必須是不同的值以保證分支的唯一性*/
printf(“70-84\n”);
break;
case
‘C’:
printf(“60-69\n”);
break;
case
‘D’:
printf(“60\n”);
break;
default:
printf(“error!\n”);
}
(2)
如果在case後面包含多條執行語句時,也不需要像if語句那樣加大括弧,進入某個case後,會自動順序執行本case後面的所有執行語句.如:
引用
{
case
‘A’:
if(grade=100)
printf(“85-100\n”);
else
printf(“error\n”);
break;
……
(3)
default總是放在最後,這時default後不需要break語句.
並且,default部分也不是必須的,當switch後面圓括弧中表達式的值與所有case後面的常量表達式的值都不相等時,則不執行任何一個分支直接退出switch語句.
例如,將上面例子中switch語句中的default部分去掉,則當輸入的字元不是”A”,”B”,”C”或”D”時,此switch語句中的任何一條語句也不被執行.
(4)
在switch-case語句中,多個case可以共用一條執行語句,如:
引用
……
case
‘A’:
case
‘B’:
case
‘c’:
printf(“60\n”);
break;
……
在A,B,C3種情況下,均執行相同的語句,即輸出”60″.
(5)
最開始那個例子中,如果把每個case後的break刪除掉,則當greak=’A’時,程序從printf(“85-100\n”)開始執行,輸出結果為:
引用
85-100
70-84
60-69
60
error
這是因為case後面的常量表達式實際上只起語句標號作用,而不起條件判斷作用,即”只是開始執行處的入口標號”.
執行完一個case後面的語句後,若沒遇到break語句,就自動進入下一個case繼續執行,而不在判斷是否與之匹配,直到遇到break語句才停止執行,退出break語句.
引用
main()
/*完成兩個數簡單的四則運算*/
{
float
a,b;
char
c1;
printf(“Please
enter
a,b
and
op:”);
scanf(“%f%c%f”,a,c1,b);
switch(c1)
{
case
‘+’:
printf(“%f+%f=%f\n”,a,b,a+b);
break;
case
‘-‘:
printf(“%f-%f=%f\n”,a,b,a-b);
break;
case
‘*’:
printf(“%f*%f=%f\n”,a,b,a*b);
break;
case
‘/’:
if(b!=0.0)
/*分母不能等於0*/
printf(“%f/%f=%f\n”,a,b,a/b);
else
printf(“error!\n”);
break;
default:
printf(“error!\n”);
break;
}
}
switch(C語言中)是什麼意思
C語言中的SWITCH是計算表達式的值。
並逐個與其後的常量表達式值相比較,當表達式的值與某個常量表達式的值相等時,
即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。
其一般形式為:
switch(表達式)。case
常量表達式1:
語句1 case
常量;表達式2:
語句2
case
常量;
表達式n:
語句n, default:
語句n+1。switch
是分支語句,就是比較強大的if集;
default為不滿足所有的switch條件則後面的句子被執行。一般將default寫在switch中的最後。
C語言雖然沒有限制
if
else
能夠處理的分支數量,但當分支過多時;
用
if
else
處理會不太方便,而且容易出現
if
else
配對出錯的情況。
擴展資料:
switch語法
1、Switch用在編程中,如C語言中它經常跟Case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
2、直線翻譯:switch語句,即「切換」語句;case即「情況」。
3、switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
4、只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。
5、對於其他類型,則必須使用if語句。switch()的參數類型不能為實型
。
6、case標籤必須是常量表達式(constantExpression),如42或者”42″。
7、case標籤必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
參考資料來源:百度百科:switch
C語言中的SWITCH是什麼意思?
Switch用在編程中,如C語言中它經常跟Case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
直線翻譯:switch語句,即「切換」語句;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在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。以C語言來說,switch(開關語句)常和case break default一起使用。
擴展資料:
switch語句執行時會從上到下根據括弧中表達式的值作比較,當某個case語句中的表達式與此值相同時,就執行這個case語句或語句序列,直到遇到break為止。 break語句是必須有的,它用來結束switch語句的執行。
如果所有case語句後面的表達式都不等於switch語句的表達式expr1的值川0執行default後面的默認語句序列。不過,default部分是可選的。如果沒有這一部分,並遇到所有case語句都不匹配,那麼,就不作任何處理而進入後續程序段的執行。 可見,一個switch語句可以代替多個if-else語句組成的分支結構,而switch語句從思路上顯得更清晰。
參考資料:百度百科-switch
原創文章,作者:UYTJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/143541.html