Programación PIC en C

 

Volver al índice

 

Bucle for()

En el ejemplo de la tabla de multiplicar utilizamos el bucle while para obtener los diez valores de la tabla, y si recordáis necesitábamos una variable de control que teníamos que inicializar antes de entrar en el bucle, comprobar el valor de la variable para la continuación en el bucle y la modificación posterior de la variable de control para poder salir del bucle en un momento determinado.

 

Pues bien, casi siempre que se hace algo, C proporciona frecuentemente un modo más compacto de hacer lo mismo.

 

El bucle for permite indicar estos tres elementos en un solo lugar, al principio del bucle, facilitando así la obtención de un código compacto, pero legible. Veamos cual es su sintaxis:

 

Sintaxis del bucle for

 

En un bucle for, el paréntesis que acompaña a la palabra reservada for generalmente contiene tres expresiones: Expresión 1; inicializa la variable ó variables de control del bucle. Expresión 2; representa la condición de continuación en el bucle. Expresión 3; modifica el valor de las variables de control en cada iteración del bucle.

Los puntos y comas que separan cada expresión son obligatorios.

 

Vamos a ver un ejemplo donde se muestran las diferentes posibilidades de que disponemos cuando utilicemos el bucle for:

 

 

Ejemplo bucle for()

 

Comentario

1º bucle for:

 

indice=1, inicializa a la variable de control del bucle. La segunda expresión, indice<=VAL_MAX, representa la condición de continuación. Por último, la tercera expresión, indice++, utiliza el operador de incremento para modificar a la variable de control en cada iteración del bucle.

Los pasos que sigue la sentencia for son los siguientes:

 

1. indice es la variable de control. Se inicializa a 1

2. se testea la condición de expresión_2.

3. se ejecutan las sentencias

4. la variable de control indice se incrementa en uno

5. si se cumple que indice<=VAL_MAX va al paso 3. Si no va al paso 6.

6. Finalizará la ejecución cuando indice=20

 

 

2º bucle for

 

Bucle for con varias variables de control, las variables tienen que ir separadas por comas. En este caso tenemos las variables x e y, aunque podemos poner todas las que queramos, ambas variables son inicializadas dentro de la sentencia for.

 

3º bucle for

 

Cuando el bucle for se escribe sin cuerpo sirve por ejemplo para generar retardos, esta posibilidad la utilizaremos poco con este compilador ya que incluye funciones específicas de retardo.

 

4º bucle for

 

El bucle for permite no incluir las expresiones 1 y 3, aunque los puntos y comas son obligatorios ponerlos. En este caso se asemeja mucho a un bucle while.

 

5º bucle for

 

Se puede crear un bucle infinito por medio de la expresión for(;;).

Podemos salir de un bucle infinito por medio de la sentencia break, cuando se encuentra en cualquier lugar dentro del cuerpo de un bucle da lugar a la terminación inmediata de este, en el caso del ejemplo saldremos del bucle cuando pulsemos la letra ‘v’. Las sentencias de salto las veremos más adelante.

 

La salida del programa será la siguiente:

 

 

Salida del ejemplo del bucle for ()

 

El código fuente lo tenéis aquí.

 

Como veis el lenguaje C posee mucha flexibilidad y se puede hacer una misma cosa de varias formas. Según el caso será más cómodo y legible utilizar una sentencia que otra.

 

Como ejercicio podéis hacer la tabla de multiplicar de un número utilizando el bucle for.

 

Un saludo

 

Volver al índice

 

© 2007-2017 AquiHayapuntes.com