1/ For

Vòng lặp rất tiện dụng vì chúng giúp tiết kiệm thời gian, giảm lỗi và giúp mã dễ đọc hơn. Vòng lặp có hai loại, một loại biết chính xác số lần lặp và một loại không biết chính xác số lần lặp.

for là loại vòng lặp biết chính xác số lần lặp.

Cú pháp:

for (statement 1; statement 2; statement 3) {
  // khoi ma (duoc thuc thi lap lai nhieu lan)
}
  • statement 1: được thực hiện một lần duy nhất trước khi vòng lặp bắt đầu
  • statement 2: xác định điều kiện để thực thi khối mã, nếu điều kiện sai thì vòng lặp sẽ kết thúc
  • statement 3: được thực thi sau khi khối mã đã được thực hiện

Ví dụ 1:

#include <iostream>
using namespace std;

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

Trong đó,

  • int i = 0: là statement 1
  • i < 5: là statement 2 - điều kiện để thực thi khối mã
  • dòng 6 và 7: là khối mã cần thực thi lặp lại nhiều lần
  • i++: là statement 3, được thực thi khi dòng 6 và 7 thực hiện xong

Kết quả sẽ là:

1
2
3
4

Nhìn vào statement 1, 2 và 3 thì ta sẽ biết rằng, khối mã (dòng 6 và 7) sẽ được thực thi 4 lần.

  • Đầu tiên, statement 1 là gán biến i bằng 0
  • Tiếp đến, statement 2 kiểm tra i có nhỏ hơn 5 không; nếu đúng thì khối mã (dòng 6 và 7) được thực thi; nếu sai thì kết thúc vòng lặp
  • Cuối cùng, statement 3 được thực thi tăng i một đơn vị

Ví dụ 1 có thể được viết như sau nếu không sử dụng vòng lặp for:

#include <iostream>
using namespace std;

int main() {
  cout << i;
  cout << "\n";

  cout << i;
  cout << "\n";

  cout << i;
  cout << "\n";

  cout << i;
  cout << "\n";

  return 0;
}

Đây chỉ là 4 lần lặp, các em thử tưởng tượng, sẽ kinh khủng biết chừng nào mà khi cần lặp một khối mã 1000 lần mà không có vòng lặp for.

2/ Kết hợp sử dụng if

Các em có thể kết hợp forif để kiểm soát khối mã thực thi theo ý muốn.

Ví dụ 2:

#include <iostream>
using namespace std;

int main() {
  for (int i = 0; i < 5; i++) {
   if (i != 2) {
    cout << i;
    cout << "\n";
   }
  }
  return 0;
}

Kết quả sẽ là:

1
3
4

Gợi ý: các em hãy kết hợp for với switch

3/ continue

Câu lệnh continue dùng để ngắt một lần lặp nếu một điều kiện cụ thể xảy ra và tiếp tục với những lần lặp tiếp theo trong vòng lặp.

Ví dụ 3:

#include <iostream>
using namespace std;

int main() {
  for (int i = 1; i < 5; i++) {
    if (i == 3) {
      continue;
    }
    cout << i << "\n";
  }   
  return 0;
}

Kết quả sẽ là:

1
2
4

Vì khi i == 3, chúng ta sử dụng continue để ngắt vòng lặp một lần.