logo

Цикъл For vs. While в C

Разбиране на разликата между for цикъл и while цикъл

Изявленията за итерация в C++, като for loop, while loop и do-while loop, позволяват набор от инструкции да се изпълнява многократно, докато условието стане вярно, и след това да се прекрати, когато условието е невярно. Изявленията за итерация могат да имат предварително дефинирани условия, като например в for цикъл, или условия с отворен край, като например в цикъл while.

В C++ се подразбира разнообразие от вариации на цикъл „for“ за увеличаване на приложимостта, мощността и гъвкавостта на езика. Например, цикълът for ни позволява да контролираме цикъла, като използваме множество променливи вътре в него, както и използването на конвергентната функция с цикъла „for“. За разлика от това, не можем да използваме много варианти с цикъла while; трябва да се използва със стандартния синтаксис.

Има някои значителни разлики между циклите for и while, които са допълнително обяснени с помощта на сравнителна диаграма.

Цикъл For vs. While в C

For Loop се определя като

В Java има два вида for цикли. Първата е „традиционната“ форма, докато втората е „за всеки“.

опитайте catch в java

Най-общата форма на оператор for цикъл.

 for (initialization; condition; iteration) { //body of for loop } 
    Инициализация:Променливата за управление на цикъла for се инициализира само веднъж, по време на първата итерация на цикъла. Променливата за управление на цикъла се инициализира тук; ако променливата на цикъла никога не се използва отново в програмата и се използва само като управляваща променлива на цикъла, тя се декларира и инициализира в цикъла 'for'.Състояние:Условието на цикъла „for“ се изпълнява всеки път, когато цикълът се повтаря.
  • Операторът за итерация е израз, който увеличава или намалява променливата за управление на цикъла.

Когато цикълът се изпълнява, първо се изпълнява условието за инициализация, последвано от проверката на условието. Ако условието е изпълнено, тялото на цикъла се изпълнява, последвано от оператора за итерация. След това условието се проверява отново, за да се определи дали цикълът ще повтори по-нататък или ще прекрати.

В Java операторите за инициализация и итерация могат да съдържат множество изрази. Всяко твърдение се разделя със запетая; в Java запетая е разделител; в C++ запетая е оператор, който може да се използва във всеки валиден израз.

Синтаксисът на цикъла for-each

Формата „за всеки“ е по-усъвършенствана версия на цикъла for. Цикълът for-each приема следната обща форма.

 for(type iter_variable: collection) statement-block 

Параметърът „тип“ указва типа на итерационната променлива, която е последвана от итерационната променлива. Елементът от променливата за събиране ще бъде предаден на променливата за итерация. Типът трябва да съответства на типа на елементите в колекцията променлива. Формата for-each на цикъла for автоматизира итерацията на цикъла от началото до края, като осъществява достъп до стойностите в последователен ред.

сравняване на низове c#

Пример

Има различни видове колекции, които могат да се използват с for цикъл. Нека поговорим за това, като използваме масив като колекция.

 public class Main { public static void main(String[] args) { int array[]={10, 20, 30, 40, 50, 60}; int add=0; for( int c: array) { System.out.println( 'value in c ' + c); add = add+c; } System.out.println('additon of array elements is ' +add); } } 

Изход:

 value in c 10 value in c 20 value in c 30 value in c 40 value in c 50 value in c 60 additon of array elements is 210 

'c' е итерационна променлива в този случай; той получава стойностите от array[], една по една, от най-ниския до най-високия индекс в масива. Цикълът се повтаря, докато не бъдат прегледани всички елементи на масива. Цикълът може да бъде прекъснат по средата с помощта на 'break'. Промяната в променливата за итерация, от друга страна, няма ефект върху масива, защото е променлива само за четене.

Докато цикълът се дефинира като

Цикълът while е най-основният цикъл както в C++, така и в Java. Операцията на цикъла while е подобна в C++ и Java.

Синтаксис

Следното е декларацията на цикъла while:

 while ( condition) { statements; //body of loop } 

Цикълът while първо проверява условието и след това изпълнява операторите, докато условието в цикъла while стане вярно. В цикъл while условието може да бъде всеки булев израз. Когато израз връща ненулева стойност, условието е вярно; когато връща нулева стойност, условието е невярно.

string.format java

Ако условието е вярно, цикълът се повтаря; ако условието е невярно, управлението се предава на реда от код непосредствено след цикъла. Цикълът на тялото или операторите могат да бъдат празен оператор, единичен оператор или блок от оператори.

Пример

Нека да разгледаме как работи цикълът while. Кодът в примера по-долу ще отпечата от 1 до 10.

 public class Main { public static void main (String args[]) { int n=0; while(n<10) { n++; system.out.println('n=" +n); } } } &lt;/pre&gt; &lt;p&gt; &lt;strong&gt;Output:&lt;/strong&gt; &lt;/p&gt; &lt;pre&gt; n=1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n=10 &lt;/pre&gt; &lt;p&gt;The initial value of " n' in this case is 0, which makes the condition while loop true. control then enters loop's body, where value of 'n' incremented accordance with first statement.< p> <p>The value of &apos;n&apos; is printed, then control returns to the condition in a while loop, where the value of &apos;n&apos; is now 1, satisfying the condition once more, and the body of the loop is executed once more. This continues until the condition becomes false, at which point the loop is terminated.</p> <p>The &apos;while&apos; loop, like the &apos;for&apos; loop, can initialise the control variable at the beginning of the loop, i.e. during condition checking.</p> <pre> //for example while((ch = getchar( ) ) != &apos;A&apos;) { System.out.println(&apos; The input alphabet &apos; +ch); } </pre> <p>At the top of the loop, the control variable &apos;ch&apos; is initialised, and the loop&apos;s condition is verified.</p> <h4>Note: If there is only one statement in the body of the loop, whether it is a for loop or a while loop, the curly braces are not required.</h4> <h3>In C, what is the difference between a for loop and a while?</h3> <table class="table"> <tr> <th>Parameters</th> <th>For Loop</th> <th>While Loop</th> </tr> <tr> <td> <strong>Declaration</strong> </td> <td>for(initialization ; condition ; iteration ) { <br> //body of &apos;for&apos; loop <br> }</td> <td>initialization <br>while ( condition ) { <br>statements; <br>//body of loop <br>}</td> </tr> <tr> <td> <strong>Format.</strong> </td> <td>At the top of the loop, initialization, condition checking, and iteration statements are written.</td> <td>At the top of the loop, only initialization and condition checking are performed.</td> </tr> <tr> <td> <strong>Use.</strong> </td> <td>The &apos;for&apos; loop was only used when the number of iterations was already known.</td> <td>When the number of iterations is unknown, the &apos;while&apos; loop is used.</td> </tr> <tr> <td> <strong>Condition.</strong> </td> <td>If the condition is not included in the &apos;for&apos; loop, the loop iterates indefinitely.</td> <td>If the condition is not included in the &apos;while&apos; loop, a compilation error occurs.</td> </tr> <tr> <td> <strong>Initialization</strong> </td> <td>The initialization is never repeated in a &apos;for&apos; loop.</td> <td>If initialization is performed during condition checking in a while loop, initialization is performed each time the loop iterates.</td> </tr> <tr> <td> <strong>Iteration assertion</strong> </td> <td>Because the iteration statement in the &apos;for&apos; loop is written at the top, it executes only after all statements in the loop have been executed.</td> <td>The iteration statement in a &apos;while&apos; loop can be written anywhere in the loop.</td> </tr> </table> <h2>The Key Differences Between for and while loop</h2> <ul> <li>Initialization, condition checking, and increment or decrement of iteration variables are all done explicitly in the loop syntax only. In contrast, in the while loop, we can only initialise and check the condition in the loop syntax.</li> <li>When we know the number of iterations that must occur in a loop execution, we use the for loop. On the other hand, if we do not know how many iterations must occur in a loop, we use a while loop.</li> <li>If you do not include a condition statement in the for loop, the loop will loop indefinitely. In contrast, failing to include a condition statement in the while loop will result in a compilation error.</li> <li>The initialization statement in the for loop syntax is only executed once at the beginning of the loop. If the while loop&apos;s syntax includes an initialization statement, the initialization statement will be executed each time the loop iterates.</li> <li>The iteration statement in the for loop will run after the body of the for loop. On the contrary, because the iteration statement can be written anywhere in the body of the while loop, there may be some statements that execute after the iteration statement in the body of the while loop is executed.</li> </ul> <h2>Conclusion</h2> <p>Loops are thus a collection of commands that must be used in a specific order. If the loop structure is incorrect, the programming will display the syntax error. Loops run to obtain a result or to satisfy a condition or set of conditions. It is the foundation of all programming languages.</p> <p>During execution, the loop structure asks a question and executes until the answer is satisfactory. The same question is asked again and again until the new statement is applied. The looping process continues indefinitely until the programme reaches a breakpoint. In the event that the breaking point is not reached, the programme will crash.</p> <p>The for and while loops are both conditional statements. A for loop is a single-line command that will be executed repeatedly. While loops can be single-lined or contain multiple commands for a single condition.</p> <p>Both the for loop and the while loop are important in computer languages for obtaining results. The condition is met if the command syntax is correct.</p> <p>Both the for loop and the while loop are iteration statements, but they have distinct characteristics. The for loop declares everything (initialization, condition, iteration) at the top of the loop body. In contrast, only initialization and condition are at the top of the body of the loop in a while loop, and iteration can be written anywhere in the body of the loop.</p> <hr></10)>

В горната част на цикъла контролната променлива 'ch' се инициализира и състоянието на цикъла се проверява.

Забележка: Ако има само един оператор в тялото на цикъла, независимо дали е for цикъл или while цикъл, фигурните скоби не са необходими.

В C каква е разликата между for цикъл и while?

Параметри За цикъл Цикъл докато
Декларация за (инициализация; условие; итерация) {
//тялото на цикъла 'for'
}
инициализация
докато ( условие ) {
изявления;
//тялото на цикъла
}
формат. В горната част на цикъла се записват инструкции за инициализация, проверка на условие и итерация. В горната част на цикъла се извършва само инициализация и проверка на състоянието.
Използвайте. Цикълът „for“ се използваше само когато броят на повторенията вече беше известен. Когато броят на итерациите е неизвестен, се използва цикълът 'while'.
Състояние. Ако условието не е включено в цикъла „for“, цикълът се повтаря безкрайно. Ако условието не е включено в цикъла 'while', възниква грешка при компилиране.
Инициализация Инициализацията никога не се повтаря в цикъл 'for'. Ако инициализацията се извършва по време на проверка на условието в цикъл while, инициализацията се извършва при всяко повторение на цикъла.
Твърдение за итерация Тъй като операторът за итерация в цикъла 'for' е написан в горната част, той се изпълнява само след като всички оператори в цикъла са били изпълнени. Операторът за итерация в цикъл 'while' може да бъде написан навсякъде в цикъла.

Основните разлики между for и while цикъл

  • Инициализацията, проверката на условието и увеличаването или намаляването на променливите за итерация се извършват изрично само в синтаксиса на цикъла. За разлика от това, в цикъла while можем само да инициализираме и проверим условието в синтаксиса на цикъла.
  • Когато знаем броя на итерациите, които трябва да се появят при изпълнение на цикъл, ние използваме цикъла for. От друга страна, ако не знаем колко итерации трябва да се появят в един цикъл, използваме цикъл while.
  • Ако не включите оператор за условие в for цикъла, цикълът ще се повтаря безкрайно. За разлика от това, ако не включите оператор за условие в цикъла while, това ще доведе до грешка при компилиране.
  • Операторът за инициализация в синтаксиса на for цикъла се изпълнява само веднъж в началото на цикъла. Ако синтаксисът на цикъла while включва оператор за инициализация, операторът за инициализиране ще се изпълнява при всяко повторение на цикъла.
  • Операторът за итерация в for цикъла ще се изпълнява след тялото на for цикъла. Напротив, тъй като операторът за итерация може да бъде написан навсякъде в тялото на цикъла while, може да има някои оператори, които се изпълняват след изпълнението на оператора за итерация в тялото на цикъла while.

Заключение

Следователно циклите са набор от команди, които трябва да се използват в определен ред. Ако структурата на цикъла е неправилна, програмирането ще покаже синтактичната грешка. Циклите се изпълняват, за да се получи резултат или да се изпълни условие или набор от условия. Той е в основата на всички езици за програмиране.

алгоритъм за сортиране на купчина

По време на изпълнение структурата на цикъла задава въпрос и се изпълнява, докато отговорът стане задоволителен. Същият въпрос се задава отново и отново, докато не бъде приложено новото твърдение. Процесът на цикъл продължава безкрайно, докато програмата достигне точка на прекъсване. В случай, че точката на прекъсване не бъде достигната, програмата ще се срине.

Циклите for и while са условни изрази. Цикълът for е команда от един ред, която ще се изпълнява многократно. Докато циклите могат да бъдат едноредови или да съдържат множество команди за едно условие.

Както цикълът for, така и цикълът while са важни в компютърните езици за получаване на резултати. Условието е изпълнено, ако синтаксисът на командата е правилен.

И цикълът for, и цикълът while са изрази за итерация, но имат различни характеристики. Цикълът for декларира всичко (инициализация, условие, итерация) в горната част на тялото на цикъла. За разлика от това, само инициализацията и условието са в горната част на тялото на цикъла в цикъла while, а итерацията може да бъде написана навсякъде в тялото на цикъла.