C語言中的分支語句,就是這麼簡單

if語句

一個 if 語句 後可跟一個可選的 else 語句,else 語句在布林表示式為假時執行。

語法

if(表示式){ // 如果表示式為真將執行的語句}else{ // 如果表示式為假將執行的語句}

如果布林表示式為 true,則執行 if 塊內的程式碼。如果布林表示式為 false,則執行 else 塊內的程式碼。

C語言中的分支語句,就是這麼簡單

示例:

int main()

{

int a=1,b=2;

if(a>b)

{

printf(“a>b”);

}

else

{

printf(“a<=b”);

}

return 0;

}

程式執行結果為:a>b

注意

一個 if 語句後可跟一個可選的 else if。。。else 語句,這可用於測試多種條件。

當使用 if。。。else if。。。else 語句時,以下幾點需要注意:

一個 if 後可跟零個或一個 else,else 必須在所有 else if 之後。

一個 if 後可跟零個或多個 else if,else if 必須在 else 之前。

一旦某個 else if 匹配成功,其他的 else if 或 else 將不會被測試。

如:

if(表示式 1){ // 當表示式 1 為真時執行}else if( 表示式 2){ // 當布林表示式 2 為真時執行}else if( 表示式 3){ // 當表示式 3 為真時執行}else { // 當上麵條件都不為真時執行}

switch 語句

一個 switch 語句允許測試一個變數等於多個值時的情況。每個值稱為一個 case,且被測試的變數會對每個 switch case 進行檢查。

語法

switch(控制變數)

{

case 值1:

語句塊1; //當控制變數的值等於值1時,執行語句塊1,break,以此類推;

break;

case 值1:

語句塊2;

break;

case 值3:

語句塊3;

break;

。。。

default:語句塊0; //當控制變數不滿足任何值時,執行語句塊0;

}

C語言中的分支語句,就是這麼簡單

示例

int main()

{

int n;

scanf(“%d”,&n);

switch(n)

{

case 1:printf(“%d”,1);break;

case 2:printf(“%d”,2);break;

default:printf(“%d”,0);

}

return 0;

}

當輸入1或2,時分別輸出1或2,除此之外任何輸入任何值,輸出結果都為0;

注意

switch 語句中的 expression 是一個常量表達式,必須是一個整型或列舉型別。

在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒號。

case 的 constant-expression 必須與 switch 中的變數具有相同的資料型別,且必須是一個常量或字面量。

當被測試的變數等於 case 中的常量時,case 後跟的語句將被執行,直到遇到 break語句為止。

當遇到 break 語句時,switch 終止,控制流將跳轉到 switch 語句後的下一行。

不是每一個 case 都需要包含 break。如果 case 語句不包含 break,控制流將會 繼續 後續的 case,直到遇到 break 為止。

一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default case 可用於在上面所有 case 都不為真時執行一個任務。default case 中的 break語句不是必需的。

總結:

在選擇分支較多時,選用switch…case結構會提高程式的效率,但switch不足的地方在於只能處理字元或者數字型別的變數,if…else結構更加靈活一些,if…else結構可以用於判斷表示式是否成立,比如if(a+b>c),if…else的應用範圍更廣,switch…case結構在某些情況下可以替代if…else結構。

C語言中的分支語句,就是這麼簡單

頂部