logo

Bucle For vs. While a C

Entendre la diferència entre un bucle for i un bucle while

Les declaracions d'iteració en C++, com ara el bucle for, el bucle while i el bucle do-while, permeten que un conjunt d'instruccions s'executi repetidament fins que la condició sigui certa i, a continuació, acaben quan la condició és falsa. Les declaracions d'iteració poden tenir condicions predefinides, com ara en un bucle for, o condicions obertes, com ara en un bucle while.

En C++, hi ha una varietat de variacions de bucle 'for' per augmentar l'aplicabilitat, la potència i la flexibilitat del llenguatge. Per exemple, el bucle for ens permet controlar el bucle utilitzant múltiples variables al seu interior, així com l'ús de la funció de convergència amb el bucle 'for'. En canvi, no podem utilitzar moltes variacions amb el bucle while; s'ha d'utilitzar amb la sintaxi estàndard.

Hi ha algunes diferències significatives entre els bucles for i while, que s'expliquen amb més detall mitjançant un gràfic de comparació.

Bucle For vs. While a C

For Loop es defineix com

Hi ha dos tipus de bucles for a Java. La primera és la forma 'tradicional', mentre que la segona és la forma 'per a cadascú'.

La forma més general d'una instrucció de bucle for.

llista c#
 for (initialization; condition; iteration) { //body of for loop } 
    Inicialització:La variable de control de bucle del bucle for només s'inicialitza una vegada, durant la primera iteració del bucle. La variable de control del bucle s'inicialitza aquí; si la variable de bucle no s'utilitza mai més al programa i només s'utilitza com a variable de control del bucle, es declara i s'inicia al bucle 'for'.Condició:La condició del bucle 'for' s'executa cada vegada que s'itera el bucle.
  • La sentència d'iteració és una expressió que augmenta o disminueix la variable de control del bucle.

Quan s'executa el bucle, primer s'executa la condició d'inicialització, seguida de la comprovació de la condició. Si es compleix la condició, s'executa el cos del bucle, seguit de la instrucció d'iteració. Aleshores, la condició es torna a comprovar per determinar si el bucle continuarà iterant o finalitzarà.

A Java, les sentències d'inicialització i d'iteració poden contenir múltiples sentències. Una coma separa cada enunciat; a Java, una coma és un separador; en C++, una coma és un operador que es pot utilitzar en qualsevol expressió vàlida.

La sintaxi del bucle for-each

El formulari 'for-each' és una versió més avançada del bucle for. El bucle for-each pren la forma general següent.

 for(type iter_variable: collection) statement-block 

El paràmetre 'tipus' especifica el tipus de variable d'iteració, seguida de la variable d'iteració. L'element de la variable de col·lecció es passarà a la variable d'iteració. El tipus ha de coincidir amb el tipus d'elements de la variable de col·lecció. La forma for-each del bucle for automatitza la iteració del bucle des del principi fins al final, accedint als valors en ordre seqüencial.

Exemple

Hi ha diversos tipus de col·leccions que es poden utilitzar amb un bucle for. Parlem-ne utilitzant una matriu com a col·lecció.

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

Sortida:

 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' és una variable d'iteració en aquest cas; rep els valors de la matriu[], un per un, des de l'índex més baix fins al més alt de la matriu. El bucle itera fins que s'examinen tots els elements de la matriu. El bucle es pot trencar al mig utilitzant 'break'. El canvi en la variable d'iteració, en canvi, no té cap efecte sobre la matriu perquè és una variable només de lectura.

El bucle while es defineix com

El bucle while és el bucle més bàsic tant en C++ com en Java. El funcionament d'un bucle while és similar en C++ i Java.

Sintaxi

La següent és la declaració del bucle while:

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

El bucle while comprova primer la condició i després executa les declaracions fins que la condició del bucle while és certa. En un bucle while, la condició pot ser qualsevol expressió booleana. Quan una expressió retorna un valor diferent de zero, la condició és certa; quan retorna un valor zero, la condició és falsa.

Si la condició és certa, el bucle s'itera; si la condició és falsa, el control es passa a la línia de codi immediatament després del bucle. El bucle o les sentències del cos poden ser una instrucció buida, una instrucció única o un bloc d'instruccions.

Exemple

Vegem com funciona un bucle while. El codi de l'exemple següent s'imprimirà de l'1 al 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)>

A la part superior del bucle, s'inicia la variable de control 'ch' i es verifica la condició del bucle.

Nota: Si només hi ha una instrucció al cos del bucle, ja sigui un bucle for o un bucle while, les claus no són necessàries.

A C, quina diferència hi ha entre un bucle for i un while?

Paràmetres For Loop While Loop
Declaració per (inicialització; condició; iteració) {
//cos del bucle 'for'
}
inicialització
mentre (condició) {
declaracions;
//cos del bucle
}
Format. A la part superior del bucle, s'escriuen les declaracions d'inicialització, de comprovació de condicions i d'iteració. A la part superior del bucle, només es realitza la inicialització i la comprovació de les condicions.
Ús. El bucle 'for' només es va utilitzar quan ja es coneixia el nombre d'iteracions. Quan es desconeix el nombre d'iteracions, s'utilitza el bucle 'while'.
Condició. Si la condició no s'inclou al bucle 'for', el bucle s'itera indefinidament. Si la condició no s'inclou al bucle 'while', es produeix un error de compilació.
Inicialització La inicialització mai es repeteix en un bucle 'for'. Si la inicialització es realitza durant la comprovació de condicions en un bucle while, la inicialització es realitza cada vegada que el bucle s'itera.
Afirmació d'iteració Com que la sentència d'iteració del bucle 'for' s'escriu a la part superior, només s'executa després que s'hagin executat totes les declaracions del bucle. La declaració d'iteració en un bucle 'while' es pot escriure en qualsevol lloc del bucle.

Les diferències clau entre el bucle for i while

  • La inicialització, la comprovació de condicions i l'increment o el decrement de les variables d'iteració es fan de manera explícita només a la sintaxi del bucle. En canvi, en el bucle while, només podem inicialitzar i comprovar la condició a la sintaxi del bucle.
  • Quan sabem el nombre d'iteracions que s'han de produir en una execució de bucle, fem servir el bucle for. D'altra banda, si no sabem quantes iteracions s'han de produir en un bucle, fem servir un bucle while.
  • Si no incloeu una instrucció de condició al bucle for, el bucle es farà indefinidament. En canvi, si no s'inclou una instrucció de condició al bucle while, es produirà un error de compilació.
  • La instrucció d'inicialització de la sintaxi del bucle for només s'executa una vegada al començament del bucle. Si la sintaxi del bucle while inclou una instrucció d'inicialització, la instrucció d'inicialització s'executarà cada vegada que el bucle s'itera.
  • La declaració d'iteració del bucle for s'executarà després del cos del bucle for. Al contrari, com que la sentència d'iteració es pot escriure en qualsevol part del cos del bucle while, pot haver-hi algunes sentències que s'executen després d'executar la instrucció d'iteració al cos del bucle while.

Conclusió

Per tant, els bucles són una col·lecció d'ordres que s'han d'utilitzar en un ordre específic. Si l'estructura del bucle és incorrecta, la programació mostrarà l'error de sintaxi. Els bucles s'executen per obtenir un resultat o per satisfer una condició o conjunt de condicions. És la base de tots els llenguatges de programació.

quadre de llista java

Durant l'execució, l'estructura del bucle fa una pregunta i s'executa fins que la resposta és satisfactòria. La mateixa pregunta es fa una i altra vegada fins que s'aplica la nova declaració. El procés de bucle continua indefinidament fins que el programa arriba a un punt d'interrupció. En cas que no s'arribi al punt de ruptura, el programa es bloquejarà.

Els bucles for i while són ambdós declaracions condicionals. Un bucle for és una ordre d'una sola línia que s'executarà repetidament. Mentre que els bucles poden ser d'una sola línia o contenir diverses ordres per a una sola condició.

Tant el bucle for com el bucle while són importants en llenguatges informàtics per obtenir resultats. La condició es compleix si la sintaxi de l'ordre és correcta.

Tant el bucle for com el bucle while són declaracions d'iteració, però tenen característiques diferents. El bucle for declara tot (inicialització, condició, iteració) a la part superior del cos del bucle. En canvi, només la inicialització i la condició es troben a la part superior del cos del bucle en un bucle while, i la iteració es pot escriure a qualsevol part del cos del bucle.