Циклы while и do-while в C: практические примеры
Циклы while и do-while в C
Научитесь использовать циклы while и do-while в C с чёткими объяснениями и практическими примерами кода.
Циклы фундаментальны в программировании, позволяя повторять блок кода до выполнения условия. C предлагает три основных цикла: for, while и do-while. Это руководство фокусируется на последних двух с пошаговыми разборами, блок-схемами и реальными примерами.
Цикл while
Цикл while проверяет условие перед каждой итерацией. Если условие истинно — выполняется тело цикла; иначе — цикл завершается.
while (testExpression) {
// тело цикла
}
Как работает цикл while
- Выражение в
( )вычисляется первым. - Если возвращает истину, выполняются операторы внутри цикла, затем выражение вычисляется снова.
- Цикл продолжается, пока выражение не станет ложным.
- Если первоначальная оценка ложна, тело цикла никогда не выполняется.
Для глубокого понимания логических условий изучите операторы отношения и логики.
Блок-схема цикла while

Пример 1: Печать чисел от 1 до 5
// Печать чисел от 1 до 5
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
++i;
}
return 0;
}
Вывод
1 2 3 4 5
Объяснение: i стартует с 1. Условие i <= 5 истинно, печатается i и инкрементируется. Повторяется до i = 6, когда условие становится ложным и цикл завершается.
Цикл do-while
Цикл do-while гарантирует, что тело выполнится минимум один раз, проверяя условие только после первой итерации.
do {
// тело цикла
} while (testExpression);
Как работает do-while
- Тело выполняется первым, независимо от условия.
- Затем вычисляется
testExpression. - Если истинно — цикл повторяется; если ложно — завершается.
Блок-схема do-while

Пример 2: Суммирование чисел до ввода нуля
// Программа для суммирования чисел до ввода нуля
#include <stdio.h>
int main() {
double number, sum = 0;
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
} while (number != 0.0);
printf("Sum = %.2lf", sum);
return 0;
}
Пример взаимодействия
Enter a number: 1.5 Enter a number: 2.4 Enter a number: -3.4 Enter a number: 4.2 Enter a number: 0 Sum = 4.70
В этом примере пользователь получает подсказку минимум один раз. Если первый ввод не ноль, число добавляется к sum, цикл продолжается. Ввод нуля завершает цикл и показывает итоговую сумму.
Сравнение while и do-while
| Характеристика | while | do-while |
|---|---|---|
| Проверка условия | Перед каждой итерацией | После каждой итерации |
| Минимум итераций | 0 | 1 |
| Когда использовать | Когда условие может быть ложно с начала | Когда тело должно выполниться хотя бы раз (меню, ввод) |
Лучшие практики
- Всегда обеспечивайте изменение условия внутри цикла для избежания бесконечных циклов.
- Используйте
while(true)сbreakдля циклов с сложными условиями выхода. - Предпочитайте
forкогда известно количество итераций;while— когда условие сложнее;do-while— для меню и валидации ввода.
Понимание этих циклов критично для эффективного программирования на C. Используйте while для предварительной проверки условия и do-while когда тело должно выполниться хотя бы раз.
Язык C
- Понимание ключевых слов и идентификаторов C#: правила, списки и лучшие практики
- Классы и объекты в C#: Фундаменты надёжного ООП
- Абстрактные классы и методы в C#: практическое руководство
- Частичные классы и методы в C#: понимание и применение
- Sealed-классы и sealed-методы в C#: когда использовать, примеры и повышение безопасности кода
- Циклы while и do-while: наглядное сравнение с практическими примерами
- Java-проверка чисел-палиндромов: алгоритмы с while и for циклами
- Константы и литералы в C: целочисленные, вещественные, символьные, строковые и определение констант
- Константы и литералы в C#: типы, правила и лучшие практики
- Освоение циклов WHILE в программировании SINUMERIK 840D