🔷 C#

Цикл 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#. Это мощный инструмент, который поможет тебе автоматизировать повторяющиеся действия. Пробуй решать задачи — и всё получится!