Vòng Lặp For Trong C++: Tìm Hiểu Và Bài Tập Luyện Tập

Trong bài viết này, chúng ta sẽ khám phá vòng lặp for trong ngôn ngữ lập trình C++ và cùng xem qua một số bài tập luyện tập về vòng lặp for có lời giải chi tiết. Hãy tìm hiểu ngay nhé!

I. Vòng Lặp For Trong C++

Vòng lặp for trong C++ là một cấu trúc điều khiển lặp mà cho phép bạn thực thi một đoạn mã một cách hiệu quả trong một khoảng thời gian cụ thể.

Cú pháp

for (biến; điều_kiện; tăng_giảm) {
    // Các lệnh thực thi
}

Dưới đây là mô tả từng bước trong một vòng lặp for:

  1. Bước biến: Thực hiện đầu tiên và chỉ một lần duy nhất. Bước này cho phép bạn khai báo và khởi tạo bất kỳ biến điều khiển vòng lặp nào. Bạn cũng có thể bỏ qua bước này nếu không cần khai báo biến, chỉ cần có dấu chấm phẩy xuất hiện.

  2. Điều kiện: Được đánh giá sau bước biến. Nếu điều kiện là đúng, phần thân của vòng lặp sẽ được thực thi. Nếu điều kiện là sai, phần thân của vòng lặp sẽ không được thực thi và điều khiển sẽ nhảy đến lệnh sau vòng lặp for.

  3. Tăng/giảm: Được thực thi sau khi phần thân của vòng lặp for được thực thi. Bước này cho phép bạn cập nhật bất kỳ biến điều khiển vòng lặp nào. Bước này có thể để trống, miễn là có dấu chấm phẩy xuất hiện sau điều kiện.

  4. Điều kiện: Được đánh giá lại. Nếu điều kiện là đúng, vòng lặp sẽ tiếp tục thực thi và lặp lại chính nó (phần thân, sau đó là bước tăng/giảm, và sau đó là kiểm tra điều kiện). Sau khi điều kiện trở thành sai, vòng lặp for kết thúc.

II. Các Cú Pháp Của Vòng Lặp For Trong C++

Vòng lặp for trong C++ là một cấu trúc điều khiển lặp được sử dụng để thực thi số lần lặp cụ thể.

Cú pháp

for (khai_báo_biến ; điều_kiện ; tăng/giảm_biến) {
    // Khối lệnh được thực thi
}

Luồng điều khiển trong vòng lặp for:

  • Bước khai_báo_biến được thực thi đầu tiên, và chỉ một lần. Bước này cho phép bạn khai báo và khởi tạo bất kỳ biến điều khiển vòng lặp nào. Bạn cũng có thể không cần phải đặt một khai báo ở đây, miễn sao khai báo có dấu chấm phẩy (;).

  • Tiếp theo, điều_kiện được đánh giá. Nếu nó là đúng, phần thân của vòng lặp sẽ được thực thi. Nếu nó là sai, phần thân của vòng lặp sẽ không thực thi và luồng điều khiển sẽ nhảy tới câu lệnh kế tiếp ngay sau vòng lặp for.

  • Sau khi phần thân của vòng lặp for được thực thi, luồng điều khiển nhảy ngược lại lệnh tăng/giảm_biến. Lệnh này cho phép bạn cập nhật bất kỳ biến điều khiển vòng lặp nào. Lệnh này có thể để trống, miễn là khai báo có dấu chấm phẩy (;).

  • điều_kiện được đánh giá lại. Nếu nó là đúng, vòng lặp sẽ tiếp tục thực thi và lặp lại chính nó (phần thân, sau đấy là bước tăng/giảm_biến, và sau đó lại kiểm tra điều_kiện). Sau khi điều kiện trở thành sai, vòng lặp for kết thúc.

III. Cách Sử Dụng Vòng Lặp For Trong C++

Trong bài học hôm nay, chúng ta sẽ giới thiệu về cấu trúc vòng lặp thứ ba và cũng là một cấu trúc vòng lặp được sử dụng nhiều nhất trong C++, đó chính là Vòng lặp For trong C++ (For statements).

Vòng lặp for (for statements)
Vòng lặp for là một cấu trúc lặp được sử dụng nhiều nhất trong ngôn ngữ C++. Nó hoàn toàn có thể thay thế cho vòng lặp while. Lập trình viên thường sử dụng vòng lặp for khi biết trước số lần lặp của vòng lặp.

Cú pháp

for (khai_báo_biến ; điều_kiện ; tăng/giảm_biến) {
    // Khối lệnh được thực thi
}

Để dễ hình dung, vòng lặp for tương đương với vòng lặp while bên dưới:

{
    // Lưu ý dấu ngoặc này là bắt buộc
    khai_báo_biến;
    while (điều_kiện) {
        // Khối lệnh 1
        // Khối lệnh 2
        if (điều_kiện_if){
            break;
        }
        tăng/giảm_biến;
    }
}

Ví dụ: Hãy in các số từ 0 đến 9 ra màn hình bằng vòng lặp for.

#include 
using namespace std;

int main() {
    for(int i = 0; i < 10; i++) {
        cout << i << " ";
    }
    return 0;
}

Kết quả: 0 1 2 3 4 5 6 7 8 9

Lược bỏ các thành phần trong vòng lặp for
Vòng lặp for cho phép bỏ qua một hoặc tất cả các thành phần nếu không sử dụng chúng.

Ví dụ: In các số từ 0 đến 9 ra màn hình bằng vòng lặp for mà không có điều kiện dừng.

#include 
using namespace std;

int main() {
    int count = 0;
    for(; ; ) {
        cout << count << " ";
        count++;

        if (count >= 10) {
            break;
        }
    }
    return 0;
}

Kết quả: 0 1 2 3 4 5 6 7 8 9

Nhiều thành phần trong mỗi phần của vòng lặp for
Trong trường hợp vòng lặp for cần làm việc với nhiều biến, có nhiều điều kiện dừng, hoặc có nhiều biến cần cập nhật giá trị, lập trình viên có thể sử dụng dấu phẩy “,” để tạo thêm nhiều thành phần trong mỗi phần.

Ví dụ: Hãy in các số từ 1 đến 10 và các số chẵn từ 20 đến 30 ra màn hình.

#include 
using namespace std;

int main() {
    for(int i = 1, j = 20; i <= 10 && j <= 30; i++, j += 2) {
        cout << i << " " << j << " ";
    }
    return 0;
}

Kết quả: 1 20 2 22 3 24 4 26 5 28 6 30

IV. Thoát Vòng Lặp For Trong C++

Các lệnh break, continue và return có thể được sử dụng để thoát khỏi vòng lặp for trong C++.

Lệnh break trong C++
Lệnh break trong C++ được sử dụng để thoát khỏi vòng lặp khi điều kiện chỉ định được thỏa mãn. Các vòng lặp trong C++ như vòng lặp while hoặc vòng lặp for sẽ buộc phải kết thúc khi câu lệnh break được thực thi.

Cú pháp của lệnh break trong C++

break;

Câu lệnh break trong C++ được sử dụng kết hợp với câu lệnh if và được miêu tả trong khối lệnh while hoặc khối lệnh for giống như sau:

while (biểu_thức_điều_kiện_while) {
    Câu_lệnh_1;
    Câu_lệnh_2;
    if (biểu_thức_điều_kiện_if) {
        break;
    }
}

Ví dụ: Sử dụng lệnh break để thoát khỏi vòng lặp for khi số lượt lặp đạt đến một giá trị nhất định. Ví dụ dưới đây sẽ tính tổng các số nguyên dương nhỏ hơn 10 cho đến khi tổng đạt đến 5.

#include 
using namespace std;

int main() {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        sum += i;
        cout << i << endl;

        if (sum >= 5) {
            break;
        }
    }

    cout << "Tổng: " << sum << endl;

    return 0;
}

Kết quả:

1
2
3
Tổng: 6

Lệnh continue trong C++
Lệnh continue trong C++ được sử dụng để bỏ qua lượt lặp hiện tại và chuyển đến lượt lặp tiếp theo trong vòng lặp. Các câu lệnh trong vòng lặp sau lệnh continue sẽ không được thực thi.

Cú pháp của lệnh continue trong C++

continue;

Ví dụ: Sử dụng lệnh continue để bỏ qua các lượt lặp có giá trị chẵn trong vòng lặp for từ 0 đến 5.

#include 
using namespace std;

int main() {
    for (int i = 0; i <= 5; i++) {
        if (i % 2 == 0) {
            continue;
        }

        cout << i << " ";
    }

    return 0;
}

Kết quả: 1 3 5

V. Bài Tập Vòng Lặp For Trong C++

Vòng lặp là một khái niệm cơ bản trong ngôn ngữ lập trình và được sử dụng rất nhiều trong các giải thuật. Để nắm vững kiến thức và thuần thục cách sử dụng vòng lặp, chúng ta cần thực hành luyện tập thường xuyên. Dưới đây là một số bài tập luyện tập về vòng lặp for trong C++ có lời giải đầy đủ và chi tiết.

  1. Bài tập C++: In các số từ 1 đến 10 theo thứ tự tăng dần

Yêu cầu: In các số từ 1 đến 10 theo thứ tự tăng dần.

Lời giải:

#include 
using namespace std;

int main() {
    for (int i = 1; i <= 10; i++) {
        cout << i << " ";
    }

    return 0;
}

Kết quả: 1 2 3 4 5 6 7 8 9 10

  1. Bài tập C++: In các số từ 1 đến 10 theo thứ tự giảm dần

Yêu cầu: In các số từ 1 đến 10 theo thứ tự giảm dần.

Lời giải:

#include 
using namespace std;

int main() {
    for (int i = 10; i >= 1; i--) {
        cout << i << " ";
    }

    return 0;
}

Kết quả: 10 9 8 7 6 5 4 3 2 1

  1. Bài tập C++: In bảng số từ 1 đến 100

Yêu cầu: In một bảng số từ 1 đến 100 thỏa mãn các điều kiện như sau:

  • Bảng số gồm 10 hàng và 10 cột.
  • Các giá trị trong hàng là liên tiếp nhau.
  • Các giá trị trong cột là cách nhau 10.

Lời giải:

#include 
#include 
using namespace std;

int main() {
    cout << "In bảng số:" << endl;

    for (int i = 1; i <= 10; i++) {
        for (int j = i; j <= 100; j += 10) {
            cout << setw(5) << j;
        }
        cout << endl;
    }

    return 0;
}

Kết quả:

1     11    21    31    41    51    61    71    81    91
2     12    22    32    42    52    62    72    82    92
3     13    23    33    43    53    63    73    83    93
4     14    24    34    44    54    64    74    84    94
5     15    25    35    45    55    65    75    85    95
6     16    26    36    46    56    66    76    86    96
7     17    27    37    47    57    67    77    87    97
8     18    28    38    48    58    68    78    88    98
9     19    29    39    49    59    69    79    89    99
10    20    30    40    50    60    70    80    90    100

Chúc mừng! Bạn đã hoàn thành việc tìm hiểu về vòng lặp for trong C++ và luyện tập qua một số bài tập. Hy vọng rằng thông qua bài viết này, bạn đã nắm vững cách sử dụng và áp dụng vòng lặp for trong các chương trình của mình.

FEATURED TOPIC

hihi