C語言if-else語句


C語言中的if語句用於基於條件執行操作。通過使用if-else語句,您可以執行基於條件為truefalse的操作。

使用C語言中的if語句有很多形式:

  • if語句
  • if-else語句
  • if else-if語句並排
  • 巢狀if

1. if語句

if語句的語法如下 -

if(expression){  
    //code to be executed  
}

C語言中的if語句的流程圖,如下所示 -

我們來看一個簡單的c語言if語句的範例程式碼,建立一個原始檔:if-statement.c,程式碼如下所示 -

#include<stdio.h>  
#include<conio.h>  
void main() {
    int number = 0;

    printf("enter a number:");
    scanf("%d", &number);

    if (number % 2 == 0) {
        printf("%d is even number\n", number);
    }

}

執行上面範例程式碼,得到以下結果 -

enter a number:100
100 is even number

2.if-else語句

如果conditiontruefalse都要執行對應程式碼塊,則可使用C語言中的if-else語句來實現。if-else語句的語法如下:

if(expression){  
//code to be executed if condition is true  
}else{  
//code to be executed if condition is false  
}

C語言中的if-else語句的流程圖,如下所示 -

我們來看一個簡單的C語言if-else語句的範例程式碼,建立一個原始檔:if-else-statement.c,程式碼如下所示 -

#include<stdio.h>  
#include<conio.h>  
void main() {
    int number = 0;

    printf("enter a number:");
    scanf("%d", &number);

    if (number % 2 == 0) {
        printf("%d is even number\n", number);
    }
    else {
        printf("%d is odd number\n", number);
    }    
}

執行上面範例程式碼,第一次執行得到以下結果(輸入整數:20),

enter a number:20
20 is even number
請按任意鍵繼續. . .

第二次執行得到以下結果(輸入整數:55),

enter a number:55
55 is odd number
請按任意鍵繼續. . .

3.if else-if語句

if else-if語句用於從多個條件執行一個程式碼。 if else-if語句的語法如下:

if(condition1){  
//code to be executed if condition1 is true  
}else if(condition2){  
//code to be executed if condition2 is true  
}else if(condition3){  
//code to be executed if condition3 is true  
}  
...  
else{  
//code to be executed if all the conditions are false  
}

C語言中的if else-if語句的流程圖 -

下面給出了C語言中if-else-if語句的例子,建立一個原始檔:if-ifelse-statment.c,其程式碼如下所示 -

#include<stdio.h>  

void main() {
    int number = 0;

    printf("enter a number:");
    scanf("%d", &number);

    if (number == 10) {
        printf("number is equals to 10\n");
    }else if (number == 50) {
        printf("number is equal to 50\n");
    }else if (number == 100) {
        printf("number is equal to 100\n");
    }else {
        printf("number is not equal to 10, 50 or 100\n");
    }
}

執行上面範例程式碼,得到以下結果 -

enter a number:88
number is not equal to 10, 50 or 100

4.巢狀if

巢狀if語句就是在一個if語句中巢狀一個或多個if語句,建立一個原始檔:nested_if.c,參考如下範例程式碼:

#include<stdio.h>  

void main() {
    int score = 0;
    printf("enter a score:");
    scanf("%d", &score);

    if (score >= 60) { // 下面是巢狀if-else語句
        if (score <= 80) {
            printf("分數大於60小於80,中等水平\n");
        }else if (score > 80 && score < 90) {
            printf("分數大於60小於80,成績良好\n");
        }else{// 大於 90 以上
            printf("分數大於90,成績優秀\n");
        }
    }else {
        printf("分數小於 60 分,不及格~!\n");
    }
}

執行上面查詢語句,得到以下結果 -

enter a score:90
分數大於90,成績優秀
請按任意鍵繼續. . .