Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Vòng lặp do...while so với while trong C/C++


Đây là các khác biệt cơ bản giữa vòng lặp do-while và while trong C/C++.

Vòng lặp while thực hiện câu lệnh mục tiêu miễn là điều kiện đúng. Cú pháp:

while(condition) {
    statement(s);
}

statement(s) có thể là một câu lệnh hoặc khối lệnh. condition là biểu thức bất kỳ, true là giá trị khác 0. Vòng lặp chạy trong khi condition true. Khi false, chương trình nhảy đến dòng sau vòng lặp.

Ví dụ while

#include <stdio.h>
int main() {
    int a = 10;
    while (a < 20) {
        printf("value of a: %d\n", a);
        a++;
    }
    return 0;
}

Kết quả

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

Vòng lặp do...while khác for và while ở chỗ nó kiểm tra điều kiện ở cuối vòng lặp. do...while tương tự while, nhưng đảm bảo thực thi ít nhất một lần.

do {
    statement(s);
} while(condition);

Biểu thức điều kiện ở cuối vòng lặp, nên câu lệnh trong vòng lặp chạy một lần trước khi kiểm tra. Nếu true, quay lại do và chạy lại. Lặp lại cho đến khi condition false.

Ví dụ do-while

#include <stdio.h>
int main() {
    int a = 10;
    do {
        printf("value of a: %d\n", a);
        a = a + 1;
    } while (a < 20);
    return 0;
}

Kết quả

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

Tóm tắt khác biệt:

While Loop Do-While Loop
Vòng lặp kiểm soát vào (entry controlled). Kiểm tra điều kiện trước khi vào vòng lặp Vòng lặp kiểm soát ra (exit controlled). Kiểm tra điều kiện khi thoát vòng lặp
While có thể chạy 0 hoặc nhiều lần Do-while chạy ít nhất 1 lần
Biến điều kiện phải khởi tạo trước khi vào vòng lặp Biến điều kiện có thể khởi tạo bên trong vòng lặp
while(condition){
    //statement
}
do{
    //statement
}while(condition);