Цикл for в C# (.NET 6): подробное руководство
Цикл for в C#
Что такое цикл и зачем он нужен?
Представь, что тебе нужно сказать «Привет» 10 раз подряд. Писать 10 раз одно и то же — скучно и долго. В программировании для таких повторяющихся действий существуют циклы. Цикл for — это один из самых популярных способов сказать компьютеру: «Сделай это действие несколько раз, и я скажу тебе, сколько именно».
Цикл for идеально подходит, когда ты точно знаешь, сколько раз нужно повторить действие. Например: «Выведи числа от 1 до 10», «Повтори фразу 5 раз» или «Раздай конфеты каждому из 20 учеников».
Основной синтаксис
В C# цикл for выглядит так:
for (начало; условие; шаг)
{
// тело цикла — то, что будет повторяться
}
Разберём по частям:
- начало — создаётся счётчик (обычно
int i = 0). Это точка старта. - условие — пока оно истинно, цикл работает. Как только становится ложным — цикл заканчивается.
- шаг — что происходит со счётчиком после каждого повторения (чаще всего
i++— увеличить на 1).
Простой пример: считаем до 5
Давай выведем числа от 1 до 5:
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
Как это работает:
- Сначала
i = 1. - Проверяем условие: 1 <= 5? Да. Выводим 1.
- Делаем шаг:
i++→ теперьi = 2. - Проверяем: 2 <= 5? Да. Выводим 2.
- И так до тех пор, пока
iне станет 6. Условие 6 <= 5 — ложь, цикл завершается.
Результат в консоли:
1
2
3
4
5
Пример с вводом данных: повторяем фразу
Допустим, пользователь вводит, сколько раз нужно сказать «Я люблю программировать»:
Console.Write("Сколько раз повторить? ");
int count = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= count; i++)
{
Console.WriteLine("Я люблю программировать");
}
Если пользователь введёт 3, программа выведет:
Я люблю программировать
Я люблю программировать
Я люблю программировать
Разбор типичных задач
Задача «Лифт»
Ты на нулевом этаже. Нужно показать на дисплее все этажи, мимо которых проезжает лифт, до нужного этажа.
Console.Write("Введите номер этажа: ");
int floor = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i <= floor; i++)
{
Console.WriteLine($"Этаж {i}");
}
Если ввести 4, результат:
Этаж 0
Этаж 1
Этаж 2
Этаж 3
Этаж 4
Задача «Банкомат»
Банкомат просит повторить фразу «Безопасность превыше всего» заданное количество раз.
Console.Write("Сколько раз повторить фразу? ");
int times = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= times; i++)
{
Console.WriteLine($"{i}. Безопасность превыше всего");
}
Ввод: 3 → вывод:
1. Безопасность превыше всего
2. Безопасность превыше всего
3. Безопасность превыше всего
Задача «Кибербезопасность»
Нужно вывести сообщение «Лечение вируса...» ровно 5 раз, чтобы отслеживать процесс.
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Шаг {i}: Лечение вируса...");
}
Console.WriteLine("Система чиста!");
Результат:
Шаг 1: Лечение вируса...
Шаг 2: Лечение вируса...
Шаг 3: Лечение вируса...
Шаг 4: Лечение вируса...
Шаг 5: Лечение вируса...
Система чиста!
Задача «Поднятие мотивации»
Ты решил сделать N упражнений. Тренер считает каждое.
Console.Write("Сколько упражнений сделаешь? ");
int exercises = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= exercises; i++)
{
Console.WriteLine($"Упражнение {i} — молодец, продолжай!");
}
Ввод: 2 → вывод:
Упражнение 1 — молодец, продолжай!
Упражнение 2 — молодец, продолжай!
Задача «День рождения»
Ты принёс конфеты и раздаёшь их одноклассникам по одной. В классе 10 человек.
int classmates = 10;
for (int i = 1; i <= classmates; i++)
{
Console.WriteLine($"Ученик {i} получил конфету!");
}
Результат:
Ученик 1 получил конфету!
Ученик 2 получил конфету!
...
Ученик 10 получил конфету!
Частые ошибки новичков
- Бесконечный цикл. Если забыть шаг
i++или написать условие, которое никогда не станет ложным, программа будет работать вечно. Пример ошибки:for (int i = 0; i < 5; )— шага нет,iвсегда 0. - Ошибка на единицу. Если нужно вывести числа от 1 до 5, а написать
i < 5, то выведутся только 1,2,3,4. Запомни: если начинаешь с 1 и хочешь дойти до 5, пишиi <= 5. - Путаница с переменной счётчика. Используй
iтолько внутри цикла. Не меняй её в теле цикла вручную — это сломает логику. - Забыл про Convert.ToInt32. Когда считываешь число с клавиатуры,
Console.ReadLine()возвращает строку. Её нужно преобразовать в число.
Итоговый пример: решаем похожую задачу
Представь, что ты — учитель. Ты хочешь, чтобы каждый ученик в классе (их 8) сказал «Я готов к уроку». Напиши программу, которая просит ввести количество учеников и выводит их порядковые номера и фразу.
Console.Write("Сколько учеников в классе? ");
int students = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= students; i++)
{
Console.WriteLine($"Ученик номер {i}: Я готов к уроку!");
}
Console.WriteLine("Все готовы! Урок начинается.");
Если ввести 3, программа выведет:
Ученик номер 1: Я готов к уроку!
Ученик номер 2: Я готов к уроку!
Ученик номер 3: Я готов к уроку!
Все готовы! Урок начинается.
Теперь ты знаешь, как работает цикл for в C#. Это мощный инструмент, который поможет тебе автоматизировать повторяющиеся действия. Пробуй решать задачи — и всё получится!