Цикли в C: For, While, Do While looping Примери за твърдения

⚡ Умно обобщение

Циклите в C повтарят блок от оператори, докато контролно условие стане невярно, а езикът предоставя три конструкции - цикълът while, цикълът do-while и цикълът for - за контролирано повторение при влизане и излизане.

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

Цикли в C: For, While, Do While looping Изявления

Какво е Loop в C?

клозетping Операторите в C изпълняват поредицата от оператори многократно, докато посоченото условие стане невярно. Цикълът в C се състои от две части - тяло на цикъл и управляващ оператор. Управляващият оператор е комбинация от условия, които насочват тялото на цикъла да се изпълнява, докато посоченото условие стане невярно. Целта на цикъла в C е да повтаря един и същ код няколко пъти.

Видове цикли в C

В зависимост от позицията на управляващия оператор в програмата, looping Изразът в C се класифицира в два вида:

  1. Вход с контролиран контур
  2. Изход от контролиран контур

В цикъл за управление на входа в C, преди изпълнението на тялото на цикъла се проверява условие. Това се нарича още цикъл за предварителна проверка.

В цикъл с контролиран изход, условието се проверява след изпълнение на тялото на цикъла. Това се нарича още цикъл с последваща проверка.

Видове цикли в C

Примерен цикъл

Условията за управление трябва да бъдат добре дефинирани и специфицирани, в противен случай цикълът ще се изпълнява безкраен брой пъти. Цикълът, който не спира изпълнението си и обработва операторите определен брой пъти, се нарича безкраен цикъл. Безкрайният цикъл се нарича още „безкраен цикъл“. Следват някои характеристики на безкраен цикъл:

  1. Не е посочено условие за прекратяване.
  2. Посочените условия никога не се срещат.

Посоченото условие определя дали да се изпълни тялото на цикъла или не.

Езикът за програмиране "C" ни предоставя три типа конструкции на цикъл:

  1. Цикълът while
  2. Цикълът do-while
  3. Цикълът for
Sr. No. Тип цикли Descriptйон
1. Докато Loop В цикъла while дадено условие се оценява преди обработката на тялото на цикъла. Ако дадено условие е вярно тогава и само тогава се изпълнява тялото на цикъл.
2. Do-While Loop В do…while цикъл условието винаги се изпълнява след тялото на цикъл. Нарича се още цикъл с контролиран изход.
3. За Loop В цикъл 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

Докато цикъл в C програмиране

  1. Инициализирахме a променлив наречена num със стойност 1. Ще отпечатваме от 1 до 10, следователно променливата е инициализирана със стойност 1. Ако искате да отпечатвате от 0, тогава присвоете стойност 0 по време на инициализацията.
  2. В цикъл while сме предоставили условие (num<=10), което означава, че цикълът ще изпълни тялото, докато стойността на num стане 10. След това цикълът ще бъде прекратен и управлението ще падне извън цикъла.
  3. В тялото на цикъл имаме функция за печат, за да отпечатаме нашия номер, и операция за увеличаване, за да увеличим стойността за изпълнение на цикъл. Първоначалната стойност на num е 1, след изпълнението тя ще стане 2, а по време на следващото изпълнение ще стане 3. Този процес ще продължи, докато стойността стане 10 и след това ще отпечата серията на конзолата и ще прекрати цикъла .

„\n“ се използва за целите на форматирането, което означава, че стойността ще бъде отпечатана на нов ред.

Do-While цикъл в C

Цикълът do...while в C е подобен на цикъла while, с изключение на това, че условието винаги се изпълнява след тялото на цикъла. Нарича се още цикъл с контролиран изход.

Синтаксисът на do while цикъл в езика за програмиране C е както следва:

Синтаксис на Do-While Loop в C

 do {
  statements
} while (expression);

Както видяхме в цикъла while, тялото се изпълнява тогава и само ако условието е вярно. В някои случаи трябва да изпълним тялото на цикъла поне веднъж, дори ако условието е невярно. Този тип операция може да бъде постигната чрез използване на do-while цикъл.

В цикъла do-while тялото на цикъл винаги се изпълнява поне веднъж. След като тялото се изпълни, то проверява състоянието. Ако условието е вярно, то отново ще изпълни тялото на цикъл, в противен случай управлението се прехвърля извън цикъла.

Подобно на цикъла while, след като контролата излезе от цикъла, операторите, които са непосредствено след цикъла, се изпълняват.

Критичната разлика между while и do-while цикъла е, че в while цикъла while се записва в началото. В do-while цикъл, докато условието се записва в края и завършва с точка и запетая (;)

Следната циклична програма в C илюстрира работата на 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 Loop в 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 Loop в 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 Loop в C програмиране

  1. Декларирахме променлива от тип данни int за съхраняване на стойности.
  2. В цикъла for, в частта за инициализация, сме присвоили стойност 1 на променливата number. В частта с условието сме посочили нашето условие и след това частта за увеличаване.
  3. В тялото на цикъла имаме функция за отпечатване на числата на нов ред в конзолата. Имаме стойност едно, съхранена в число, след първата итерация стойността ще бъде увеличена и ще стане 2. Сега променливата номер има стойност 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 предлага два оператора, които променят начина, по който се изпълнява цикълът отвътре.

Изявление за прекъсване в 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–), както инициализационната, така и секцията за актуализиране изпълняват по два израза при всяко преминаване.

Да. Комбинирайте условията с логическите оператори AND (&&) и OR (||) в скобите. Например, while (a < 10 && b > 0) запазва looping само докато и двете условия са изпълнени.

Да. Асистентите за кодиране с изкуствен интелект могат да създават цикли while, do-while и for от обикновено описание, да забелязват грешки, които се различават едно от друго, и да маркират условия, които могат да се изпълняват вечно. RevПрегледът на изхода остава от съществено значение, защото генерираната логика не винаги е правилна.

Копилот на GitHub Предлага пълни тела на цикли, докато пишете, автоматично довършва броячи и условия и предлага модели на вложени цикли от кратък коментар. Работи в популярни редактори и ускорява повтарящото се C кодиране.

Обобщете тази публикация с: