Loops: while, for, and accumulation · Vòng lặp: while, for, và tích lũy
Repeating work
- A loop runs the same block of code many times, so you don't copy it by hand.
- C has three loops:
while,for, anddo-while. They all repeat while a condition is true. - The condition is checked each time around. When it becomes false, the loop stops.
Lặp lại công việc
- Một vòng lặp chạy cùng một khối code nhiều lần, giúp bạn không phải sao chép tay.
- C có ba loại vòng lặp:
while,for, vàdo-while. Tất cả đều lặp lại khi một điều kiện vẫn đúng. - Điều kiện được kiểm tra mỗi khi quay lại. Khi nó trở thành sai, vòng lặp sẽ dừng lại.
while loops
while (test) { ... }checks the test first, then runs the block if it is true.- Something inside the block must eventually make the test false, or the loop never ends.
- Use
whilewhen you don't know in advance how many times you will repeat.
Vòng lặp while
while (test) { ... }kiểm tra điều kiện trước, sau đó chạy khối lệnh nếu điều kiện đó đúng.- Có một thứ gì đó bên trong khối lệnh cuối cùng sẽ làm cho điều kiện trở thành sai, nếu không vòng lặp sẽ không bao giờ kết thúc.
- Sử dụng
whilekhi bạn không biết trước số lần lặp lại chính xác.
for loops
- A
forloop puts three parts in one line:for (start; test; step). for (int i = 0; i < 5; i++)means: startiat0, keep going whilei < 5, add1each time.- Use
forwhen you are counting a known number of times.
Vòng lặp for
- Một vòng lặp
forđặt ba phần tử vào một dòng:for (start; test; step). for (int i = 0; i < 5; i++)có nghĩa là: bắt đầuitại0, tiếp tục khii < 5, tăng thêm1mỗi lần.- Sử dụng
forkhi bạn đang đếm một số lượng lần lặp lại đã biết trước.
#include <stdio.h>
int main(void) {
int total = 0;
for (int i = 1; i <= 4; i++) {
total = total + i; // accumulate: 1, then 3, then 6, then 10
}
printf("%d\n", total); // 10
return 0;
}
Accumulation and counting
- An accumulator is a variable that builds up a result across the loop, like
totalabove. - A counter adds
1each time something happens, to count matches. break;stops the loop early;continue;skips to the next round.
Tích lũy và đếm
- Một biến tích lũy (accumulator) là biến xây dựng kết quả qua các lần lặp, giống như
totalở trên. - Một biến đếm cộng thêm
1mỗi khi có sự kiện xảy ra, để đếm số lần trùng khớp. break;dừng vòng lặp sớm;continue;bỏ qua phần còn lại và chuyển sang vòng lặp tiếp theo.
Common mistakes
- Do not put a
;right afterfor(...)— it makes an empty loop. - Change the condition so the loop can end.
Lỗi thường gặp
- Đừng đặt một
;ngay saufor(...)— nó sẽ tạo ra một vòng lặp rỗng. - Thay đổi điều kiện để vòng lặp có thể kết thúc.
Now you try
- Set up your accumulator or counter before the loop, update it inside, and use it after.
- For the function tasks, do not write a
main— the checker provides one.
Bây giờ bạn thử
- Thiết lập biến tích lũy hoặc biến đếm trước vòng lặp, cập nhật nó bên trong vòng lặp, và sử dụng nó sau vòng lặp.
- Đối với các nhiệm vụ hàm, không viết một
main— trình kiểm tra sẽ cung cấp cho bạn một cái.
Loops and accumulation · Vòng lặp và tích lũy
A loop repeats; a running total builds up each pass. · Vòng lặp lặp lại; tổng tích lũy được xây dựng qua mỗi lần lặp.
In main, use a for loop to print the numbers 1 to 5, each on its own line. · Trong main, dùng vòng lặp for để in các số từ 1 đến 5, mỗi số trên một dòng riêng.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Complete int sum_to(int n) so it returns 1 + 2 + ... + n. Return 0 when n is 0 or negative. Do not write a main. · Hoàn thiện int sum_to(int n) sao cho trả về 1 + 2 + ... + n. Trả về 0 khi n là 0 hoặc số âm. Đừng viết một main.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Complete int count_multiples(int n, int k) so it returns how many numbers from 1 to n are divisible by k. Use % inside a loop. Do not write a main. · Hoàn thiện int count_multiples(int n, int k) sao cho trả về số lượng các số từ 1 đến n chia hết cho k. Dùng % bên trong vòng lặp. Đừng viết một main.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.