Học C++/Vòng lặp

Tủ sách mở Wikibooks

Có một tình huống mà bạn cần phải thực hiện một đoạn code một vài lần. Nhìn chung, các câu lệnh được thực hiện một cách tuần tự. Câu lệnh đầu tiên của hàm được thực hiện trước, sau đó đến câu thứ 2 và tiếp tục.

C++ cung cấp cho chúng ta nhiều cấu trúc điều khiển và cho phép bạn thực hiện những phần phức tạp:

Vòng lặp while[sửa]

Một lệnh vòng lặp while trong thực hiện lặp đi lặp lại một lệnh mục tiêu đến khi nào điều kiện đã cho còn là đúng.

while (dieu_kien)
{
   cac_lenh;
}

Ở đây, cac_lenh có thể là lệnh đơn hoặc một khối các lệnh. dieu_kien có thể là bất kỳ biểu thức nào, và giá trị true là bất kỳ giá trị nào khác 0. Vòng lặp lặp đi lặp lại trong khi dieu_kien là true. Khi điều kiện trở thành false, chương trình điều khiển ngay lập tức chuyển tới dòng lệnh ngay sau vòng lặp. Ví dụ:

#include <iostream>
using namespace std;
 
int main ()
{
   // Khai bao bien cuc bo:
   int a = 4;

   // vong lap while
   while( a < 10 )
   {
       cout << "Gia tri cua a la: " << a << endl;
       a++;
   }
 
   return 0;
}

Vòng lặp for[sửa]

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

for (bien; dieu_kien; tang_giam)
{
   cac_lenh;
}
  • Bước bien được thực hiện đầ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 không được yêu cầu để đặt một lệnh ở đây, miễn là một dấu chấm phảy xuất hiện.
  • Tiếp theo, dieu_kien được ước lượng. Nếu điều kiện là true, phần thân vòng lặp được thực thi. Nếu nó là false, phần thân vòng lặp không được thực thi và dòng điều khiển nhảy tới lệnh tiếp theo ngay sau vòng lặp for.
  • Sau khi phần thân vòng lặp for thực thi, dòng điều khiển nhảy tới lệnh tang_giam. 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à một dấu chấm phảy xuất hiện sau điều kiện.
  • dieu_kien bây giờ được ước lượng lần nữa. Nếu là true, vòng lặp thực thi và tiến trình lặp đi lặp lại chính nó (phần thân vòng lặp, sau đó là tang_giam, và sau đó kiểm tra điều kiện lần nữa). Sau khi điều kiện trở thành false, vòng lặp for kết thúc.

Ví dụ:

#include <iostream>
using namespace std;
 
int main ()
{
   // vong lap for
   for( int a = 5; a < 15; a = a + 1 )
   {
       cout << "Gia tri cua a la: " << a << endl;
   }
 
   return 0;
}

Vòng lặp do…while[sửa]

Không giống như các vòng lặp for và while, mà kiểm tra điều kiện vòng lặp ở ngay bước đầu tiên của vòng lặp, vòng lặp do…while trong Ngôn ngữ C++ kiểm tra điều kiện của nó tại phần cuối của vòng lặp.

Một vòng lặp do…while là tương tự như vòng lặp while, ngoại trừ ở điểm một vòng lặp do…while bảo đảm thực hiện vòng lặp ít nhất một lần.

do
{
   cac_lenh;
}
while (dieu_kien);

Chú ý rằng, biểu thức điều kiện xuất hiện ở cuối cùng của vòng lặp, vì thế các lệnh trong vòng lặp thực hiện một lần trước khi điều kiện được kiểm tra. Nếu điều kiện là true, dòng điều khiển vòng lặp quay trở lại, và các lệnh trong vòng lặp được thực hiện lần nữa. Tiến trình này lặp đi lặp lại tới khi nào điều kiện đã cho trở thành false. Ví dụ:

#include <iostream>
using namespace std;
 
int main ()
{
   // Khai bao bien cuc bo:
   int a = 5;

   // Vong lap do...while
   do
   {
       cout << "Gia tri cua a la: " << a << endl;
       a = a + 1;
   }while( a < 15 );
 
   return 0;
}

Các lệnh điều khiển vòng lặp[sửa]

Lệnh điều khiển Miêu tả
Lệnh break trong C++ Kết thúc vòng lặp hoặc lệnh switch và chuyển sang thực thi vòng lặp hoặc lệnh switch ngay sau nó.
Lệnh continue trong C++ Khi gặp lệnh này thì chương trình sẽ bỏ qua các câu lệnh ở dưới nó (trong cùng một câu lệnh lặp) để thực hiện vòng lặp mới.
Lệnh goto trong C++ Chuyển tới lệnh được gán. Mặc dù vậy, nó được khuyên rằng không nên sử dụng lệnh goto trong chương trình của bạn.

Vòng lặp vô hạn[sửa]

Một vòng lặp là vòng lặp vô hạn khi một điều kiện không bao giờ false. Vòng lặp for thường được sử dụng cho mục đích này. Khi bạn để ba biểu thức điều kiện trong vòng lặp for trống thì bạn sẽ tạo ra một vòng lặp vô hạn. Khi biểu thức điều kiện vắng mặt, nó được giả sử là luôn đúng. Các lập trình viên C++ thường sử dụng for(;;) để biểu thị một vòng lặp vô hạn.

Để dừng một vòng lặp vô hạn bởi nhấn Ctrl + C.