Loops: while, for, and accumulation · Циклы: while, for и накопление
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.
Повторяющиеся действия
- Цикл многократно выполняет один и тот же блок кода, чтобы не копировать его вручную.
- В C есть три цикла:
while,forиdo-while. Все они повторяют действие, пока условие истинно. - Условие проверяется каждый раз при проходе. Когда оно становится ложным, цикл останавливается.
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.
Циклы while
- Конструкция
while (test) { ... }сначала проверяет условие, а затем выполняет блок, если оно истинно. - Что-то внутри блока должно в итоге сделать условие ложным, иначе цикл никогда не закончится.
- Используйте
while, когда заранее не знаете, сколько раз нужно повторить действие.
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.
Циклы for
- Цикл
forобъединяет три части в одной строке:for (start; test; step). for (int i = 0; i < 5; i++)означает: начать сiравным0, продолжать, пока выполняетсяi < 5, прибавлять1каждый раз.- Используйте
for, когда вы считаете известное количество повторений.
#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.
Накопление и подсчет
- Накопитель (аккумулятор) — это переменная, которая накапливает результат в течение цикла, как
totalвыше. - Счетчик прибавляет
1каждый раз при наступлении события, чтобы подсчитать совпадения. break;досрочно прерывает цикл;continue;пропускает текущую итерацию и переходит к следующей.
Common mistakes
- Do not put a
;right afterfor(...)— it makes an empty loop. - Change the condition so the loop can end.
Распространенные ошибки
- Не ставьте
;сразу послеfor(...)— это создаст пустой цикл. - Изменяйте условие, чтобы цикл мог завершиться.
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.
Теперь попробуйте сами
- Настройте накопитель или счетчик до цикла, обновляйте его внутри, а используйте после.
- Для заданий с функциями не пишите
main— проверяющая система предоставит его.
Loops and accumulation · Циклы и накопление
A loop repeats; a running total builds up each pass. · Цикл повторяется; накопительная сумма формируется на каждом проходе.
In main, use a for loop to print the numbers 1 to 5, each on its own line. · Внутри main используйте цикл for, чтобы вывести числа от 1 до 5, каждое на отдельной строке.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
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. · Завершите int sum_to(int n) так, чтобы она возвращала 1 + 2 + ... + n. Возвращайте 0, если n равно 0 или отрицательное. Не пишите main.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
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. · Завершите int count_multiples(int n, int k) так, чтобы она возвращала количество чисел от 1 до n, которые делятся на k. Используйте % внутри цикла. Не пишите main.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.