logo

Bucle For vs. While en C

Comprender la diferencia entre un bucle for y un bucle while

Las declaraciones de iteración en C++, como los bucles for, while y do- while, permiten que un conjunto de instrucciones se ejecuten repetidamente hasta que la condición sea verdadera y luego finalicen cuando la condición sea falsa. Las declaraciones de iteración pueden tener condiciones predefinidas, como en un bucle for, o condiciones abiertas, como en un bucle while.

En C++, se implica una variedad de variaciones de bucles 'for' para aumentar la aplicabilidad, potencia y flexibilidad del lenguaje. Por ejemplo, el bucle for nos permite controlar el bucle utilizando múltiples variables dentro de él, así como el uso de la función convergente con el bucle 'for'. Por el contrario, no podemos utilizar muchas variaciones con el bucle while; debe usarse con la sintaxis estándar.

Existen algunas diferencias significativas entre los bucles for y while, que se explican con más detalle mediante un cuadro comparativo.

Bucle For vs. While en C

For Loop se define como

Hay dos tipos de bucles for en Java. La primera es la forma 'tradicional', mientras que la segunda es la forma 'para cada uno'.

La forma más general de una declaración de bucle for.

 for (initialization; condition; iteration) { //body of for loop } 
    Inicialización:La variable de control del bucle for solo se inicializa una vez, durante la primera iteración del bucle. Aquí se inicializa la variable de control del bucle; Si la variable del bucle nunca se vuelve a utilizar en el programa y sólo se utiliza como variable de control del bucle, se declara e inicializa en el bucle 'for'.Condición:La condición del bucle 'for' se ejecuta cada vez que se itera el bucle.
  • La declaración de iteración es una expresión que incrementa o disminuye la variable de control del bucle.

Cuando se ejecuta el bucle, primero se ejecuta la condición de inicialización, seguida de la verificación de condición. Si se cumple la condición, se ejecuta el cuerpo del bucle, seguido de la declaración de iteración. Luego, la condición se verifica nuevamente para determinar si el bucle se repetirá más o terminará.

En Java, las declaraciones de inicialización e iteración pueden contener varias declaraciones. Una coma separa cada declaración; en Java, una coma es un separador; En C++, una coma es un operador que se puede utilizar en cualquier expresión válida.

conjunto mecanografiado

La sintaxis del bucle for-each.

El formulario 'para cada' es una versión más avanzada del bucle for. El bucle para cada toma la siguiente forma general.

 for(type iter_variable: collection) statement-block 

El parámetro 'tipo' especifica el tipo de variable de iteración, seguida de la variable de iteración. El elemento de la variable de colección se pasará a la variable de iteración. El tipo debe coincidir con el tipo de elementos de la variable de colección. La forma for-each del bucle for automatiza la iteración del bucle de principio a fin, accediendo a los valores en orden secuencial.

Ejemplo

Hay varios tipos de colecciones que se pueden utilizar con un bucle for. Hablemos de ello usando una matriz como colección.

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

Producción:

 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' es una variable de iteración en este caso; recibe los valores de array[], uno por uno, desde el índice más bajo al más alto de la matriz. El bucle se repite hasta que se examinan todos los elementos de la matriz. El bucle se puede romper por la mitad usando 'break'. El cambio en la variable de iteración, por otro lado, no tiene ningún efecto en la matriz porque es una variable de solo lectura.

Mientras que el bucle se define como

El bucle while es el bucle más básico tanto en C++ como en Java. La operación de un bucle while es similar en C++ y Java.

Sintaxis

La siguiente es la declaración del bucle while:

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

El bucle while primero verifica la condición y luego ejecuta las declaraciones hasta que la condición en el bucle while sea verdadera. En un bucle while, la condición puede ser cualquier expresión booleana. Cuando una expresión devuelve un valor distinto de cero, la condición es verdadera; cuando devuelve un valor cero, la condición es falsa.

Si la condición es verdadera, el bucle se repite; si la condición es falsa, el control se pasa a la línea de código que sigue inmediatamente al ciclo. El bucle del cuerpo o las declaraciones pueden ser una declaración vacía, una sola declaración o un bloque de declaraciones.

Ejemplo

Veamos cómo funciona un bucle while. El código del siguiente ejemplo se imprimirá del 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)>

En la parte superior del bucle, se inicializa la variable de control 'ch' y se verifica la condición del bucle.

Nota: Si solo hay una declaración en el cuerpo del bucle, ya sea un bucle for o un bucle while, las llaves no son necesarias.

En C, ¿cuál es la diferencia entre un bucle for y while?

Parámetros En bucle Mientras bucle
Declaración for(inicialización; condición; iteración) {
//cuerpo del bucle 'for'
}
inicialización
mientras (condición) {
declaraciones;
//cuerpo del bucle
}
Formato. En la parte superior del ciclo, se escriben declaraciones de inicialización, verificación de condiciones e iteración. En la parte superior del ciclo, solo se realizan la inicialización y la verificación de condiciones.
Usar. El bucle 'for' sólo se utilizaba cuando ya se conocía el número de iteraciones. Cuando se desconoce el número de iteraciones, se utiliza el bucle ' while'.
Condición. Si la condición no está incluida en el bucle 'for', el bucle se repite indefinidamente. Si la condición no se incluye en el bucle ' while', se produce un error de compilación.
Inicialización La inicialización nunca se repite en un bucle 'for'. Si la inicialización se realiza durante la verificación de condiciones en un bucle while, la inicialización se realiza cada vez que el bucle se itera.
afirmación de iteración Debido a que la declaración de iteración en el bucle 'for' se escribe en la parte superior, se ejecuta sólo después de que se hayan ejecutado todas las declaraciones del bucle. La declaración de iteración en un bucle ' while' se puede escribir en cualquier parte del bucle.

Las diferencias clave entre el bucle for y while

  • La inicialización, la verificación de condiciones y el incremento o disminución de las variables de iteración se realizan explícitamente únicamente en la sintaxis del bucle. Por el contrario, en el bucle while, sólo podemos inicializar y comprobar la condición en la sintaxis del bucle.
  • Cuando sabemos el número de iteraciones que deben ocurrir en la ejecución de un bucle, utilizamos el bucle for. Por otro lado, si no sabemos cuántas iteraciones deben ocurrir en un bucle, utilizamos un bucle while.
  • Si no incluye una declaración de condición en el bucle for, el bucle se repetirá indefinidamente. Por el contrario, si no se incluye una declaración de condición en el bucle while se producirá un error de compilación.
  • La declaración de inicialización en la sintaxis del bucle for solo se ejecuta una vez al comienzo del bucle. Si la sintaxis del bucle while incluye una declaración de inicialización, la declaración de inicialización se ejecutará cada vez que el ciclo se repita.
  • La declaración de iteración en el bucle for se ejecutará después del cuerpo del bucle for. Por el contrario, debido a que la declaración de iteración se puede escribir en cualquier parte del cuerpo del ciclo while, es posible que algunas declaraciones se ejecuten después de que se ejecute la declaración de iteración en el cuerpo del ciclo while.

Conclusión

Por tanto, los bucles son una colección de comandos que deben usarse en un orden específico. Si la estructura del bucle es incorrecta, la programación mostrará el error de sintaxis. Los bucles se ejecutan para obtener un resultado o para satisfacer una condición o conjunto de condiciones. Es la base de todos los lenguajes de programación.

Durante la ejecución, la estructura del bucle hace una pregunta y se ejecuta hasta que la respuesta sea satisfactoria. Se hace la misma pregunta una y otra vez hasta que se aplica la nueva afirmación. El proceso de bucle continúa indefinidamente hasta que el programa alcanza un punto de interrupción. En caso de que no se alcance el punto de ruptura, el programa fallará.

Los bucles for y while son declaraciones condicionales. Un bucle for es un comando de una sola línea que se ejecutará repetidamente. Los bucles while pueden tener una sola línea o contener múltiples comandos para una sola condición.

Multiplexor 2 a 1

Tanto el bucle for como el bucle while son importantes en los lenguajes informáticos para obtener resultados. La condición se cumple si la sintaxis del comando es correcta.

Tanto el bucle for como el bucle while son declaraciones de iteración, pero tienen características distintas. El bucle for declara todo (inicialización, condición, iteración) en la parte superior del cuerpo del bucle. Por el contrario, en un bucle while, solo la inicialización y la condición están en la parte superior del cuerpo del bucle, y la iteración se puede escribir en cualquier parte del cuerpo del bucle.