Цикли в C: For, While, Do While looping Примери за твърдения
⚡ Умно обобщение
Циклите в C повтарят блок от оператори, докато контролно условие стане невярно, а езикът предоставя три конструкции - цикълът while, цикълът do-while и цикълът for - за контролирано повторение при влизане и излизане.

Какво е Loop в C?
клозетping Операторите в C изпълняват поредицата от оператори многократно, докато посоченото условие стане невярно. Цикълът в C се състои от две части - тяло на цикъл и управляващ оператор. Управляващият оператор е комбинация от условия, които насочват тялото на цикъла да се изпълнява, докато посоченото условие стане невярно. Целта на цикъла в C е да повтаря един и същ код няколко пъти.
Видове цикли в C
В зависимост от позицията на управляващия оператор в програмата, looping Изразът в C се класифицира в два вида:
- Вход с контролиран контур
- Изход от контролиран контур
В цикъл за управление на входа в C, преди изпълнението на тялото на цикъла се проверява условие. Това се нарича още цикъл за предварителна проверка.
В цикъл с контролиран изход, условието се проверява след изпълнение на тялото на цикъла. Това се нарича още цикъл с последваща проверка.
Примерен цикъл
Условията за управление трябва да бъдат добре дефинирани и специфицирани, в противен случай цикълът ще се изпълнява безкраен брой пъти. Цикълът, който не спира изпълнението си и обработва операторите определен брой пъти, се нарича безкраен цикъл. Безкрайният цикъл се нарича още „безкраен цикъл“. Следват някои характеристики на безкраен цикъл:
- Не е посочено условие за прекратяване.
- Посочените условия никога не се срещат.
Посоченото условие определя дали да се изпълни тялото на цикъла или не.
Езикът за програмиране "C" ни предоставя три типа конструкции на цикъл:
- Цикълът while
- Цикълът do-while
- Цикълът 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 програмиране
- Инициализирахме a променлив наречена num със стойност 1. Ще отпечатваме от 1 до 10, следователно променливата е инициализирана със стойност 1. Ако искате да отпечатвате от 0, тогава присвоете стойност 0 по време на инициализацията.
- В цикъл while сме предоставили условие (num<=10), което означава, че цикълът ще изпълни тялото, докато стойността на num стане 10. След това цикълът ще бъде прекратен и управлението ще падне извън цикъла.
- В тялото на цикъл имаме функция за печат, за да отпечатаме нашия номер, и операция за увеличаване, за да увеличим стойността за изпълнение на цикъл. Първоначалната стойност на 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 Loop в C програмирането
- Първо сме инициализирали променлива 'num' със стойност 1. След това сме написали do-while цикъл.
- В цикъл имаме функция за печат, която ще отпечата серията, като умножи стойността на num с 2.
- След всяко увеличение стойността на num ще се увеличава с 1 и ще се отпечатва на екрана.
- Първоначално стойността на 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; }
- Първоначалната стойност на цикъла for се изпълнява само веднъж.
- Условието е булев израз, който проверява и сравнява брояча с фиксирана стойност след всяка итерация, стопping цикълът for, когато се върне false.
- Увеличаването/намаляването увеличава (или намалява) брояча със зададена стойност.
Следната програма илюстрира цикъла 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 Loop в C програмиране
- Декларирахме променлива от тип данни int за съхраняване на стойности.
- В цикъла for, в частта за инициализация, сме присвоили стойност 1 на променливата number. В частта с условието сме посочили нашето условие и след това частта за увеличаване.
- В тялото на цикъла имаме функция за отпечатване на числата на нов ред в конзолата. Имаме стойност едно, съхранена в число, след първата итерация стойността ще бъде увеличена и ще стане 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 се пропуска.
Кой контур да изберете?
Изборът на цикъл винаги е трудна задача за програмист, за да изберете цикъл, направете следните стъпки:
- Анализирайте проблема и проверете дали изисква предварителен или следтестов цикъл.
- Ако е необходим предварителен тест, използвайте цикъл while или for.
- Ако се изисква пост-тест, използвайте do-while цикъл.




