[C++]. If Else

image

1. Câu lệnh If

Câu lệnh if được sử dụng khi bạn cần kiểm tra một điều kiện trước khi thực hiện một số câu lệnh. Ví dụ: Nếu n là số chẵn, hãy in ra “28tech”.

Cú pháp của câu lệnh if như sau:

if (điều_kiện) {
    // Các câu lệnh
}

Điều kiện trong if thường là các phép so sánh hoặc biểu thức trả về giá trị đúng/sai. Khi điều kiện là đúng, các câu lệnh bên trong ngoặc nhọn của if sẽ được thực hiện. Ngược lại, nếu điều kiện sai, các câu lệnh này sẽ bị bỏ qua.

Ví dụ 1: Kiểm tra n có giá trị là 28, sau đó in ra “28tech”

#include 
using namespace std;

int main() {
    int n = 28;

    if (n == 28) {
        cout << "28tech";
    }

    if (n > 30) {
        cout << "blog 28tech";
    }

    cout << "end";

    return 0;
}

Output:

28tech end

Ví dụ 2: Kiểm tra n có phải là số chẵn, sau đó in ra “CHAN”
Để kiểm tra xem một số có phải là số chẵn hay không, bạn có thể lấy số dư của số đó chia cho 2 và kiểm tra xem số dư có bằng 0 hay không.

#include 
using namespace std;

int main() {
    int n = 28;

    if ((n % 2) == 0) {
        cout << "CHAN";
    }

    if ((n % 2) != 0) {
        cout << "LE";
    }

    return 0;
}

Output:

CHAN

Ví dụ 3: Kiểm tra n có chia hết cho m hay không
Để kiểm tra tính chia hết của hai số, bạn có thể lấy số dư của n chia cho m và kiểm tra xem số dư đó có bằng 0 hay không.

#include 
using namespace std;

int main() {
    int n = 28, m = 4;

    if ((n % m) == 0) {
        cout << "Chia het";
    }

    if ((n % m) != 0) {
        cout << "Khong chia het";
    }

    return 0;
}

Output:

Chia het

Ví dụ 4: Kiểm tra n có phải là một trong 4 số 2, 3, 5, 7 hay không, sau đó in ra “YES”

#include 
using namespace std;

int main() {
    int n = 5;

    if ((n == 2) || (n == 3) || (n == 5) || (n == 7)) {
        cout << "YES";
    }

    return 0;
}

Output:

YES

Chú ý: Trong ngôn ngữ C++, các giá trị khác không được coi là đúng. Nếu bạn sử dụng một số khác không làm điều kiện cho if, khi số đó khác 0, code bên trong if sẽ được thực hiện. Ngược lại, nếu số đó là 0, code bên trong if sẽ không được thực hiện.

Ví dụ 5:

#include 
using namespace std;

int main() {
    int n = 28, m = 0;

    if (n) {
        cout << n << " khac 0";
    }

    if (m) {
        cout << m << " khac 0";
    }

    printf("END");

    return 0;
}

Output:

28 khac 0 END

2. Câu lệnh If-else

Câu lệnh if-else được sử dụng để xử lý một điều kiện. Khi điều kiện trong if là sai, khối lệnh bên trong else sẽ được thực hiện.

Cú pháp của câu lệnh if-else như sau:

if (điều_kiện) {
    // Code này sẽ được thực hiện khi điều kiện đúng
} else {
    // Code này sẽ được thực hiện khi điều kiện sai
}

Ví dụ 1: Kiểm tra n có phải là số chẵn. Nếu đúng, in ra “CHAN” và “28tech”. Nếu sai, in ra “LE” và “28tech.com.vn”

#include 
using namespace std;

int main() {
    int n;
    scanf("%d", &n);

    if (n % 2 == 0) {
        cout << "CHAN";
        cout << "28tech";
    } else {
        cout << "LE";
        cout << "28tech.com.vn";
    }

    return 0;
}

Output:

CHAN 28tech

Ví dụ 2: Kiểm tra n có phải là năm nhuận hay không. Nếu đúng, in ra “YES”. Nếu sai, in ra “NO”

#include 
using namespace std;

int main() {
    int n = 2020;

    if ((n % 400 == 0) || (n % 4 == 0 && n % 100 != 0)) {
        cout << "YES";
    } else {
        cout << "NO";
    }
}

Output:

YES

3. Câu lệnh If-else lồng nhau

Câu lệnh if-else có thể lồng vào nhau, tức là bên trong khối lệnh else có thể có thêm nhiều câu lệnh if-else khác. Cú pháp này thường được sử dụng khi bạn cần kiểm tra từng bước một của một bài toán phức tạp.

Ví dụ 1: Kiểm tra n có nằm trong đoạn [20, 50] và chia hết cho ít nhất 1 trong 4 số 2, 3, 5, 7 hay không. Nếu đúng, in ra “YES”. Nếu sai, in ra “NO”
Code 1: Sử dụng if-else

#include 
using namespace std;

int main() {
    int n = 20;

    if ((n >= 20 && n <= 50) && (n % 2 == 0 || n % 3 == 0 || n % 5 == 0 || n % 7 == 0)) {
        cout << "YES";
    } else {
        cout << "NO";
    }

    return 0;
}

Code 2: Sử dụng if-else lồng nhau

#include 
using namespace std;

int main() {
    int n = 20;

    if (n >= 20 && n <= 50) {
        if (n % 2 == 0 || n % 3 == 0 || n % 5 == 0 || n % 7 == 0) {
            cout << "YES";
        } else {
            cout << "NO";
        }
    } else {
        cout << "NO";
    }

    return 0;
}

4. Bài tập luyện tập

Để trở thành một người viết code thành thạo với câu lệnh if-else, bạn cần luyện tập nhiều và nắm vững các câu lệnh kiểm tra thường gặp. Dưới đây là một số bài tập để bạn rèn kỹ năng của mình.

Bài 1: Kiểm tra n có phải là số chẵn hay không, in ra 1 nếu đúng và 0 nếu sai

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n % 2 == 0) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }

    return 0;
}

Bài 2: Kiểm tra n có vừa chia hết cho 3 và chia hết cho 5 hay không, in ra 1 nếu đúng và 0 nếu sai

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n % 3 == 0 && n % 5 == 0) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }

    return 0;
}

Bài 3: Kiểm tra n có chia hết cho 3 nhưng không chia hết cho 7 hay không, in ra 1 nếu đúng và 0 nếu sai

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n % 3 == 0 && n % 7 != 0) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }

    return 0;
}

Bài 4: Kiểm tra n có chia hết cho 3 hoặc 7 hay không, in ra “28tech” và “laptrinhC++” nếu đúng và “28tech.com.vn” và “Java” nếu sai

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n % 3 == 0 || n % 7 == 0) {
        cout << "28tech";
        cout << "laptrinhC++" << endl;
    } else {
        cout << "28tech.com.vn";
        cout << "Java" << endl;
    }
}

Bài 5: Kiểm tra n có lớn hơn 30 và nhỏ hơn 50 hay không, in ra 1 nếu đúng và 0 nếu sai

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n > 30 && n < 50) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
}

Bài 6: Kiểm tra n có không nhỏ hơn 30 và chia hết cho ít nhất 1 trong 3 số 2, 3, 5 hay không, in ra 1 nếu đúng và 0 nếu sai

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n >= 30 && (n % 2 == 0 || n % 3 == 0 || n % 5 == 0)) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
}

Bài 7: Kiểm tra n có phải là số có 2 chữ số và chữ số cuối cùng là một số nguyên tố hay không

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    int r = n % 10; // Chữ số cuối cùng

    if (n >= 10 && n <= 99 && (r == 2 || r == 3 || r == 5 || r == 7)) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
}

Bài 8: Kiểm tra n có không vượt quá 100 và chia hết cho 23 hay không

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n <= 100 && n % 23 == 0) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
}

Bài 9: Kiểm tra n không thuộc đoạn [10, 20]

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if (n < 10 || n > 20) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
}

Bài 10: Kiểm tra n có chữ số cuối cùng là bội số của 3 hay không

#include 
using namespace std;

int main() {
    int n;
    cin >> n;

    if ((n % 10) % 3 == 0) {
        cout << 1 << endl;
    } else {
        cout << 0 << endl;
    }
}

Video hướng dẫn: QH-nyFW3c0s

FEATURED TOPIC