do..while

Los bucles do..while son muy similares a los bucles while , excepto que las condiciones se comprueban al final de cada iteración en vez de al principio . La principal diferencia frente a los bucles regulares while es que se garantiza la ejecución de la primera iteración de un bucle do..while ( la condición se comprueba sólo al final de la iteración) , mientras que puede no ser necesariamente ejecutada con un bucle while regular (la condición se comprueba al principio de cada iteración , si esta se evalúa como FALSE desde el principio la ejecución del bucle finalizará inmediatamente ) .

Hay una sola sintaxis para los bucles do..while :






El bucle de arriba se ejecutaría exactamente una sola vez , después de la primera iteración , cuando la condición se comprueba , se evalúa como FALSE ( $i no es más grande que 0 ) y la ejecución del bucle finaliza .

Los usuarios avanzados de C pueden estar familiarizados con un uso distinto del bucle do..while , para permitir parar la ejecución en medio de los bloques de código , encapsulandolos con do..while ( 0 ) , y usando la sentencia break . El siguiente fragmento de código demuestra esto :

 
do

 
{

 
if

 
($i

 
5

 
)

 
{

 
print

 
"i

 
no

 
es

 
lo

 
suficientemente

 
grande"

 
;

 
break

 
;

 
     }

 
$i

 
*=

 
$factor

 
;

 
if

 
($i

 
$minimum_limit

 
)

 
{

 
break

 
;

 
     }

 
print

 
"i

 
es

 
correcto"

 
;

 
...procesa

 
i..

 
.

 
}

 
while(0)

 
;





No se preocupes si no entiende esto completamente o en absoluto . Se pueden codificar archivos de comandos e incluso archivos de comandos potentes sin usar esta ' propiedad ' .