Trong hướng dẫn này, bạn sẽ học cách tạo vòng lặp while và do … while trong lập trình C với sự trợ giúp của các ví dụ.
Trong lập trình, các vòng lặp được sử dụng để lặp lại một khối mã cho đến khi một điều kiện cụ thể được đáp ứng.
Lập trình C có ba loại vòng lặp.
- vòng lặp for
- trong khi lặp lại
- vòng lặp do … while
Trong hướng dẫn trước, chúng ta đã tìm hiểu về for
vòng lặp. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về while
và do..while
lặp lại.
trong khi lặp lại
Cú pháp của while
vòng lặp là:
while (testExpression) {
// the body of the loop
}
Vòng lặp while hoạt động như thế nào?
- The
while
loop evaluates thetestExpression
inside the parentheses()
. - If
testExpression
is true, statements inside the body ofwhile
loop are executed. Then,testExpression
is evaluated again. - The process goes on until
testExpression
is evaluated to false. - If
testExpression
is false, the loop terminates (ends).
Để tìm hiểu thêm về các biểu thức kiểm tra (khi nào testExpression
được đánh giá là đúng và sai ), hãy xem các toán tử quan hệ và logic .
Lưu đồ của vòng lặp while
Hoạt động của vòng lặp while
Ví dụ 1: Vòng lặp while
// Print numbers from 1 to 5
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
++i;
}
return 0;
}
Đầu ra
1 2 3 4 5
Ở đây, chúng tôi đã khởi tạo i thành 1.
- Khi nào
i = 1
, biểu thức kiểm trai <= 5
là đúng . Do đó, phần thân củawhile
vòng lặp được thực thi. Điều này sẽ in1
trên màn hình và giá trị của i được tăng lên2
. - Bây giờ,
i = 2
biểu thức kiểm trai <= 5
lại đúng . Phần thân củawhile
vòng lặp được thực thi một lần nữa. Điều này sẽ in2
trên màn hình và giá trị của i được tăng lên3
. - Quá trình này tiếp tục cho đến khi tôi trở thành 6. Khi đó, biểu thức kiểm tra
i <= 5
sẽ là false và vòng lặp kết thúc.
vòng lặp do … while
Các do..while
vòng lặp tương tự như while
vòng lặp với một sự khác biệt quan trọng. Phần thân của do...while
vòng lặp được thực thi ít nhất một lần. Chỉ khi đó, biểu thức kiểm tra mới được đánh giá.
Cú pháp của do...while
vòng lặp là:
do {
// the body of the loop
}
while (testExpression);
Vòng lặp while … hoạt động như thế nào?
- The body of
do...while
loop is executed once. Only then, thetestExpression
is evaluated. - If
testExpression
is true, the body of the loop is executed again andtestExpression
is evaluated once more. - This process goes on until
testExpression
becomes false. - If
testExpression
is false, the loop ends.
Lưu đồ vòng lặp do … while
Làm việc của vòng lặp do … while
Ví dụ 2: vòng lặp do … while
// Program to add numbers until the user enters zero
#include <stdio.h>
int main() {
double number, sum = 0;
// the body of the loop is executed at least once
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}
Đầu ra
Enter a number: 1.5 Enter a number: 2.4 Enter a number: -3.4 Enter a number: 4.2 Enter a number: 0 Sum = 4.70
Ở đây, chúng tôi đã sử dụng một do...while
vòng lặp để nhắc người dùng nhập một số. Vòng lặp hoạt động miễn là số đầu vào không phải là 0
.
Các do...while
thực thi vòng ít nhất một lần tức là lặp chạy đầu tiên mà không cần kiểm tra điều kiện. Điều kiện chỉ được kiểm tra sau khi thực hiện lần lặp đầu tiên.
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
Vì vậy, nếu đầu vào đầu tiên là một số khác 0, số đó sẽ được thêm vào biến tổng và vòng lặp tiếp tục đến lần lặp tiếp theo. Quá trình này được lặp lại cho đến khi người dùng nhập 0
.
Nhưng nếu đầu vào đầu tiên là 0, sẽ không có lần lặp thứ hai của vòng lặp và tổng trở thành 0.0
.
Bên ngoài vòng lặp, chúng tôi in giá trị của tổng .