C # для циклу (з прикладами)

У цій статті ми дізнаємося про цикл for у C # та різні способи використання їх у програмі.

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

Найкраще рішення такої проблеми - цикл. Цикли використовуються при програмуванні для багаторазового виконання певного блоку операторів до виконання якоїсь умови.

У цій статті ми розглянемо цикл у 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 # Для циклу: Ітерація 1 C # Для Петлі: Ітерація 2 C # Для Петлі: Ітерація 3 C # Для Петлі: Ітерація 4 C # Для Петлі: Ітерація 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: для циклу для обчислення суми перших 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 і збільшується на кожній ітерації.

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

Давайте подивимося, що відбувається в даній програмі на кожній ітерації.

Спочатку i = 1, сума = 0 і n = 3

Для кроків виконання циклу
Ітерація Значення i 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: для циклу з декількома виразами ініціалізації та ітератора

 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 буде працювати вічно. Це називається нескінченним циклом.

Приклад 5: Нескінченний цикл

 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 (ініціалізація;; ітератор) (// тіло циклу for) 

Цікаві статті...