1. Vòng Lặp Do-While
Nếu bạn đã hiểu rõ cách hoạt động của vòng lặp for và while thì vòng lặp do-while bạn cũng sẽ thấy sự tương đồng của nó với vòng lặp while.
Chỉ có 1 chút khác biệt đó là vòng lặp do-while thực hiện câu lệnh trước rồi mới kiểm tra điều kiện sau
Cú pháp :
do{ //Code }while(condition);
Cách vòng lặp do-while hoạt động :
- Code bên trong thân vòng lặp được thực hiện lần thứ nhất, sau đó điều kiện (condition) được kiểm tra
- Nếu điều kiện trong while có giá trị sai vòng lặp do-while sẽ kết thúc
- Nếu điều kiện trong while đúng, khối lệnh trong do được thực hiện thêm 1 lần nữa
- Bước 3 được lặp đi lặp lại cho tới khi điều kiện trong while bị sai, nếu điều kiện này luôn đúng vòng lặp sẽ lặp vĩnh viễn
Ví dụ 1: In ra các số từ 1 đến n bằng do-while
#include "stdio.h" int main(){ int i = 1, n = 4; do{ printf("%d ", i); ++i; }while(i <= n); return 0; }
Output :
1 2 3 4
Giải thích :
- Vòng lặp thực hiện in ra i là 1, sau đó ++i thì i lên 2
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 2 <= 4 có giá trị đúng nên tiếp tục in ra i là 2, ++i thì i tăng lên 3
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 3 <= 4 có giá trị đúng nên tiếp tục in ra i là 3, ++i thì i tăng lên 4
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 4 <= 4 có giá trị đúng nên tiếp tục in ra i là 4, ++i thì i tăng lên 5
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 5 <= 4 có giá trị sai nên vòng lặp kết thúc
Ví dụ 2 : Nhập 1 số nguyên từ bàn phím nếu nhập số âm thì yêu cầu nhập lại, nhập số không âm thì cho dừng
#include "stdio.h" int main(){ int n; do{ printf("Nhap n : "); scanf("%d", &n); }while(n < 0); return 0; }
2. Sơ Đồ Khối
Các bạn lưu ý rằng vòng lặp do-while sẽ luôn thực hiện khối lệnh 1 lần đầu tiên trước khi kiểm tra điều kiện lặp.
Xem thêm bài giảng của mình về Vòng Lặp Do-While trong C :