Цикли служать для багатократного повторення деякого фрагмента коду. В Сі-шарп є чотири оператори циклів: for, while, do-while, foreach.
Цикл for
Цей цикл використовується тоді, коли наперед відомо, скільки повторень потрібно зробити. Він має наступну структуру:
for (ініціалізація лічильника; умова продовження; ітерація)
{
//блок коду, який буде повторюватися
}
Приклад програми, яка виводить на екран числа 0, 1, 2, 3, 4:
static void Main(string[] args)
{
for (int i = 0; i < 5; i++) // цикл виконається 5 разів
{
Console.WriteLine(i);
}
}
Результат роботи програми:
Спочатку відбувається створення і ініціалізація лічильника, i=0. Далі йде перевірка умови ( i < 5), якщо результат буде «істина», то далі виконується блок коду в тілі циклу. В кінці ітерації відбувається зміна значення лічильника (в даному прикладі збільшення на одиницю). Після цього знову відбувається перевірка умови і так далі. Коли умова буде «брехня», цикл завершить роботу.
Приклад програми, яка знаходить і виводить на екран суму елементів масиву:
static void Main(string[] args)
{
int[] numbers = { 4, 7, 1, 23, 43 };
int s = 0;
for (int i = 0; i < numbers.Length; i++)
{
s += numbers[i];
}
Console.WriteLine(s);
Console.ReadKey();
}
Результат роботи програми:
Приклад циклу for, коли лічильник зменшується після кожної ітерації:
for (int i = 5; i > 0; i--) //виконається 5 разів
{
Console.WriteLine(i);
}
Лічильник можна змінювати не тільки на одиницю. Приклад програми, яка виводить парні числа (число 50):
for (int i = 0; i <= 50; i+=2) //виконається 26 разів
{
Console.WriteLine(i);
}
Цикл while
Слово while перекладається, як «поки», що добре його характеризує. Він продовжує виконуватися до тих пір, поки «істинно» деяка умова. Він має таку структуру:
while (умова продовження)
{
//блок коду, який буде повторюватися
}
Спочатку перевіряється умова, а далі виконується блок коду.
Приклад тієї ж програми, яка виводить на екран числа 0, 1, 2, 3, 4:
int i = 0;
while (i < 5)
{
Console.WriteLine(i);
i++;
}
Цикл може виконуватися «вічно», якщо задати завжди істинна умова:
while (true)
{
Console.WriteLine("Вічний цикл");
}
Цикл do-while
Цей той же цикл while, тільки тут спочатку виконується блок коду, а вже потім йде перевірка умови. Це гарантує хоча б один прохід циклу.
do
{
//блок коду, який буде повторюватися
}
while (умова продовження);
Приклад програми, яка не завершить роботу, поки з клавіатури не введуть число 5:
static void Main(string[] args)
{
int number;
do
{
Console.WriteLine("Введіть число 5");
number = Convert.ToInt32(Console.ReadLine());
}
while (number != 5);
}
Результат роботи програми:
Оператор break
З будь-якого циклу можна достроково вийти, використовуючи оператор break. Використовувати даний оператор є сенс після задоволення деякої умови, інакше цикл завершиться на першій ітерації.
Приклад програми, яка перевіряє, чи є в масиві число кратне 13-ти. Знайшовши таке число, немає сенсу далі перевіряти інші елементи масиву, і тут ми використовуємо оператор break:
static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
bool b = false;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] % 13 == 0)
{
b = true;
break;
}
}
Console.WriteLine(b ? "В масиві є число кратне 13" : "В масиві немає числа кратного 13");
Console.ReadKey();
}
Результат роботи програми:
Оператор continue
Даний оператор дозволяє перейти до наступної ітерації, не завершивши до кінця поточну.
Приклад програми, що знаходить суму непарних елементів масиву:
static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
int s = 0;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] % 2 == 0)
continue; //перехід до наступної ітерації
s += numbers[i];
}
Console.WriteLine(s);
Console.ReadKey();
}
Результат роботи програми:
Автор Swytos << попередня • наступна >> До змісту