C while và do … while Loop

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.

  1. vòng lặp for
  2. trong khi lặp lại
  3. vòng lặp do … while

Trong hướng dẫn trước, chúng ta đã tìm hiểu về forvòng lặp. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về whilevà do..whilelặp lại.

trong khi lặp lại

Cú pháp của whilevò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 the testExpression inside the parentheses ().
  • If testExpression is true, statements inside the body of while 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.

  1. Khi nào i = 1, biểu thức kiểm tra i <= 5là đúng . Do đó, phần thân của whilevòng lặp được thực thi. Điều này sẽ in 1trên màn hình và giá trị của i được tăng lên 2.
  2. Bây giờ, i = 2biểu thức kiểm tra i <= 5lại đúng . Phần thân của whilevòng lặp được thực thi một lần nữa. Điều này sẽ in 2trên màn hình và giá trị của i được tăng lên 3.
  3. 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 <= 5sẽ là false và vòng lặp kết thúc.

vòng lặp do … while

Các do..whilevòng lặp tương tự như whilevòng lặp với một sự khác biệt quan trọng. Phần thân của do...whilevò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...whilevò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, the testExpression is evaluated.
  • If testExpression is true, the body of the loop is executed again and testExpression 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...whilevò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...whilethự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 .









Gõ tìm kiếm nhanh...