logo

Цикл For vs. While в C

Розуміння різниці між циклом for і циклом while

Оператори ітерації в C++, такі як цикл for, while і do-while, дозволяють багаторазово виконувати набір інструкцій, доки умова не стане істинною, а потім завершити, коли умова стане хибною. Оператори ітерації можуть мати попередньо визначені умови, наприклад у циклі for, або відкриті умови, наприклад у циклі while.

У C++ передбачається різноманітність варіантів циклу for для підвищення застосовності, потужності та гнучкості мови. Наприклад, цикл for дозволяє нам керувати циклом за допомогою кількох змінних усередині нього, а також за допомогою функції конвергенції з циклом for. Навпаки, ми не можемо використовувати багато варіацій із циклом while; він повинен використовуватися зі стандартним синтаксисом.

Існують деякі значні відмінності між циклами for і while, які додатково пояснюються за допомогою порівняльної таблиці.

Цикл For vs. While в C

Цикл For визначається як

У Java існує два типи циклів for. Перша — «традиційна» форма, а друга — «для кожного».

типи даних sql

Найзагальніша форма оператора циклу for.

 for (initialization; condition; iteration) { //body of for loop } 
    Ініціалізація:Керуюча змінна циклу for ініціалізується лише один раз, під час першої ітерації циклу. Тут ініціалізується керуюча змінна циклу; якщо змінна циклу більше ніколи не використовується в програмі і використовується лише як керуюча змінна циклу, вона оголошується та ініціалізується в циклі for.Хвороба:Умова циклу for виконується кожного разу, коли цикл повторюється.
  • Оператор ітерації - це вираз, який збільшує або зменшує керуючу змінну циклу.

Коли цикл виконується, спочатку виконується умова ініціалізації, а потім перевірка умови. Якщо умова виконується, виконується тіло циклу, а потім оператор ітерації. Потім умова перевіряється ще раз, щоб визначити, чи буде цикл повторюватись далі чи завершуватиметься.

У Java оператори ініціалізації та ітерації можуть містити декілька операторів. Кожне твердження відокремлюється комою; в Java кома є роздільником; у C++ кома — це оператор, який можна використовувати в будь-якому правильному виразі.

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

Форма «for-each» є більш вдосконаленою версією циклу for. Цикл for-each має такий загальний вигляд.

 for(type iter_variable: collection) statement-block 

Параметр 'type' визначає тип змінної ітерації, за якою слідує змінна ітерації. Елемент зі змінної колекції буде передано в змінну ітерації. Тип має відповідати типу елементів у змінній колекції. Форма for-each циклу for автоматизує повторення циклу від початку до кінця, отримуючи доступ до значень у послідовному порядку.

арахіс проти арахісу

приклад

Існують різні типи колекцій, які можна використовувати з циклом 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 визначається як

Цикл while є основним циклом як у C++, так і в Java. Операція циклу while схожа в C++ і Java.

Синтаксис

Нижче наведено оголошення циклу while:

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

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

нескінченний цикл

Якщо умова виконується, цикл повторюється самостійно; якщо умова хибна, керування передається до рядка коду, що йде безпосередньо після циклу. Тіло циклу або операторів може бути порожнім оператором, одним оператором або блоком операторів.

приклад

Давайте подивимося, як працює цикл 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' і перевіряється умова циклу.

рядковий формат java

Примітка. Якщо в тілі циклу є лише один оператор, будь то цикл for чи while, фігурні дужки не потрібні.

У чому полягає різниця між циклом for і while?

Параметри Для циклу Цикл while
Декларація for(ініціалізація; умова; ітерація) {
//тіло циклу for
}
ініціалізація
while ( умова ) {
заяви;
//тіло циклу
}
Формат. У верхній частині циклу записуються оператори ініціалізації, перевірки умов і ітерації. У верхній частині циклу виконується лише ініціалізація та перевірка умов.
використання. Цикл for використовувався лише тоді, коли кількість ітерацій була вже відома. Коли кількість ітерацій невідома, використовується цикл while.
Хвороба. Якщо умова не включена в цикл for, цикл повторюється нескінченно довго. Якщо умова не включена в цикл 'while', виникає помилка компіляції.
Ініціалізація Ініціалізація ніколи не повторюється в циклі for. Якщо ініціалізація виконується під час перевірки умови в циклі while, ініціалізація виконується щоразу, коли цикл повторюється.
Ітераційне твердження Оскільки оператор ітерації в циклі «for» записується вгорі, він виконується лише після виконання всіх операторів у циклі. Оператор ітерації в циклі while можна записати будь-де в циклі.

Ключові відмінності між циклом for і while

  • Ініціалізація, перевірка умов і збільшення або зменшення змінних ітерації виконуються явно лише в синтаксисі циклу. Навпаки, у циклі while ми можемо лише ініціалізувати та перевірити умову в синтаксисі циклу.
  • Коли ми знаємо кількість ітерацій, які повинні відбутися під час виконання циклу, ми використовуємо цикл for. З іншого боку, якщо ми не знаємо, скільки ітерацій має відбуватися в циклі, ми використовуємо цикл while.
  • Якщо ви не включите оператор умови в цикл for, цикл буде виконуватися нескінченно довго. Навпаки, якщо не включити оператор умови в цикл while, це призведе до помилки компіляції.
  • Оператор ініціалізації в синтаксисі циклу for виконується лише один раз на початку циклу. Якщо синтаксис циклу while містить оператор ініціалізації, оператор ініціалізації виконуватиметься щоразу, коли цикл виконується.
  • Оператор ітерації в циклі for виконуватиметься після тіла циклу for. Навпаки, оскільки оператор ітерації можна записати будь-де в тілі циклу while, можуть бути деякі оператори, які виконуються після виконання оператора ітерації в тілі циклу while.

Висновок

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

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

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

І цикл for, і цикл while важливі в комп’ютерних мовах для отримання результатів. Умова виконується, якщо синтаксис команди правильний.

І цикл for, і цикл while є операторами ітерації, але вони мають різні характеристики. Цикл for оголошує все (ініціалізацію, умову, ітерацію) у верхній частині тіла циклу. Навпаки, лише ініціалізація та умова знаходяться у верхній частині тіла циклу в циклі while, а ітерацію можна записати будь-де в тілі циклу.