Цикли в C: For, While, Do While looping Приклади заяв

⚡ Розумний підсумок

Цикли в C повторюють блок операторів, доки умова керування не стане хибною, і мова надає три конструкції — цикл while, цикл do-while та цикл for — для повторення з контрольованим входом та виходом.

  • 🔁 Анатомія петлі: Кожен цикл на C поєднує набір повторюваних операторів з керуючою умовою, яка визначає, коли повторення припиняється.
  • 🚪 Вхід проти виходу: Цикли while та for з керуванням входом спочатку перевіряють умову, тоді як цикл do-while з керуванням виходом завжди виконує своє тіло один раз.
  • ♻️ Цикл while: Цикл while перевіряє свою умову перед кожним проходом, що підходить для випадків, коли кількість ітерацій заздалегідь невідома.
  • 🔂 Цикл Do-while: Цикл do-while виконує тіло коду перед тестуванням, тому гарантує одноразове виконання, навіть якщо умова хибна.
  • 🔢 Для циклу: Цикл for об'єднує ініціалізацію, умову та оновлення в один рядок, що ідеально підходить для підрахунку в фіксованому діапазоні.
  • Перерва та продовження: Оператор break негайно виходить з циклу, тоді як continue переходить до наступної ітерації, не виходячи з циклу.

Цикли в C: For, While, Do While looping Заяви

Що таке цикл у C?

вбиральняping Оператори в мові C виконують послідовність операторів багато разів, доки задана умова не стане хибною. Цикл у мові C складається з двох частин: тіла циклу та керуючого оператора. Керуючий оператор — це комбінація деяких умов, які наказують тілу циклу виконуватися, доки задана умова не стане хибною. Мета циклу в мові C — повторювати той самий код кілька разів.

Типи циклів у C

Залежно від позиції керуючого оператора в програмі, looping Оператори в C поділяються на два типи:

  1. Контрольований вхідний контур
  2. Вихід з контрольованого циклу

У циклі керування входом на C умова перевіряється перед виконанням тіла циклу. Це також називається циклом попередньої перевірки.

У циклі з контрольованим виходом умова перевіряється після виконання тіла циклу. Його також називають циклом після перевірки.

Типи циклів у C

Зразок циклу

Умови керування мають бути чітко визначені та специфіковані, інакше цикл виконуватиметься нескінченну кількість разів. Цикл, який не зупиняє виконання та обробляє оператори певну кількість разів, називається нескінченним циклом. Нескінченний цикл також називається «нескінченним циклом». Нижче наведено деякі характеристики нескінченного циклу:

  1. Умова припинення не вказана.
  2. Зазначені умови ніколи не виконуються.

Зазначена умова визначає, чи виконувати тіло циклу чи ні.

Мова програмування C надає нам три типи конструкцій циклу:

  1. Цикл while
  2. Цикл do-while
  3. Цикл for
Sr. Ні. Тип петлі Опис
1. Поки петля У циклі while умова оцінюється перед обробкою тіла циклу. Якщо умова виконується, тоді і тільки тоді виконується тіло циклу.
2. Цикл Do-While У циклі do…while умова завжди виконується після тіла циклу. Його також називають циклом, керованим виходом.
3. Для петлі У циклі for початкове значення виконується лише один раз, потім умова перевіряє та порівнює лічильник з фіксованим значенням після кожної ітерації, зупинка.ping цикл for, коли повертається значення false.

Поки цикл у C

Цикл while — це найпростіший туалетping структура. Синтаксис циклу While у мові програмування C виглядає наступним чином:

Синтаксис циклу While в C

while (condition) {
             statements;
}

Це петля з контрольованим входом. У циклі while умова оцінюється перед обробкою тіла циклу. Якщо умова виконується, тоді і тільки тоді виконується тіло циклу. Після того, як тіло циклу виконано, керування знову повертається до початку, і умова перевіряється, чи вона істинна, той самий процес виконується, доки умова не стане хибною. Як тільки умова стає хибною, керування виходить із циклу.

Після виходу з циклу керування переходить до операторів, які знаходяться відразу після циклу. Тіло циклу може містити більше одного оператора. Якщо він містить лише один оператор, то фігурні дужки не є обов’язковими. Це хороша практика, хоча використовувати фігурні дужки, навіть якщо в тілі є один оператор.

У циклі while, якщо умова не виконується, тіло циклу не буде виконано навіть один раз. Він відрізняється від циклу do while, який ми незабаром побачимо.

Наступна програма ілюструє приклад циклу while у програмуванні на C:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

вихід:

1
2
3
4
5
6
7
8
9
10

Наведена вище програма ілюструє використання циклу while. У наведеній вище програмі ми надрукували ряд чисел від 1 до 10 за допомогою циклу while.

Поки цикл у C

Цикл While в програмуванні на C

  1. Ми ініціалізували змінна називається num зі значенням 1. Ми будемо друкувати від 1 до 10, отже, змінна ініціалізується значенням 1. Якщо ви хочете друкувати з 0, тоді призначте значення 0 під час ініціалізації.
  2. У циклі while ми передбачили умову (num<=10), яка означає, що цикл виконуватиме тіло, доки значення num не стане 10. Після цього цикл буде припинено, а керування вийде за межі циклу.
  3. У тілі циклу ми маємо функцію print для друку нашого числа та операцію збільшення для збільшення значення за виконання циклу. Початкове значення num дорівнює 1, після виконання воно стане 2, а під час наступного виконання воно стане 3. Цей процес триватиме, доки значення не стане 10, а потім він роздрукує серію на консолі та завершить цикл. .

'\n' використовується для форматування, що означає, що значення буде надруковано на новому рядку.

Цикл Do-While у C

Цикл do…while у C подібний до циклу while, за винятком того, що умова завжди виконується після тіла циклу. Його також називають циклом, керованим виходом.

Синтаксис циклу do while у мові програмування C такий:

Синтаксис циклу Do-While у C

 do {
  statements
} while (expression);

Як ми бачили в циклі while, тіло виконується тоді і тільки тоді, коли умова виконується. У деяких випадках ми повинні виконати тіло циклу принаймні один раз, навіть якщо умова хибна. Цей тип операції можна виконати за допомогою циклу do-while.

У циклі do-while тіло циклу завжди виконується принаймні один раз. Після того, як тіло виконано, воно перевіряє стан. Якщо умова істинна, тоді воно знову виконає тіло циклу, інакше керування передається з циклу.

Подібно до циклу while, як тільки елемент керування виходить із циклу, оператори, які виконуються одразу після циклу.

Критична відмінність між циклами while і do-while полягає в тому, що в циклі while текст while записується на початку. У циклі do-while умова while записується в кінці та закінчується крапкою з комою (;)

Наступна програма циклу на С ілюструє роботу циклу do-while:

Нижче наведено приклад циклу do-while у C для друку таблиці номер 2:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

вихід:

2
4
6
8
10
12
14
16
18
20

У наведеному вище прикладі ми надрукували таблицю множення 2 за допомогою циклу do-while. Давайте подивимося, як програмі вдалося надрукувати серію.

Цикл Do-While у C

Цикл Do-While у програмуванні на C

  1. Спочатку ми ініціалізували змінну 'num' значенням 1. Потім ми написали цикл do-while.
  2. У циклі ми маємо функцію друку, яка друкуватиме ряд, множачи значення num на 2.
  3. Після кожного збільшення значення num буде збільшуватися на 1 і друкуватися на екрані.
  4. Спочатку значення num дорівнює 1. У тілі циклу функція друку буде виконана таким чином: 2*num, де num=1, потім 2*1=2, отже, буде надруковано значення два. Це триватиме до тих пір, поки значення num не стане 10. Після цього цикл буде припинено, і оператор, який знаходиться відразу після циклу, буде виконано. У цьому випадку поверніть 0.

Цикл for в C

Цикл for є більш ефективною структурою циклу в програмуванні «C». Загальна структура синтаксису циклу for у C така:

Синтаксис циклу For у C

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  1. Початкове значення циклу for виконується лише один раз.
  2. Умова — це булевий вираз, який перевіряє та порівнює лічильник з фіксованим значенням після кожної ітерації, зупинкаping цикл for, коли повертається значення false.
  3. Збільшення/зменшення збільшує (або зменшує) лічильник на встановлене значення.

Наступна програма ілюструє цикл for у прикладі програмування на C:

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

вихід:

1
2
3
4
5
6
7
8
9
10

Наведена вище програма друкує ряди чисел від 1 до 10 за допомогою циклу for.

Цикл for в C

Цикл For у програмуванні C

  1. Ми оголосили змінну цілочисельного типу для зберігання значень.
  2. У циклі for, у частині ініціалізації, ми присвоїли значення 1 змінній number. У частині умови ми вказали нашу умову, а потім частину збільшення.
  3. У тілі циклу ми маємо функцію друку для друку чисел у новому рядку в консолі. У нас є значення одиниці, яке зберігається в номері, після першої ітерації значення буде збільшено, і воно стане 2. Тепер змінна number має значення 2. Умову буде перевірено повторно, і, оскільки умова є істинною, буде виконано цикл, і він надрукує два на екрані. Цей цикл буде виконуватися, доки значення змінної не стане 10. Після цього цикл буде припинено, і на екрані буде надруковано ряд 1-10.

У C цикл for може мати кілька виразів, розділених комами в кожній частині.

Наприклад:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

Крім того, ми можемо пропустити вираз початкового значення, умову та/або приріст, додавши крапку з комою.

Наприклад:

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

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

Розглянемо наступний приклад із кількома умовами в циклі for, який використовує вкладений цикл for у програмуванні на C для виведення таблиці множення:

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

вихід:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

Вкладеність циклів for може бути виконана до будь-якого рівня. Вкладені цикли повинні мати відповідний відступ, щоб зробити код читабельним. У деяких версіях мови «C» вкладеність обмежена 15 циклами, але деякі пропонують більше.

Вкладені цикли здебільшого використовуються в програмах масивів, які ми побачимо в наступних уроках.

Окрім трьох типів циклів, C пропонує два оператори, які змінюють спосіб виконання циклу зсередини.

Інструкція Break у C

Оператор break використовується в основному в заява перемикачаЦе також корисно для негайної зупинкиping петля.

Ми розглядаємо наступну програму, яка вводить перерву для виходу з циклу while:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

вихід:

5
4

Продовжити твердження в C

Якщо ви хочете перейти до наступної ітерації, але залишитися в циклі, вам слід використовувати оператор continue.

Наприклад:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

вихід:

6
4
3
2
1

Отже, значення 5 пропускається.

Яку петлю вибрати?

Вибір циклу завжди є складним завданням для програміста, щоб вибрати цикл, виконайте наступні кроки:

  1. Проаналізуйте проблему та перевірте, чи потрібен для неї попередній або післятестовий цикл.
  2. Якщо потрібне попереднє тестування, використовуйте цикл while або for.
  3. Якщо потрібен посттест, використовуйте цикл do-while.

Поширені запитання

Нескінченний цикл виконується вічно, якщо його умова ніколи не стає хибною. Запобігти цьому можна, оновивши змінну циклу всередині тіла циклу та переконавшись, що умова врешті-решт може бути виконана, або додавши оператор break як запобіжний захід.

Оператор break повністю зупиняє цикл і передає керування першому оператору після нього. Оператор continue пропускає лише решту операторів у поточній ітерації та переходить до наступного циклу циклу.

Стандартна мова C не має вбудованого циклу for-each або циклу на основі діапазону, як C++ or PythonВи ітеруєте масив вручну за допомогою циклу for або while, використовуючи індекс або вказівник, який проходить через кожен елемент.

Ні. Оператор goto виконує безумовний перехід до позначеного рядка та може імітувати loo.ping, але це не структурований цикл. Використання for, while або do-while робить код набагато зручнішим для читання.

Оператор коми дозволяє одному циклу for керувати кількома змінними одночасно. У циклі for (x = 0, y = n; x < y; x++, y–) як секція ініціалізації, так і секція оновлення виконують два вирази на кожному проході.

Так. Поєднуйте умови за допомогою логічних операторів І (&&) та АБО (||) у дужках. Наприклад, поки (a < 10 && b > 0) зберігає looping лише тоді, коли обидві умови залишаються вірними.

Так. Помічники кодування зі штучним інтелектом можуть створювати цикли while, do-while та for на основі простого опису, виявляти помилки, що відхиляються на одиницю, та позначати умови, які можуть виконуватися вічно. RevПерегляд виводу залишається важливим, оскільки згенерована логіка не завжди є правильною.

Копілот GitHub пропонує повні тіла циклів під час введення тексту, автоматично доповнює лічильники та умови, а також пропонує шаблони вкладених циклів на основі короткого коментаря. Працює в популярних редакторах і пришвидшує повторюване кодування на C.

Підсумуйте цей пост за допомогою: