Vòng lặp while
là một công cụ mạnh mẽ trong lập trình c' class='hover-show-link replace-link-1748'>ngôn ngữ lập trình c để lặp lại một khối câu lệnh dựa trên một điều kiện. Nó hoạt động bằng cách kiểm tra điều kiện trước khi thực hiện vòng lặp, và vòng lặp sẽ kết thúc khi điều kiện trả về false
. Trong bài viết này, chúng ta sẽ tìm hiểu về cú pháp và cách hoạt động của vòng lặp while
cùng với một số ví dụ.
Cú pháp của vòng lặp while
Cú pháp của vòng lặp while
như sau:
while (biểu_thức_điều_kiện) { // câu lệnh hoặc khối lệnh cần thực hiện }
Vòng lặp while hoạt động như thế nào?
Quá trình hoạt động của vòng lặp while
diễn ra theo các bước sau:
- Đầu tiên, biểu thức điều kiện trong ngoặc đơn
()
sẽ được đánh giá. - Nếu biểu thức điều kiện trả về
true
, các câu lệnh bên trong vòng lặpwhile
sẽ được thực thi. Đồng thời, chúng ta cần cập nhật lại giá trị của biểu thức điều kiện để tránh vòng lặp vô hạn. - Sau đó, biểu thức điều kiện sẽ được đánh giá lại.
- Quá trình trên cứ tiếp tục cho đến khi biểu thức điều kiện trả về
false
. - Khi biểu thức điều kiện trả về
false
, vòng lặpwhile
sẽ kết thúc.
Ví dụ vòng lặp while trong C
Dưới đây là một số ví dụ để bạn hiểu rõ hơn về cách sử dụng vòng lặp while
trong C:
Ví dụ 1:
In ra các số từ 1 đến 5.
#include int main() { int i = 1; while (i <= 5) { printf("%d\n", i); ++i; } }
Giải thích:
- Vì
i
được sử dụng để kiểm tra điều kiện, chúng ta cần khởi tạo và gán giá trị choi
trước. - Khi
i = 1
, biểu thức kiểm trai <= 5
trả vềtrue
. Do đó, phần thân của vòng lặpwhile
được thực hiện.- In ra số 1 trên màn hình.
- Tăng giá trị của
i
lên 1 →i = 2
.
- Tiếp tục tương tự, khi
i = 2
, biểu thức kiểm trai <= 5
vẫn trả vềtrue
nên phần thân của vòng lặpwhile
lại được thực hiện.- In ra số 2 trên màn hình.
- Tăng giá trị của
i
lên 1 →i = 3
.
- Quá trình này diễn ra cho đến khi
i = 6
. Lúc này, biểu thức kiểm trai <= 5
trả vềfalse
, vòng lặp kết thúc.
Ví dụ 2:
Nhập một số n
từ bàn phím. Tính tổng các chữ số của n
. Ví dụ: n = 2456 → sum = 2 + 4 + 5 + 6 = 17
.
Phân tích bài toán:
- Để tính tổng các chữ số của
n
, chúng ta cần tách từng chữ số củan
ra bằng cách lấyn
chia lấy dư cho 10. Chúng ta sẽ lấy được số hàng đơn vị củan
là số 4, sau đó cộng 4 vào biếnsum
. - Sau đó, chúng ta cần loại bỏ hàng đơn vị để được số 69 bằng cách lấy
n = 694
chia cho 10 (n = 694 / 10 = 69
). - Tiếp theo, chúng ta lấy
n = 69
chia lấy dư cho 10 để lấy được số hàng đơn vị là số 9, sau đó cộng 9 vào biếnsum
. - Quá trình này tiếp tục cho đến khi
n
giảm xuống dưới 10. - Để thực hiện các bước trên một cách liên tục, chúng ta cần sử dụng một vòng lặp. Và vì chúng ta không thể biết trước bao nhiêu lần cần lặp, chúng ta sẽ sử dụng vòng lặp
while
thay vìfor
. - Điều kiện dừng là khi
n > 0
, nghĩa là khin
chỉ còn một chữ số.
Đoạn mã giải bài toán trên như sau:
#include int main() { int n; int sum = 0; printf("Nhập n: "); scanf("%d", &n); while (n > 0) { sum += n % 10; n /= 10; } printf("Tổng = %d", sum); }
Trên đây là một số ví dụ giúp bạn hiểu rõ hơn về vòng lặp while
trong C và cách sử dụng nó. Hy vọng bài viết này đã giúp bạn thấy vòng lặp while
là một công cụ hữu ích trong quá trình lập trình.