網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例
當前位置:文學範文吧 > 校園範例 > 其他

最新switch用法語句大全

欄目: 其他 / 發佈於: / 人氣:1.5W

以下是聘才小編為你們搜索整理的最新switch用法語句大全,歡迎大家來閲讀

最新switch用法語句大全

使用switch語句直接處理多個分支(當然包括兩個分支).其一般形式為:

switch(表達式)

{

case 常量表達式1:

語句1;

break;

case 常量表達式2:

語句2;

break;

……

case 常量表達式n:

語句n;

break;

default:

語句n+1;

break;

}

注意:

switch和case 後面只能是整型或字符型的常量或常量表達式,不能是實型。

因為實型數據在內存中儲存的時候會有一定的誤差,如果比較將兩個實型數據相比較,基本不會出現==的情況,一般要比較兩個實型數據是否相等,會採用兩者之差小於一個很小的數(比如10^-6),所以SWITCH裏面不要用實型數據,一般只能用整型數據(當然也包括char)。

(1) switch語句的執行流程是:首先計算switch後面圓括號中表達式的值,然後用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個case後面的常量表達式的值相等,就執行此case後面的語句,執行後遇break語句就退出switch語句;若圓括號中表達式的值與所有case後面的常量表達式都不等,則執行default後面的語句n+1,然後退出switch語句,程序流程

轉向開關語句的下一個語句.如下程序,可以根據輸入的考試成績的等級,輸出百分制分數段:

switch(grade)

{

case 'A': //注意,這裏是冒號:並不是分號;

printf("85-100");

break; //每一個case語句後都要跟一個break用來退出switch語句

case 'B': //每一個case後的常量表達式必須是不同的值以保證分支的唯//一性

printf("70-84");

break;

case 'C':

printf("60-69");

break;

case 'D':

printf("<60");

break;

default:

printf("error!");

}

(2) 如果在case後面包含多條執行語句時,也不需要像if語句那樣加大括號,進入某個case後,會自動順序執行本case後面的所有執行語句.如:

{

case 'A':

if(grade<=100)

printf("85-100");

else

printf("error");

break;

……

(3) default後不需要break語句(僅適用於default在最後).並且,default部分也不是必須的`,如果沒有這一部分,當switch後面圓括號中表達式的值與所有case後面的常量表達式的值都不相等時,則不執行任何一個分支直接退出switch語句.此時,switch語句相當於一個空語句.例如,將上面例子中switch語句中的default部分去掉,則當輸入的字符不是"A","B","C"或"D"時,此

switch語句中的任何一條語句也不被執行.

(4) 在switch-case語句中,多個case可以共用一條執行語句.如:

……

case 'A':

case 'B':

case 'c':

printf(">60");

break;

……

在A,B,C3種情況下,均執行相同的語句,即輸出">60"(只輸出一次).

(5) 最開始那個例子中,如果把每個case後的break刪除掉,則當greak='A'時,程序從printf("85-100")開始執行,輸出結果為:

85-100

70-84

60-69

<60

error

這是因為case後面的常量表達式實際上只起語句標號作用,而不起條件判斷作用,即"只是開始執行處的入口標號".因此,一旦與switch後面圓括號中表達式的值匹配,就從此標號處開始執行,而且執行完一個case後面的語句後,若沒遇到break語句,就自動進入下一個case繼續執行,而不在判斷是否與之匹配,直到遇到break語句才停止執行,退出break語句.因此,若想執行一

個case分支之後立即跳出switch語句,就必須在此分支的最後添加一個break語句.

引用

--------------------------------------------------------------------------------

int 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",a,b,a+b);

break;

case '-':

printf("%f-%f=%f",a,b,a-b);

break;

case '*':

printf("%f*%f=%f",a,b,a*b);

break;

case '/':

if(b!=0.0)

printf("%f/%f=%f",a,b,a/b);

else

printf("error!");

break;

default:

printf("error!");

break;

}

return 0;

Tags:switch 語句