Ngôn ngữ C/Vòng lặp
Vòng lặp do
[sửa]do <mệnh đề> while (<biểu thức>);
Trong mệnh đề này thì mệnh đề được thực thi lặp lại cho tới khi nào <biểu thức> được đánh giá (hay có giá trị) là true
. Một khi <biểu thức> không còn có giá trị true
nữa thì vòng lặp sẽ bị kết thúc.
Vòng lặp while
[sửa]while (<biểu thức>) <mệnh đề>
<mệnh đề> chỉ được thực thi hay thực thi lặp lại khi <biểu thức> có giá trị là true
. Nếu <biểu thức> có giá trị false
thì câu lệnh sẽ bị kết thúc ngay lập tức.
Vòng lặp for
[sửa]Dạng C89 của vòng lặp for
là:
for (<biểu thức 1> ; <biểu thức 2> ; <biểu thức 3>) <câu lệnh>
Nó đã được tổng quát hóa trong C99 thành:
for (<khai báo> <biểu thức 1> ; <biểu thức 2>) <câu lệnh>
Khi cả ba biểu thức đều hiện diện trong một câu lệnh for
, thì mệnh đề:
for (e1; e2; e3) s;
sẽ tương đương với
e1; while (e2) { s; e3; }
Bất kì biểu thức nào trong vòng lặp for
có thể được loại bỏ. Một biểu thức bị mất (e2 chẳng hạn) có thể làm cho vòng lặp biến thành vòng lặp vô hạn.
- Thí dụ: vòng lặp
for
sau đây 3 biểu thức ở dạng phức hợp và ngăn cách nhau bởi dấu chấm phẩy;
:
for (x=10,y=1;((x>4) && (y<8)); x--,y+=2) printf("x = %d, y = %d \n", x,y);
Kết quả thực thi màn hình sẽ hiển thị như sau:
x = 10, y = 1 x = 9, y = 3 x = 8, y = 5 x = 7, y = 7
Vòng lặp kết thúc vì điều kiện trong biểu thức thứ nhì ((x>4) && (y<8)) không còn đúng nữa.