05. Paso a Paso C/C++ — Programación en C - Instrucciones de Bucle
- Instrucción de Ramificación - goto
- Instrucciones de Bucle
for
while
do..while
1. Instrucción de Ramificación
goto
Transfiere el puntero de control de un lugar a otro en el programa actual.
| | Sintaxis:
Nota: El nombre de la etiqueta debe definirse con dos puntos (:) y no debe exceder más de 32 caracteres de longitud.
| | Ej.
abc:
printf(“Hola”);
goto abc; |
/ 01. Un programa de demostración para ilustrar la instrucción goto /
/ 19_goto.c /
#include
int main()
{
abc: / Nombre de la etiqueta /
printf(“\nHola”);
goto abc; / instrucción de ramificación /
return 0;
}
/ 07. La ejecución continua se detendrá con una variable de carga y una instrucción condicional /
/ Encuentra la diferencia entre el último programa y este, anota todas las diferencias en este programa/
/ 20_goto.c /
#include
int main()
{
int i = 1;
abc:
printf(“\nHola”);
i ++;
if ( i<= 10 ) / Ten cuidado con esta instrucción /
goto abc;
return 0;
}
2. Instrucciones de Bucle
for
Una instrucción iterativa para ejecutar un bloque de instrucciones un número de veces.
| | Sintaxis:
for( ; ; )
{
} |
| | Ej.
for(I=1;I<=10; I++)
printf("\n%d",i); |
| | Ej.
for(I=1, j = 0; I<10; I+=2, j+=2)
printf("%d %d\n", i, j); |
/* 08. Para imprimir un mensaje 5 veces */
/* 21_for.c */
#include
int main()
{
int i;
for(i = 1; i <= 5; i++ )
printf("\nHola");
return 0;
}
/* 09. Para imprimir un mensaje con su conteo hasta 5 veces */
/* 22_hello.c */
#include
int main()
{
int i;
for(i = 1; i <= 5; i++ )
printf("\nHola - %d", i);
return 0;
}
/* 10. Para imprimir los números naturales del 1 al 10 */
/* 23_nat.c */
#include
int main()
{
int i;
for(i = 1; i <= 10; i++ )
printf("\n%d", i); /* Mensaje de eliminación */
return 0;
}
/* 11. Para imprimir la segunda tabla de multiplicar */
/* Nota: Compárala con el último programa */
/* 24_table.c */
#include
int main()
{
int i;
for(i = 1; i <= 20; i++ )
printf("\n%d * 2 = %d", i, i * 2);
return 0;
}
/* 12. Para imprimir una tabla de multiplicar para el número dado */
/* 25_tablen.c */
#include
#include
int main()
{
int i, t; /* una nueva variable 't' */
clrscr();
printf("¿Qué tabla imprimir:"); scanf("%d", &t);
for(i = 1; i <= 20; i++ )
printf("\n%d * %d = %d", i, t, i * t);
return 0;
}
/* 13. Para imprimir una tabla de multiplicar para el número dado */
/* Nota: Compárala con el último programa */
/* 26_tablen.c */
#include
int main()
{
int i, t;
clrscr();
for(t = 1; t <= 20; t++) /* Un bucle for más */
for(i = 1; i <= 20; i++ )
printf("\n%d * %d = %d", i, t, i * t);
return 0;
}
/* 14. Para imprimir números en forma de triángulo */
/* Nota: Compárala con el último programa */
/* 27_tri.c */
#include
int main()
{
int i, j;
clrscr();
for( i = 1 ; i<= 5; i++ )
{
for( j = 1; j <= 5; j++ )
printf("%4d", j);
printf("\n");
}
return 0;
}
Algunos ejemplos más de bucles for:
| | /* Bucle Infinito */
for ( ; ; )
{
printf("\nHola");
} | /* Imprimir números del 1 al 5 */
for ( i=1; i<=5; )
{
printf("\n%d", i++);
} |
| | /* Bucle de ruptura explícito*/
for ( i=1; ; )
{
printf("\n%d", i++);
if ( i> 5 ) break;
} | int i = 1;
for ( ;i<=5 ; )
{
printf("\n%d", i++);
} |
while
Una instrucción iterativa para ejecutar un bloque de instrucciones hasta que se cumpla la condición dada.
do.. while
Esta instrucción iterativa ejecuta el bloque de instrucciones al principio y luego verifica la validez de la condición. Si la condición es verdadera, ejecuta el bloque de instrucciones nuevamente y viceversa.
| | Sintaxis:
while( < condición > )
{ ; } | Sintaxis:
do
{ } while(); |
Ej.
El siguiente ejemplo muestra números naturales del 1 al 10.
| | int main()
{
int i=1;
while( i<=10)
{
printf("\n%d",i);
i++;
}
return 0;
} | int main()
{
int i=1;
do
{
printf("\n%d",i);
i++;
}while(i<=10);
return 0;
} |
| | Primero verifica la condición y luego ejecuta el bloque, Por lo que debes tener un valor inicial para la condición | Ejecuta el bloque primero y verifica la condición después, Puedes determinar el valor inicial en el bloque de instrucciones. |
Más Ejemplos
| | /* 15. Para imprimir números del 1 al 5 */
/* Nota: Es un programa de referencia */ /* 28_while.c */
#include
int main()
{
int i;
i = 1; /* El valor inicial es 1 */
while( i<= 10 )
/* Verdadero, i es menor o igual a 10 al principio */
{
printf("\n%d", i);
i ++;
}
return 0;
} | /* 16. Para imprimir números del 1 al 5 */
/* 29_dowhile.c */
#include
int main()
{
int i;
i = 1; /* El valor inicial es 1 */
do
{
printf("\n%d", i);
i ++;
}while( i<=10 );
/* Verdadero, i es menor o igual a 10 en el segundo */
return 0;
} |
| | /* 17. Demostración de while */
/* Nota: Si el valor inicial es 100, ¿cuál fue la salida?, Verifícalo. */ /* 30_demow.c */
#include
int main()
{
int i;
i = 1;
while( i<= 10 )
{
printf("\n%d", i);
i++;
}
return 0;
} | /* 18. Demostración de do */
/* Nota: Si el valor inicial es 100, ¿cuál fue la salida?, Verifícalo. */
/* 31_demod.c */
#include
int main()
{
int i;
i = 1;
do
{
printf("\n%d", i);
i++;
}while( i<= 10 );
return 0;
} |