C # для цикла (с примерами)

В этой статье мы узнаем о цикле for в C # и различных способах их использования в программе.

В программировании часто требуется выполнить определенный блок операторов определенное количество раз. Возможное решение - набрать эти операторы необходимое количество раз. Однако количество повторений может быть неизвестно заранее (во время компиляции) или может быть достаточно большим (скажем, 10000).

Лучшее решение такой проблемы - петля. Циклы используются в программировании для многократного выполнения определенного блока операторов до тех пор, пока не будет выполнено какое-либо условие.

В этой статье мы рассмотрим цикл for в C #.

C # для цикла

Для ключевого слова используются для создания для петли в C #. Синтаксис цикла for :

 for (инициализация; условие; итератор) (// тело цикла for) 

Как работает цикл?

  1. C # для цикла имеет три заявления: initialization, conditionи iterator.
  2. Оператор initializationвыполняется сначала и только один раз. Здесь обычно объявляется и инициализируется переменная.
  3. Затем conditionоценивается. Это conditionлогическое выражение, то есть оно возвращает либо trueили false.
  4. Если conditionоценивается как true:
    1. Операторы внутри цикла for выполняются.
    2. Затем выполняется iteratorинструкция, которая обычно изменяет значение инициализированной переменной.
    3. Опять conditionоценивается.
    4. Процесс продолжается до тех пор, пока не conditionбудет оценено значение false.
  5. Если conditionоценивается как false, цикл for завершается.

для схемы цикла

Пример 1: C # для цикла

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Когда мы запустим программу, вывод будет:

 C # Цикл For: Итерация 1 C # Цикл For: Итерация 2 C # Цикл For: Итерация 3 C # Цикл For: Итерация 4 C # Цикл For: Итерация 5

В этой программе

  • initialization заявление int i=1
  • condition заявление i<=5
  • iterator заявление i++

Когда программа запускается,

  • Сначала объявляется переменная i и инициализируется значением 1.
  • Затем i<=5оценивается условие ( ).
  • Поскольку условие возвращается true, программа выполняет тело цикла for. Он печатает данную строку с Итерацией 1 (Итерация просто означает повторение).
  • Теперь i++вычисляется итератор ( ). Это увеличивает значение i до 2.
  • Условие ( i<=5) вычисляется снова, и в конце значение i увеличивается на 1. Условие будет оцениваться trueкак первые 5 раз.
  • Когда значение i будет 6 и условие будет false, цикл завершится.

Пример 2: цикл for для вычисления суммы первых n натуральных чисел

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) ) 

Когда мы запустим программу, вывод будет:

 Сумма первых 5 натуральных чисел = 15

Здесь значения sum и n инициализируются значениями 0 и 5 соответственно. Переменная итерации i инициализируется значением 1 и увеличивается на каждой итерации.

Внутри для цикла, значение суммы увеличивается на я т sum = sum + i. Цикл for продолжается до тех пор, пока i не станет меньше или равно n (ввод пользователя).

Посмотрим, что происходит в данной программе на каждой итерации.

Первоначально i = 1, sum = 0 и n = 3

Для шагов выполнения цикла
Итерация Значение i я <= 5 Стоимость суммы
1 1 правда 0 + 1 = 1
2 2 правда 1 + 2 = 3
3 3 правда 3 + 3 = 6
4 4 правда 6 + 4 = 10
5 5 правда 10 + 5 = 15
6 6 ложный Цикл обрывается

Таким образом, окончательное значение суммы будет 15 при n = 5.

Несколько выражений внутри цикла for

Мы также можем использовать несколько выражений внутри цикла for. Это означает, что в цикле for может быть несколько операторов инициализации и / или итератора. Посмотрим на пример ниже.

Пример 3: цикл for с несколькими выражениями инициализации и итератора

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) ) 

Когда мы запустим программу, вывод будет:

 i = 0 и j = 0 i = 1 и j = 1 i = 2 и j = 2

В этой программе мы объявили и инициализировали две переменные: i и j в операторе инициализации.

Также у нас есть два выражения в части итератора. Это означает, что и i, и j увеличиваются на 1 на каждой итерации.

Для цикла без инициализации и операторов итератора

The initialization, condition and the iterator statement are optional in a for loop. It means we can run a for loop without these statements as well.

In such cases, for loop acts as a while loop. Let's see the example below.

Example 4: for loop without initialization and iterator statement

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; i<=5; ) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

When we run the program, the output will be:

 C# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5

In this example, we haven't used the initialization and iterator statement.

The variable i is initialized above the for loop and its value is incremented inside the body of loop. This program is same as the one in Example 1.

Точно так же условие также является необязательным утверждением. Однако, если мы не используем тестовое выражение, цикл for не будет проверять какое-либо условие и будет работать вечно (бесконечный цикл).

Бесконечный цикл for

Если условие в цикле for всегда истинно, цикл for будет выполняться вечно. Это называется бесконечным циклом for.

Пример 5: бесконечный цикл for

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Здесь i инициализируется значением 1, а условие равно i>0. На каждой итерации мы увеличиваем значение i на 1, так что условия никогда не будет false. Это заставит цикл выполняться бесконечно.

Мы также можем создать бесконечный цикл, заменив условие пробелом. Например,

 for (;;) (// тело цикла for) 

или

 for (initialization;; iterator) (// тело цикла for) 

Интересные статьи...