Xem thêm

Hướng dẫn về câu lệnh if-else trong ngôn ngữ lập trình C

Huy Erick
Câu lệnh if-else trong ngôn ngữ lập trình C là một thành phần quan trọng để thực hiện điều kiện rẽ nhánh trong chương trình. Nó cho phép chúng ta kiểm tra một biểu thức...

Câu lệnh if-else trong ngôn ngữ lập trình C là một thành phần quan trọng để thực hiện điều kiện rẽ nhánh trong chương trình. Nó cho phép chúng ta kiểm tra một biểu thức hoặc điều kiện và thực hiện các lệnh khác nhau dựa trên kết quả của biểu thức đó.

Video hướng dẫn về câu lệnh if-else trong C

Xin chào các bạn độc giả thân mến, bài học "Câu lệnh if-else trong C" này là bài đầu tiên trong chương Trình điều khiển và rẽ nhánh. Cấu trúc if-else được sử dụng hầu như trong mọi chương trình phần mềm. Do đó, để tiếp tục học tốt các bài tập tiếp theo, bạn cần nắm chắc kiến thức về câu lệnh if-else. Bài này sẽ giúp bạn luyện tập kỹ năng lập trình.

Câu lệnh if

Cấu trúc của câu lệnh if như sau:

if (điều kiện){
    // Khối lệnh sẽ được thực hiện nếu <điều kiện> đúng.
}

Sơ đồ khối cho trường hợp chỉ có câu lệnh if trông như sau, trong đó, điều kiện (condition), statement (khối code), và rest of code (phần code phía sau khối if, nếu có):

Bài 13. Câu lệnh if else trong C Nguồn ảnh: trytoprogram.com

Code minh họa:

/* 1. Chỉ có if
   2. Có if else
   3. Có if else if
   4. if else lồng nhau */

#include <stdio.h>

int main(){
    int a;
    printf("Nhập a = ");
    scanf("%d", &a);
    if (a % 2 == 0) // a chia hết cho 2
    {
        printf("%d là số chẵn", a);
    }
    printf("Xong!");
}

Kết quả chạy thử chương trình:

PS G:c_courcesday_13> .IfStatement.exe
Nhập a = 5
Xong!
PS G:c_courcesday_13> .IfStatement.exe
Nhập a = 6
6 là số chẵn
Xong!

Câu lệnh if-else

Cấu trúc của câu lệnh if-else như sau:

if (condition){
    // statement1
    // khối lệnh sẽ thực hiện nếu điều kiện đúng
}else{
    // statement2
    // khối lệnh sẽ thực hiện nếu điều kiện sai
}

Sơ đồ khối cho cấu trúc if-else trong C có quy trình hoạt động như sau:

Bài 13. Câu lệnh if else trong C Nguồn ảnh: codeforwin.org

Ví dụ minh họa:

/* 1. Chỉ có if
   2. Có if else
   3. Có if else if
   4. if else lồng nhau */

#include <stdio.h>

int main(){
    int a;
    printf("Nhập a = ");
    scanf("%d", &a);
    if (a % 2 == 0) // a chia hết cho 2
    {
        printf("%d là số chẵn", a);
    }else{
        printf("%d là số lẻ", a);
    }
}

Kết quả chạy chương trình:

PS G:c_courcesday_13> .IfElseStatement.exe
Nhập a = 4
4 là số chẵn
PS G:c_courcesday_13> .IfElseStatement.exe
Nhập a = 3
3 là số lẻ

Cấu trúc if ... elseif ... else

Cú pháp của cấu trúc này như sau:

if (test expression1) {
    // statement(1)
} else if(test expression2) {
    // statement(2)
} else if (test expression3) {
    // statement(3)
} . . else {
    // statement(n)
}

Code minh họa:

/* 1. Chỉ có if
   2. Có if else
   3. Có if else if
   4. if else lồng nhau */

#include <stdio.h>

int main(){
    int a, b;
    printf("Nhập a = ");
    scanf("%d", &a);
    printf("Nhập b = ");
    scanf("%d", &b);

    if(a > b){
        // printf("%d lớn hơn %d", a, b);
    }else if(a == b){
        printf("%d bằng %d", a, b);
    }else{
        printf("%d nhỏ hơn %d", a, b);
    }
}

Kết quả chạy:

PS G:c_courcesday_13> .IfElseIf.exe
Nhập a = 4
Nhập b = 5
4 nhỏ hơn 5

Cấu trúc if else lồng nhau

Cấu trúc này cho phép bạn sử dụng một câu lệnh if-else khác trong thân của một câu lệnh if-else đã có. Xem ví dụ code sau đây để hiểu rõ hơn.

/* 1. Chỉ có if
   2. Có if else
   3. Có if else if
   4. if else lồng nhau */

#include <stdio.h>

int main(){
    int a;
    printf("Nhập a = ");
    scanf("%d", &a);

    if(a > 0){ // Số dương
        if(a % 2 == 0){
            printf("Đây là số dương chẵn!");
        }else{
            printf("Đây là số dương lẻ!");
        }
    }else if(a == 0){ // Số 0
        printf("Đây là số 0!");
    }else{ // Số âm
        if(a % 2 == 0){
            printf("Đây là số âm chẵn!");
        }else{
            printf("Đây là số âm lẻ!");
        }
    }
}

Kết quả chạy thử chương trình:

PS G:c_courcesday_13> .IfElseNested.exe
Nhập a = 4
Đây là số dương chẵn!
PS G:c_courcesday_13> .IfElseNested.exe
Nhập a = -3
Đây là số âm lẻ!

Bài tập thực hành

Có vô số bài tập về cấu trúc điều khiển đang chờ bạn luyện tập tại đây: "1000 bài tập lập trình C/C++ có lời giải của thầy Khang".

Tài liệu tham khảo

1