Xem thêm

Lập trình tân binh | 1.6. Các lệnh cấu trúc

Huy Erick
Chào mừng các bạn đến với bài học số 1.6 của khóa học "Lập trình tân binh"! Trong bài học này, chúng ta sẽ tìm hiểu về các lệnh cấu trúc trong lập trình. Cùng...

Chào mừng các bạn đến với bài học số 1.6 của khóa học "Lập trình tân binh"! Trong bài học này, chúng ta sẽ tìm hiểu về các lệnh cấu trúc trong lập trình. Cùng khám phá nhé!

Các lệnh cấu trúc

Để chương trình có khả năng tự đưa ra quyết định, chúng ta cần sử dụng các lệnh cấu trúc. Các lệnh cấu trúc được chia thành hai nhóm chính:

  • Lệnh điều kiện: Cho phép đặt điều kiện và thực hiện các hành động tương ứng nếu điều kiện đúng.
  • Vòng lặp: Cho phép lặp lại một chuỗi hành động nhiều lần.

Hiểu cách sử dụng các lệnh cấu trúc là cơ bản trong việc lập trình. Chúng không chỉ hữu ích trong việc sử dụng C++ mà còn có thể áp dụng trong các ngôn ngữ lập trình khác.

Để bắt đầu, hãy tìm hiểu về lệnh điều kiện trong C++.

Lệnh điều kiện

Lệnh điều kiện cho phép chúng ta kiểm tra các biến và đưa ra quyết định dựa trên kết quả kiểm tra. Chúng ta có thể đặt các điều kiện như "Nếu điều kiện này xảy ra, thì làm thế này".

Để kiểm tra, chúng ta sử dụng các dấu so sánh và các toán tử điều kiện. Dưới đây là bảng các dấu so sánh cần nhớ:

Dấu so sánh Ý nghĩa
== bằng
> lớn hơn
< nhỏ hơn
>= lớn hơn hoặc bằng
<= nhỏ hơn hoặc bằng
!= khác

Cần lưu ý rằng trong C++, để kiểm tra hai giá trị có bằng nhau hay không, chúng ta sử dụng dấu == chứ không phải =. Điều này đôi khi gây nhầm lẫn cho những người mới học. Kết quả đưa ra sẽ hoàn toàn không như mong đợi nếu không sử dụng đúng dấu so sánh.

Trong C++, có nhiều loại lệnh điều kiện, nhưng lệnh điều kiện quan trọng nhất mà chúng ta cần nắm được là lệnh điều kiện if.

Lệnh điều kiện if

Lệnh điều kiện if được sử dụng để kiểm tra các biến. Hãy xem ví dụ sau:

#include 
using namespace std;

int main() {
    int soCon(2);

    if (soCon > 0) {
        cout << "Chúc mừng bạn đã sinh ra những đứa trẻ xinh đẹp và giỏi giang!" << endl;
    }

    cout << "Kết thúc" << endl;
    return 0;
}

Kết quả nhận được:

Chúc mừng bạn đã sinh ra những đứa trẻ xinh đẹp và giỏi giang!
Kết thúc

Chú ý rằng dòng if (soCon > 0) thực hiện việc kiểm tra xem số con cái có lớn hơn 0 không. Nếu kiểm tra thành công, chương trình sẽ thực hiện các lệnh bên trong dấu ngoặc nhọn {}.

Lệnh điều kiện else

Nếu muốn có một phản ứng cụ thể khi phép kiểm tra thất bại, chúng ta có thể sử dụng từ khóa else (nghĩa là "nếu không"). Ví dụ, hãy thay đổi ví dụ trên:

#include 
using namespace std;

int main() {
    int soCon(0);

    if (soCon > 0) {
        cout << "Chúc mừng bạn đã sinh ra những đứa trẻ xinh đẹp và giỏi giang!" << endl;
    }
    else {
        cout << "Ồ, hãy tận hưởng tự do khi chưa có bốn trẻ!" << endl;
    }

    cout << "Kết thúc" << endl;
    return 0;
}

Kết quả nhận được:

Ồ, hãy tận hưởng tự do khi chưa có bốn trẻ!
Kết thúc

Nếu phép kiểm tra không thành công, máy tính sẽ thực hiện lệnh bên trong dấu ngoặc nhọn {} ngay sau từ khóa else.

Lệnh điều kiện else if

Chúng ta có thể thực hiện nhiều phép kiểm tra liên tiếp nhau bằng lệnh else if. Ví dụ, hãy xem xét trường hợp sau:

#include 
using namespace std;

int main() {
    int soCon(2);

    if (soCon == 0) {
        cout << "Bạn chưa có con?" << endl;
    }
    else if (soCon == 1) {
        cout << "Bao giờ thì đến đứa thứ 2?" << endl;
    }
    else if (soCon == 2) {
        cout << "Bạn đã sinh ra những đứa trẻ thật xinh đẹp và giỏi giang!" << endl;
    }
    else {
        cout << "Chắc là nên dừng lại thôi nhỉ?" << endl;
    }

    cout << "Kết thúc" << endl;
    return 0;
}

Kết quả nhận được:

Bạn đã sinh ra những đứa trẻ thật xinh đẹp và giỏi giang!
Kết thúc

Đoạn mã trên kiểm tra giá trị của biến soCon và thực hiện các lệnh tương ứng. Nếu không một phép kiểm tra nào thành công, lệnh trong khối else sẽ được thực hiện.

Lệnh điều kiện switch

Lệnh điều kiện switch cho phép kiểm tra nhiều giá trị khác nhau của cùng một biến. Hãy xem xét trường hợp sau:

#include 
using namespace std;

int main() {
    int soCon(2);

    switch (soCon) {
        case 0:
            cout << "Bạn chưa có con?" << endl;
            break;
        case 1:
            cout << "Bao giờ thì đến đứa thứ 2?" << endl;
            break;
        case 2:
            cout << "Bạn đã sinh ra những đứa trẻ thật xinh đẹp và giỏi giang!" << endl;
            break;
        default:
            cout << "Chắc là nên dừng lại thôi nhỉ?" << endl;
            break;
    }

    return 0;
}

Kết quả nhận được:

Bạn đã sinh ra những đứa trẻ thật xinh đẹp và giỏi giang!

Trong đoạn mã trên, chúng ta kiểm tra các giá trị khác nhau của biến soCon và thực hiện các lệnh tương ứng. Khối default sẽ được thực hiện nếu không có giá trị nào trùng khớp.

Lệnh switch cho phép kiểm tra các giá trị bằng nhau và không hoạt động với các giá trị khác nhau. Ngoài ra, lệnh này chỉ hoạt động với kiểu dữ liệu nguyên như int, unsigned int, và char.

Qua bài học này, bạn đã hiểu về các lệnh cấu trúc trong lập trình. Tiếp tục khám phá khóa học để tìm hiểu về các khái niệm khác như kiểu bool và điều kiện kết hợp.

Tóm lại:

  • Lệnh điều kiện được sử dụng để kiểm tra giá trị của biến và thay đổi xử lý của chương trình cho phù hợp.
  • Lệnh điều kiện if ... else if ... else là dạng hay gặp nhất của lệnh điều kiện.
  • Lệnh điều kiện switch cho phép kiểm tra nhiều giá trị khác nhau của cùng một biến.
  • Vòng lặp cho phép thực hiện chuỗi hành động lặp đi lặp lại.
  • Có ba loại vòng lặp là for, while, và do ... while.
  • Vòng lặp for được sử dụng khi chúng ta biết chính xác số lần lặp lại chuỗi hành động, trong khi hai vòng lặp khác thường được sử dụng khi số lần lặp không xác định đến khi điều kiện không đúng nữa.
1