Es un bucle que el lenguaje C nos proporciona para obtener repeticiones de bloques de codigo de manera clara y precisa. su sintaxis es la siguiente:
sintaxis:
for ( inicializacion;condicional;incremento)
{
sentencia1;
sentencia2;
sentencia3;
.
.
.
}
for ( inicializacion;condicional;incremento)
{
sentencia1;
sentencia2;
sentencia3;
.
.
.
}
La inicializacion es usada para dar un valor inicial al contador (que es una variable ya declarada) del bucle for; el condicional es evaluado antes de ejecutar el codigo dentro del bucle y su valor al ser evaluado puede ser TRUE o FALSE, si es TRUE entonces el codigo dentro del bucle for es ejecutado, sin embargo si es FALSE se termina con el bucle for; el incremento es el que se encarga de incrementar la variable contador dentro del bucle for.
Ejemplo:
int a,buscador,hendrix;
for(a=0;a<=30;a++)
{
buscador++;
hendrix--;
output_b(1);
output_b(0);
}
ESTRUCTURA DE CONTROL WHILE
Otro bucle del C. Mientras la expresión sea TRUE se repetira una porción de codigo que esté dentro del bucle while, cuando la espresión evaluada sea FALSE se terminara el bubcle while. Siempre sera evaluada la expresió nantes de seguir ejecutando la porción de código.
sintaxis:
while (expresion)
{
sentencia1;
sentencia2;
sentencia3;
.
.
.
}
Ejmplo:
int a,b;
while( input(PIN_A0) )
{
a++;
b--;
}
while (expresion)
{
sentencia1;
sentencia2;
sentencia3;
.
.
.
}
Ejmplo:
int a,b;
while( input(PIN_A0) )
{
a++;
b--;
}
ESTRUCTURA DE CONTROL DO WHILE
En este caso se combinan el DO con el WHILE, realizando un bucle en el cual se ejecuta primero las sentencias o codigo y luego se evalua la expresión o condicional, de la misma forma que el while y el for, si la expresión evaluada resulta TRUE se continúa con el bucle, de lo contrario, si resulta FALSE se termina con el bucle.
sintaxis:
do
{
sentencia1;
sentencia2;
sentencia3;
.
.
.
}
while (expresion);
Ejmplo:
int i,j;
do
{
i ++;
output_high(PIN_A0)
delay_ms(250);
output_low(PIN_A0)
delay_ms(250);
}
while( input(PIN_B7) );
do
{
sentencia1;
sentencia2;
sentencia3;
.
.
.
}
while (expresion);
Ejmplo:
int i,j;
do
{
i ++;
output_high(PIN_A0)
delay_ms(250);
output_low(PIN_A0)
delay_ms(250);
}
while( input(PIN_B7) );
bonus:
bucle infinito con while:
while(1);
bucle infinito con for:
for(;;);
while(1);
bucle infinito con for:
for(;;);















es muy facil, lo que tienes que hacer es lo siguiente:
