Giới Thiệu
Trong thế giới lập trình, việc lặp đi lặp lại một loạt các câu lệnh là điều vô cùng phổ biến. Để thực hiện điều này, chúng ta có các vòng lặp, và hai trong số những vòng lặp quen thuộc nhất chính là do-while
và while
. Bài viết này sẽ giúp bạn hiểu rõ hơn về hai loại vòng lặp này, cách thức hoạt động cũng như sự khác biệt giữa chúng. Hãy cùng tìm hiểu xem do-while
và while
có gì thú vị nhé!
Vòng lặp do-while
do-while
là gì?
Vòng lặp do-while
là một cấu trúc điều khiển cho phép bạn thực thi một khối mã lệnh ít nhất một lần, sau đó kiểm tra điều kiện. Nếu điều kiện vẫn đúng, khối mã lệnh sẽ tiếp tục được thực thi cho đến khi điều kiện sai.
Cách thức hoạt động
- Thực thi khối lệnh: Đầu tiên, vòng lặp
do-while
sẽ thực thi khối mã lệnh nằm trong cặp dấu ngoặc nhọn{}
sau từ khóado
. - Kiểm tra điều kiện: Sau khi thực thi khối lệnh, vòng lặp sẽ kiểm tra điều kiện được đặt trong ngoặc đơn
()
sau từ khóawhile
. - Lặp lại hoặc thoát:
- Nếu điều kiện đúng (
true
), vòng lặp sẽ quay lại bước 1 và tiếp tục thực thi khối lệnh. - Nếu điều kiện sai (
false
), vòng lặp kết thúc và chương trình tiếp tục với câu lệnh tiếp theo sau vòng lặp.
- Nếu điều kiện đúng (
Ví dụ
#include int main() { int i = 0; do { printf("Gia tri cua i la: %d\n", i); i++; } while (i < 5); return 0; }
Trong ví dụ này, vòng lặp do-while
sẽ in ra giá trị của biến i
từ 0 đến 4.
Điểm đặc biệt của do-while
Điểm mấu chốt của do-while
là luôn thực thi khối lệnh ít nhất một lần, bất kể điều kiện ban đầu là đúng hay sai. Điều này giúp do-while
hữu ích trong các trường hợp bạn cần thực hiện một hành động nào đó ít nhất một lần, ví dụ như nhận input từ người dùng cho đến khi input hợp lệ.
Vòng lặp while
while
là gì?
Vòng lặp while
cũng là một cấu trúc điều khiển cho phép bạn thực thi một khối mã lệnh nhiều lần, miễn là điều kiện kiểm tra còn đúng.
Cách thức hoạt động
- Kiểm tra điều kiện: Vòng lặp
while
sẽ kiểm tra điều kiện được đặt trong ngoặc đơn()
ngay từ đầu. - Thực thi khối lệnh (nếu điều kiện đúng):
- Nếu điều kiện đúng (
true
), vòng lặp sẽ thực thi khối mã lệnh nằm trong cặp dấu ngoặc nhọn{}
sau từ khóawhile
. - Nếu điều kiện sai (
false
), vòng lặp kết thúc và chương trình tiếp tục với câu lệnh tiếp theo sau vòng lặp.
- Nếu điều kiện đúng (
- Quay lại bước 1: Sau khi thực thi khối lệnh, vòng lặp sẽ quay lại bước 1 để kiểm tra điều kiện và tiếp tục lặp lại hoặc thoát.
Ví dụ
#include int main() { int i = 0; while (i < 5) { printf("Gia tri cua i la: %d\n", i); i++; } return 0; }
Ví dụ này cũng cho kết quả tương tự như ví dụ của do-while
, in ra giá trị của biến i
từ 0 đến 4.
So sánh do-while
và while
Đặc điểm | do-while | while |
---|---|---|
Kiểm tra điều kiện | Sau khi thực thi khối lệnh | Trước khi thực thi khối lệnh |
Số lần lặp tối thiểu | Luôn thực thi ít nhất một lần | Có thể không thực thi lần nào nếu điều kiện sai |
Sử dụng phổ biến | Khi cần thực hiện hành động ít nhất một lần | Khi số lần lặp phụ thuộc vào điều kiện |
Tổng kết
do-while
và while
đều là những công cụ hữu ích trong lập trình, cho phép bạn lặp lại các khối mã lệnh một cách hiệu quả. Sự khác biệt chính giữa chúng nằm ở thời điểm kiểm tra điều kiện và số lần lặp tối thiểu. Hiểu rõ sự khác biệt này sẽ giúp bạn lựa chọn vòng lặp phù hợp cho từng trường hợp cụ thể.