Câu Lệnh If Else Trong C

Bài 13. Câu lệnh if else trong C

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

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

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.
}

Flowchart của trường hợp chỉ có if trông như sau, điều kiện (condition), stament (khối code), còn rest of code là 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
 */

// 1. Chỉ có if
// BT: Nhập vào 1 số nguyên, kiểm tra số đó có phải số chẵn hay ko?

#include <stdio.h>

int main(){
    int a;
    printf("Nhap a = "); scanf("%d", &a);

    if (a % 2 == 0) // a chia hết cho 2
    {
        printf("%d la so chan", a);
    }
    printf("\nXong!");
}

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

PS G:\c_cources\day_13> .\IfStatement.exe
Nhap a = 5
Xong!
PS G:\c_cources\day_13> .\IfStatement.exe
Nhap a = 6
6 la so chan
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
}

Flowchart của 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
 */

// 2. Có if else
// BT: Nhập vào 1 số nguyên, kiểm tra số đó có phải số chẵn hay số lẻ

#include <stdio.h>

int main(){
    int a;
    printf("Nhap a = "); scanf("%d", &a);

    if (a % 2 == 0) // a chia hết cho 2
    {
        printf("%d la so chan", a);
    }else{
        printf("%d la so le", a);
    }
}

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

PS G:\c_cources\day_13> .\IfElseStatement.exe
Nhap a = 4
4 la so chan
PS G:\c_cources\day_13> .\IfElseStatement.exe
Nhap a = 3
3 la so le

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
 */

// 3. if else if
// BT: Nhập vào hai số nguyên, đưa ra kết luận so sánh 2 số đó

#include <stdio.h>

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


    // a, b 
    if(a > b){
        //
        printf("%d lon hon %d", a, b);
    }else if(a == b){
        printf("%d bang %d", a, b);
    }else{
        printf("%d nho hon %d", a, b);
    }
}

Kết quả chạy:

PS G:\c_cources\day_13> .\IfElseIf.exe
Nhap a = 4
Nhap b = 5
4 nho hon 5

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

Chính là việc bạn sử dụng một cấu trúc if else khác trong thân của một cấu trúc 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
 */

// 4. if else lồng nhau
// BT: Nhập vào 1 số nguyên, kiểm tra số đó là số âm chẵn, âm lẻ, dương chẵn hay dương lẻ hay là số 0?

#include <stdio.h>

int main(){
    int a;
    printf("Nhap a = "); scanf("%d", &a);

    if(a > 0){
        // Số dương
        if(a % 2 == 0){
            printf("Day la so duong chan!");
        }else{
            printf("Day la so duong le!");
        }
    }else if(a == 0){
        // Số 0
        printf("Day la so 0!");
    }else{ 
        // Số âm
        if(a % 2 == 0){
            printf("Day la so am chan!");
        }else{
            printf("Day la so am le!");
        }
    }
}

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

PS G:\c_cources\day_13> .\IfElseNested.exe
Nhap a = 4
Day la so duong chan!
PS G:\c_cources\day_13> .\IfElseNested.exe
Nhap a = -3
Day la so am le!

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 website của Luyện Code Online. Truy cập ngay vào link này để thực hành nhé.

Tài liệu tham khảo

  1. https://www.programiz.com/c-programming/c-if-else-statement

Similar Posts

Subscribe
Notify of
guest
2 Bình luận
Inline Feedbacks
View all comments