Khóa học c

Vòng lặp do while trong C

0 phút đọc

Vòng lặp do-while cũng gần giống như vòng lặp while nhưng sự khác biệt chính giữa vòng lặp do-while và vòng lặp while là trong vòng lặp do-while, điều kiện được kiểm tra ở cuối thân vòng lặp. Khối câu lệnh bên trong vòng lặp sẽ được thực hiện 1 hoặc nhiều lần cho đến khi kiểm tra điều kiện trả về bằng false thì sẽ kết thúc vòng lặp.

Trong vòng lặp do-while, thân vòng lặp sẽ thực thi ít nhất một lần rồi mới kiểm tra điều kiện.

Sử dụng do-while khi bạn không biết rõ số lượng vòng lặp - chỉ biết điều kiện dừng.

Cấu trúc của vòng lặp do-while

cpp Copy
do {

   // statements inside the body of the loop
} while (testExpression);

Ví dụ:

cpp Copy
int n = 1234;

do {

   // statements inside the body of the loop
   // need to update the value of n
} while (n > 0);

Vòng lặp do-while hoạt động như thế nào

  • Đầu tiên khối câu lệnh bên trong vòng lặp do-while sẽ được chạy một lần rồi mới đến đánh giá biểu thức kiểm tra điều kiện bên trong ngoặc đơn ().
  • Nếu biểu thức kiểm tra là true, các câu lệnh bên trong thân vòng lặp do-while được thực thi tiếp. Các câu lệnh thực thi bên trong thân vòng lặp cần phải cập nhật lại biểu thức kiểm tra điều kiện.
  • Sau đó, biểu thức kiểm tra được đánh giá lại.
  • Quá trình diễn ra cho đến khi biểu thức kiểm tra được đánh giá là false.
  • Nếu biểu thức kiểm tra là false, vòng lặp chấm dứt (kết thúc).

Luồng hoạt động của vòng lặp do-while

Luồng hoạt động của vòng lặp do-while

Ví dụ về vòng lặp do-while

Ví dụ:

Tính tổng các số nguyên dương cho đến khi nhập vào một số bằng 0 hoặc một số âm thì dừng lại (không cộng số âm này vào tổng).

cpp Copy
#include <stdio.h>

int main() {

    int number;
    int sum = 0;

    do {
        printf("Enter a number: ");
        scanf("%d", &number);

        if (number > 0) {
            sum += number;
        }
    } while (number > 0);

    printf("\nSum = %d",sum);
}

Kết quả

Enter a number: 5
Enter a number: 4
Enter a number: 6
Enter a number: 2
Enter a number: -2

Sum = 17

  • Bài này nói rõ điều kiện dừng là n > 0, nhưng chúng ta sẽ không thể biết được người dùng sẽ nhập bao nhiêu số để tính tổng nên sẽ cần dùng vòng lặp.
  • n lại do người dùng nhập từ bàn phím, chúng ta sẽ không thể biết được lần đầu tiên người dùng sẽ nhập số gì? Vì vậy chúng ta sử dụng do-while để code bên trong thân vòng lặp được chạy một lần để chúng ta lấy được giá trị của n rồi mới kiểm tra được điều kiện.
Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào