В прошлом уроке мы с вами познакомились с циклами и узнали, что такое цикл for и как им пользуются. Сегодня вы рассмотрим другой цикл, который тоже довольно часто используется, и называется он while.
Цикл while - это еще один способ повторения действий в программе. Он позволяет выполнять определенные команды или блок кода до тех пор, пока условие продолжения остается истинным.
Вот синтаксис цикла while:
В цикле while мы имеем один основной компонент:
Давайте рассмотрим пример цикла while, который выводит числа от 1 до 5:
В этом примере мы объявляем переменную i и устанавливаем ее начальное значение равным 1. Затем мы используем цикл while, чтобы проверить условие i <= 5, и если оно истинно, то выполняем блок кода внутри цикла. Внутри цикла мы выводим значение i и увеличиваем его на 1 с помощью оператора i++.
Если мы запустим этот код, он выведет числа от 1 до 5:
Заметьте, что в отличие от цикла for, нам здесь нужно в теле цикла контролировать, как изменяется наше условие. Если, например, мы забудем написать i++, то i всегда будет равен 1, и наш цикл будет работать бесконечно.
Цикл while полезен, когда нам заранее неизвестно, сколько раз нужно выполнить определенные действия.
Например, вот как мы можем использовать цикл while для ввода чисел, пока пользователь не введет отрицательное число:
В этом примере мы используем цикл while, чтобы продолжать запрашивать у пользователя числа, пока он не введет отрицательное число. При каждой итерации мы просим пользователя ввести число и считываем его с помощью cin. И вот мы можем продолжать вводить числа, пока не введем отрицательное число. Как только пользователь введет отрицательное число, то условие цикла перестанет выполняться, и цикл прекратится.
Важно: Всегда убедитесь, что условие цикла в конце концов станет ложным, иначе получится бесконечный цикл:
Цикл while является мощным инструментом для создания гибких повторений в ваших программах, особенно когда условие завершения не связано с простым счетчиком.
while (условие) {
// Код, который нужно выполнить в каждой итерации
}
int i = 1;
while (i <= 5) {
cout << i << " ";
i++;
}
1 2 3 4 5
int number;
while (number >= 0) {
cout << "Vvedite chislo: ";
cin >> number;
}
// Вывести числа от 1 до 10
for (int i = 1; i <= 10; i++) {
cout << i << " ";
}
// Читать числа пока не введут 0
int num;
while (num != 0) {
cout << "Введите число (0 для выхода): ";
cin >> num;
if (num != 0) {
cout << "Вы ввели: " << num << endl;
}
}
#include <iostream>
using namespace std;
int main() {
cout << "Программа для суммирования чисел" << endl;
cout << "Введите числа (отрицательное число для завершения):" << endl;
int number = 0;
int sum = 0;
while (number >= 0) {
cout << "Введите число: ";
cin >> number;
if (number >= 0) {
sum += number;
cout << "Текущая сумма: " << sum << endl;
}
}
cout << "Итоговая сумма: " << sum << endl;
cout << "Программа завершена!" << endl;
return 0;
}
// ПЛОХО - бесконечный цикл
int i = 1;
while (i <= 5) {
cout << i << " ";
// Забыли написать i++, поэтому i всегда равно 1
}
// ХОРОШО - цикл завершится
int i = 1;
while (i <= 5) {
cout << i << " ";
i++; // Не забываем изменять переменную условия
}