logo

Ciclo For vs. While in C

Comprendere la differenza tra un ciclo for e un ciclo while

Le istruzioni di iterazione in C++, come ciclo for, ciclo while e ciclo do- while, consentono l'esecuzione ripetuta di una serie di istruzioni finché la condizione non diventa vera, per poi terminare quando la condizione diventa falsa. Le istruzioni di iterazione possono avere condizioni predefinite, come in un ciclo for, o condizioni aperte, come in un ciclo while.

In C++, una varietà di variazioni del ciclo 'for' sono implicite per aumentare l'applicabilità, la potenza e la flessibilità del linguaggio. Ad esempio, il ciclo for ci consente di controllare il ciclo utilizzando più variabili al suo interno, così come l'uso della funzione converge con il ciclo 'for'. Al contrario, non possiamo usare molte variazioni con il ciclo while; deve essere utilizzato con la sintassi standard.

Ci sono alcune differenze significative tra i cicli for e while, che vengono ulteriormente spiegate utilizzando una tabella comparativa.

Ciclo For vs. While in C

For Loop è definito come

Esistono due tipi di cicli for in Java. La prima è la forma “tradizionale”, mentre la seconda è la forma “per ciascuno”.

se altrimenti se altrimenti se java

La forma più generale di un'istruzione del ciclo for.

 for (initialization; condition; iteration) { //body of for loop } 
    Inizializzazione:La variabile di controllo del ciclo for viene inizializzata solo una volta, durante la prima iterazione del ciclo. Qui viene inizializzata la variabile di controllo del loop; se la variabile del ciclo non viene mai più utilizzata nel programma e viene utilizzata solo come variabile di controllo del ciclo, viene dichiarata e inizializzata nel ciclo 'for'.Condizione:La condizione del ciclo 'for' viene eseguita ogni volta che il ciclo viene ripetuto.
  • L'istruzione di iterazione è un'espressione che incrementa o decrementa la variabile di controllo del ciclo.

Quando viene eseguito il ciclo, viene eseguita prima la condizione di inizializzazione, seguita dal controllo della condizione. Se la condizione è soddisfatta, viene eseguito il corpo del ciclo, seguito dall'istruzione di iterazione. La condizione viene quindi verificata nuovamente per determinare se il ciclo ripeterà ulteriormente o terminerà.

In Java, le istruzioni di inizializzazione e di iterazione possono entrambe contenere più istruzioni. Una virgola separa ogni affermazione; in Java la virgola è un separatore; in C++, una virgola è un operatore che può essere utilizzato in qualsiasi espressione valida.

La sintassi del ciclo for-each

La forma 'for-each' è una versione più avanzata del ciclo for. Il ciclo for-each assume la seguente forma generale.

 for(type iter_variable: collection) statement-block 

Il parametro 'tipo' specifica il tipo di variabile di iterazione, che è seguita dalla variabile di iterazione. L'elemento della variabile di raccolta verrà passato alla variabile di iterazione. Il tipo deve corrispondere al tipo degli elementi nella variabile di raccolta. La forma for-each del ciclo for automatizza l'iterazione del ciclo dall'inizio alla fine, accedendo ai valori in ordine sequenziale.

file di modifica di Linux

Esempio

Esistono vari tipi di raccolte che possono essere utilizzate con un ciclo for. Parliamone usando un array come raccolta.

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

Produzione:

 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' è una variabile di iterazione in questo caso; riceve i valori da array[], uno per uno, dall'indice più basso a quello più alto nell'array. Il ciclo viene ripetuto finché non vengono esaminati tutti gli elementi dell'array. Il ciclo può essere interrotto a metà utilizzando 'break.' La modifica nella variabile di iterazione, invece, non ha alcun effetto sull'array perché è una variabile di sola lettura.

Mentre il ciclo è definito come

Il ciclo while è il ciclo più elementare sia in C++ che in Java. Il funzionamento di un ciclo while è simile in C++ e Java.

Sintassi

Quella che segue è la dichiarazione del ciclo while:

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

Il ciclo while prima controlla la condizione e poi esegue le istruzioni finché la condizione nel ciclo while non risulta vera. In un ciclo while, la condizione può essere qualsiasi espressione booleana. Quando un'espressione restituisce un valore diverso da zero, la condizione è vera; quando restituisce un valore zero, la condizione è falsa.

raccolte in Java

Se la condizione è vera, il ciclo ripete se stesso; se la condizione è falsa, il controllo viene passato alla riga di codice immediatamente successiva al ciclo. Il loop del corpo o le istruzioni possono essere un'istruzione vuota, una singola istruzione o un blocco di istruzioni.

Esempio

Diamo un'occhiata a come funziona un ciclo while. Il codice nell'esempio seguente verrà stampato da 1 a 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)>

Nella parte superiore del ciclo, la variabile di controllo 'ch' viene inizializzata e la condizione del ciclo viene verificata.

Nota: se nel corpo del ciclo è presente una sola istruzione, sia che si tratti di un ciclo for o di un ciclo while, le parentesi graffe non sono necessarie.

In C, qual è la differenza tra un ciclo for e un while?

Parametri Per Ciclo Mentre Ciclo
Dichiarazione for(inizializzazione; condizione; iterazione) {
//corpo del ciclo 'for'
}
inizializzazione
mentre (condizione) {
dichiarazioni;
//corpo del ciclo
}
Formato. Nella parte superiore del ciclo vengono scritte le istruzioni di inizializzazione, controllo delle condizioni e iterazione. Nella parte superiore del ciclo vengono eseguiti solo l'inizializzazione e il controllo delle condizioni.
Utilizzo. Il ciclo 'for' veniva utilizzato solo quando il numero di iterazioni era già noto. Quando il numero di iterazioni non è noto, viene utilizzato il ciclo 'mentre'.
Condizione. Se la condizione non è inclusa nel ciclo 'for', il ciclo ripete indefinitamente. Se la condizione non è inclusa nel ciclo 'mentre', si verifica un errore di compilazione.
Inizializzazione L'inizializzazione non viene mai ripetuta in un ciclo 'for'. Se l'inizializzazione viene eseguita durante il controllo delle condizioni in un ciclo while, l'inizializzazione viene eseguita ogni volta che il ciclo viene ripetuto.
Asserzione di iterazione Poiché l'istruzione di iterazione nel ciclo 'for' è scritta all'inizio, viene eseguita solo dopo che tutte le istruzioni nel ciclo sono state eseguite. L'istruzione di iterazione in un ciclo 'mentre' può essere scritta ovunque nel ciclo.

Le differenze chiave tra ciclo for e while

  • L'inizializzazione, il controllo delle condizioni e l'incremento o decremento delle variabili di iterazione vengono tutti eseguiti esplicitamente solo nella sintassi del ciclo. Al contrario, nel ciclo while possiamo solo inizializzare e verificare la condizione nella sintassi del ciclo.
  • Quando conosciamo il numero di iterazioni che devono verificarsi nell'esecuzione di un ciclo, utilizziamo il ciclo for. D'altra parte, se non sappiamo quante iterazioni devono verificarsi in un ciclo, utilizziamo un ciclo while.
  • Se non includi un'istruzione condizionale nel ciclo for, il ciclo verrà ripetuto indefinitamente. Al contrario, la mancata inclusione di un'istruzione condizionale nel ciclo while risulterà in un errore di compilazione.
  • L'istruzione di inizializzazione nella sintassi del ciclo for viene eseguita solo una volta all'inizio del ciclo. Se la sintassi del ciclo while include un'istruzione di inizializzazione, l'istruzione di inizializzazione verrà eseguita ogni volta che il ciclo viene ripetuto.
  • L'istruzione di iterazione nel ciclo for verrà eseguita dopo il corpo del ciclo for. Al contrario, poiché l'istruzione di iterazione può essere scritta ovunque nel corpo del ciclo while, potrebbero esserci alcune istruzioni che vengono eseguite dopo l'esecuzione dell'istruzione di iterazione nel corpo del ciclo while.

Conclusione

I cicli sono quindi una raccolta di comandi che devono essere utilizzati in un ordine specifico. Se la struttura del loop non è corretta, la programmazione visualizzerà l'errore di sintassi. I cicli vengono eseguiti per ottenere un risultato o per soddisfare una condizione o un insieme di condizioni. È il fondamento di tutti i linguaggi di programmazione.

c struttura nella struttura

Durante l'esecuzione, la struttura del ciclo pone una domanda ed esegue finché la risposta non è soddisfacente. La stessa domanda viene posta più e più volte finché non viene applicata la nuova affermazione. Il processo di loop continua indefinitamente finché il programma non raggiunge un punto di interruzione. Nel caso in cui non venga raggiunto il punto di rottura, il programma andrà in crash.

I cicli for e while sono entrambi istruzioni condizionali. Un ciclo for è un comando a riga singola che verrà eseguito ripetutamente. I cicli while possono essere a riga singola o contenere più comandi per una singola condizione.

Sia il ciclo for che il ciclo while sono importanti nei linguaggi informatici per ottenere risultati. La condizione è soddisfatta se la sintassi del comando è corretta.

Sia il ciclo for che il ciclo while sono istruzioni di iterazione, ma hanno caratteristiche distinte. Il ciclo for dichiara tutto (inizializzazione, condizione, iterazione) nella parte superiore del corpo del ciclo. Al contrario, in un ciclo while solo l'inizializzazione e la condizione si trovano nella parte superiore del corpo del ciclo e l'iterazione può essere scritta ovunque nel corpo del ciclo.