● El orden por omisión de ejecución en un programa de C es descendente. La ejecución comienza al principio de la función main(), y avanza enunciado por enunciado hasta que se llega al final de main().
● Sin embargo, este orden rara vez se encuentra en los programas de C reales.
● El lenguaje C incluye una variedad de enunciados para el control del programa, que le permiten controlar el orden de la ejecución del programa.
EL ENUNCIADO for
● Es una construcción de programación del C que ejecuta un bloque de uno o más enunciados una determinada cantidad de veces (también conocido como ciclo for).
Estructura
for (inicial; condición; incremento)
enunciado
● Inicial, condición e incremento son expresiones del C, y enunciado es un enunciado simple o compuesto del C.
● Cuando se encuentra un enunciado for durante la ejecución del programa, suceden los siguientes eventos:
1.La expresión inicial es evaluada. Lo inicial es por lo general un enunciado de asignación que pone una variable a un valor determinado.
2. La expresión de condición es evaluada. La condición es típicamente una expresión relacional
3. Si la condición evalúa a falso (esto es, a cero), el enunciado for termina, y la ejecución pasa al primer enunciado que se encuentra a continuación del enunciado del for.
4. Si la condición evalúa a cierto (esto es, diferente de cero), se ejecutan los enunciados que se encuentran dentro del for
5. La expresión de incremento es evaluada y la ejecución regresa al paso 2.
#include <stdio.h>
int contador;
main()
{ /*Imprime números del 1 al 20*/
for(contador=1; contador<=20; contador++)
printf(“\n%d”,contador);
}
¿Para que se usa el Enunciado for ?
● Es usado para contar, incrementando un contador de un valor a otro; aunque también se le puede usar para “contar al revés”, disminuyendo en vez de incrementar la variable del contador.
for(contador=100; contador>0; contador--)
● También se puede incrementar en un valor diferente de 1
for(contador=0; contador<1000; contador+=5)
● El enunciado for es bastante flexible, por ejemplo se puede omitir la expresión de inicialización si la variable que se ha de probar ha sido inicializada anteriormente en el programa.
contador=1;
for( ; contador<1000; contador++)
● Ejemplo1:
/*Imprime el valor de x al tiempo que cuenta de 0 a 9*/
int x;
for(x=0; x<10; x++)
printf(“\n El valor de x es %d”, x);
● Ejemplo2:
/*Pide cifras al usuario hasta que se teclea 99*/
int num=0;
for( ; num!=99; )
scanf(“%d”,&num);
Tarea
● Elabora un programa que permita al usuario imprimir cualquier tabla de multiplicar que desee.
Enunciados for Anidados
● Un enunciado for puede ser ejecutado dentro de otro enunciado for. A esto se le llama anidado.
#include <stdio.h>
void draw_box(int row, int column);
main()
{
draw_box(8, 35);
}
void draw_box(int row, int column){ int col; for( ; row>0; row--) { for(col=column; col>0; col--) printf(“X”); printf(“\n”); }}
ENUNCIADO WHILE
● También llamado ciclo While, ejecuta un bloque de enunciados en tanto una condición específica sea cierta
while( condición )
enunciado
● Condición: es cualquier expresion de C● Enunciado: es un enunciado de C simple o
compuesto.
● Cuando la ejecución del programa llega al anunciado while suceden los siguientes eventos.
1)Es evaluada la expresión de la condición.
2)Si la condición evalúa a falso (cero), el enunciado while termina, y la ejecución pasa al primer enunciado que se encuentre a continuación de los enunciados del while.
3)Si la condición evalúa a cierto(diferente de cero), se ejecutan los enunciados C del while.
4)La ejecución regresa al paso 1.