logo

For vs. While-Schleife in C

Den Unterschied zwischen einer for-Schleife und einer while-Schleife verstehen

Die Iterationsanweisungen in C++, wie z. B. for-Schleife, while-Schleife und do-while-Schleife, ermöglichen die wiederholte Ausführung einer Reihe von Anweisungen, bis die Bedingung wahr ist, und werden dann beendet, wenn die Bedingung falsch ist. Iterationsanweisungen können vordefinierte Bedingungen haben, beispielsweise in einer for-Schleife, oder Bedingungen mit offenem Ende, beispielsweise in einer while-Schleife.

In C++ gibt es eine Vielzahl von „for“-Schleifenvarianten, um die Anwendbarkeit, Leistungsfähigkeit und Flexibilität der Sprache zu erhöhen. Die for-Schleife ermöglicht es uns beispielsweise, die Schleife durch die Verwendung mehrerer darin enthaltener Variablen sowie die Verwendung der Konvergenzfunktion mit der for-Schleife zu steuern. Im Gegensatz dazu können wir mit der while-Schleife nicht viele Variationen verwenden; Es muss mit der Standardsyntax verwendet werden.

Es gibt einige wesentliche Unterschiede zwischen den for- und while-Schleifen, die anhand einer Vergleichstabelle näher erläutert werden.

For vs. While-Schleife in C

For-Schleife ist definiert als

In Java gibt es zwei Arten von for-Schleifen. Die erste ist die „traditionelle“ Form, während die zweite die „für-jeden“-Form ist.

Die allgemeinste Form einer for-Schleifenanweisung.

 for (initialization; condition; iteration) { //body of for loop } 
    Initialisierung:Die Schleifensteuervariable der for-Schleife wird nur einmal während der ersten Iteration der Schleife initialisiert. Hier wird die Schleifensteuervariable initialisiert; Wenn die Schleifenvariable nie wieder im Programm verwendet wird und nur als Steuervariable der Schleife verwendet wird, wird sie in der „for“-Schleife sowohl deklariert als auch initialisiert.Zustand:Die Bedingung der „for“-Schleife wird bei jedem Durchlauf der Schleife ausgeführt.
  • Die Iterationsanweisung ist ein Ausdruck, der die Schleifensteuervariable erhöht oder verringert.

Wenn die Schleife ausgeführt wird, wird zuerst die Initialisierungsbedingung ausgeführt, gefolgt von der Bedingungsprüfung. Wenn die Bedingung erfüllt ist, wird der Hauptteil der Schleife ausgeführt, gefolgt von der Iterationsanweisung. Anschließend wird die Bedingung erneut überprüft, um festzustellen, ob die Schleife weiter iteriert oder beendet wird.

In Java können sowohl die Initialisierungs- als auch die Iterationsanweisungen mehrere Anweisungen enthalten. Ein Komma trennt jede Aussage; In Java ist ein Komma ein Trennzeichen. In C++ ist ein Komma ein Operator, der in jedem gültigen Ausdruck verwendet werden kann.

Die Syntax der for-each-Schleife

Die Form „for-each“ ist eine erweiterte Version der for-Schleife. Die for-each-Schleife hat die folgende allgemeine Form.

 for(type iter_variable: collection) statement-block 

Der Parameter „type“ gibt den Typ der Iterationsvariablen an, auf den die Iterationsvariable folgt. Das Element aus der Sammlungsvariablen wird an die Iterationsvariable übergeben. Der Typ muss mit dem Typ der Elemente in der Sammlungsvariablen übereinstimmen. Die for-each-Form der for-Schleife automatisiert die Iteration der Schleife vom Anfang bis zum Ende und greift in sequentieller Reihenfolge auf die Werte zu.

Beispiel

Es gibt verschiedene Arten von Sammlungen, die mit einer for-Schleife verwendet werden können. Lassen Sie uns darüber sprechen, indem wir ein Array als Sammlung verwenden.

 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); } } 

Ausgabe:

 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' ist in diesem Fall eine Iterationsvariable; Es empfängt die Werte von array[], einen nach dem anderen, vom niedrigsten zum höchsten Index im Array. Die Schleife wird wiederholt, bis alle Elemente des Arrays untersucht sind. Mit „break“ kann die Schleife in der Mitte unterbrochen werden. Die Änderung der Iterationsvariablen hat hingegen keine Auswirkung auf das Array, da es sich um eine schreibgeschützte Variable handelt.

While-Schleife ist definiert als

Die while-Schleife ist die grundlegendste Schleife sowohl in C++ als auch in Java. Die Funktionsweise einer While-Schleife ist in C++ und Java ähnlich.

Syntax

Das Folgende ist die While-Schleifendeklaration:

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

Die while-Schleife prüft zunächst die Bedingung und führt dann die Anweisungen aus, bis die Bedingung in der while-Schleife wahr ist. In einer While-Schleife kann die Bedingung ein beliebiger boolescher Ausdruck sein. Wenn ein Ausdruck einen Wert ungleich Null zurückgibt, ist die Bedingung wahr; Wenn ein Nullwert zurückgegeben wird, ist die Bedingung falsch.

Wenn die Bedingung wahr ist, wiederholt sich die Schleife selbst; Wenn die Bedingung falsch ist, wird die Steuerung an die Codezeile übergeben, die unmittelbar auf die Schleife folgt. Die Hauptschleife oder Anweisungen können eine leere Anweisung, eine einzelne Anweisung oder ein Anweisungsblock sein.

Beispiel

Schauen wir uns an, wie eine While-Schleife funktioniert. Der Code im folgenden Beispiel druckt von 1 bis 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)>

Am Anfang der Schleife wird die Steuervariable „ch“ initialisiert und der Zustand der Schleife überprüft.

Hinweis: Wenn sich im Hauptteil der Schleife nur eine Anweisung befindet, unabhängig davon, ob es sich um eine for-Schleife oder eine while-Schleife handelt, sind die geschweiften Klammern nicht erforderlich.

Was ist in C der Unterschied zwischen einer for-Schleife und einer while-Schleife?

Parameter For-Schleife While-Schleife
Erklärung for(Initialisierung; Bedingung; Iteration) {
//Körper der „for“-Schleife
}
Initialisierung
while (Bedingung) {
Aussagen;
//Körper der Schleife
}
Format. Am Anfang der Schleife werden Initialisierungs-, Bedingungsprüfungs- und Iterationsanweisungen geschrieben. Am Anfang der Schleife werden nur die Initialisierung und die Zustandsprüfung durchgeführt.
Verwenden. Die „for“-Schleife wurde nur verwendet, wenn die Anzahl der Iterationen bereits bekannt war. Wenn die Anzahl der Iterationen unbekannt ist, wird die „while“-Schleife verwendet.
Zustand. Wenn die Bedingung nicht in der „for“-Schleife enthalten ist, wird die Schleife auf unbestimmte Zeit wiederholt. Wenn die Bedingung nicht in der „while“-Schleife enthalten ist, tritt ein Kompilierungsfehler auf.
Initialisierung Die Initialisierung wird niemals in einer „for“-Schleife wiederholt. Wenn die Initialisierung während der Bedingungsprüfung in einer While-Schleife durchgeführt wird, wird die Initialisierung jedes Mal durchgeführt, wenn die Schleife iteriert.
Iterationsbehauptung Da die Iterationsanweisung in der „for“-Schleife oben steht, wird sie erst ausgeführt, nachdem alle Anweisungen in der Schleife ausgeführt wurden. Die Iterationsanweisung in einer „while“-Schleife kann an einer beliebigen Stelle in der Schleife geschrieben werden.

Die wichtigsten Unterschiede zwischen for- und while-Schleife

  • Initialisierung, Bedingungsprüfung und Inkrementierung oder Dekrementierung von Iterationsvariablen erfolgen alle explizit nur in der Schleifensyntax. Im Gegensatz dazu können wir in der while-Schleife die Bedingung nur in der Schleifensyntax initialisieren und überprüfen.
  • Wenn wir die Anzahl der Iterationen kennen, die bei einer Schleifenausführung auftreten müssen, verwenden wir die for-Schleife. Wenn wir hingegen nicht wissen, wie viele Iterationen in einer Schleife erfolgen müssen, verwenden wir eine While-Schleife.
  • Wenn Sie keine Bedingungsanweisung in die for-Schleife einschließen, wird die Schleife auf unbestimmte Zeit wiederholt. Im Gegensatz dazu führt das Versäumnis, eine Bedingungsanweisung in die while-Schleife aufzunehmen, zu einem Kompilierungsfehler.
  • Die Initialisierungsanweisung in der for-Schleifensyntax wird nur einmal am Anfang der Schleife ausgeführt. Wenn die Syntax der while-Schleife eine Initialisierungsanweisung enthält, wird die Initialisierungsanweisung bei jedem Schleifendurchlauf ausgeführt.
  • Die Iterationsanweisung in der for-Schleife wird nach dem Hauptteil der for-Schleife ausgeführt. Im Gegenteil: Da die Iterationsanweisung an einer beliebigen Stelle im Rumpf der While-Schleife geschrieben werden kann, kann es einige Anweisungen geben, die ausgeführt werden, nachdem die Iterationsanweisung im Rumpf der While-Schleife ausgeführt wurde.

Abschluss

Schleifen sind somit eine Sammlung von Befehlen, die in einer bestimmten Reihenfolge verwendet werden müssen. Wenn die Schleifenstruktur falsch ist, zeigt die Programmierung den Syntaxfehler an. Schleifen werden ausgeführt, um ein Ergebnis zu erhalten oder eine Bedingung oder einen Satz von Bedingungen zu erfüllen. Es ist die Grundlage aller Programmiersprachen.

Während der Ausführung stellt die Schleifenstruktur eine Frage und führt sie aus, bis die Antwort zufriedenstellend ist. Die gleiche Frage wird immer wieder gestellt, bis die neue Aussage angewendet wird. Der Schleifenvorgang wird auf unbestimmte Zeit fortgesetzt, bis das Programm einen Haltepunkt erreicht. Falls die Bruchgrenze nicht erreicht wird, stürzt das Programm ab.

Die for- und while-Schleifen sind beide bedingte Anweisungen. Eine for-Schleife ist ein einzeiliger Befehl, der wiederholt ausgeführt wird. While-Schleifen können einzeilig sein oder mehrere Befehle für eine einzelne Bedingung enthalten.

Sowohl die for-Schleife als auch die while-Schleife sind in Computersprachen wichtig, um Ergebnisse zu erhalten. Die Bedingung ist erfüllt, wenn die Befehlssyntax korrekt ist.

Sowohl die for-Schleife als auch die while-Schleife sind Iterationsanweisungen, weisen jedoch unterschiedliche Merkmale auf. Die for-Schleife deklariert alles (Initialisierung, Bedingung, Iteration) am Anfang des Schleifenkörpers. Im Gegensatz dazu befinden sich in einer While-Schleife nur die Initialisierung und die Bedingung am Anfang des Schleifenkörpers, und die Iteration kann an einer beliebigen Stelle im Schleifenkörper geschrieben werden.