Se utiliza
para salir de un bucle (while,
do-while
o for), cuando
se da alguna condición especial. Cuando se ejecuta esta sentencia,
el control del programa pasa inmediatamente a la instrucción siguiente
al bucle. La escribimos simplemente poniendo:
![]() |
|
![]() |
Esta sentencia ya fue vista con el switch,
en el cual era empleada para saltarse el resto de las posibilidades, cuando
ya habíamos entrado en una.
Fuerza a que comience una nueva vuelta
dentro de la estructura correspondiente. Dentro de los ciclos
while, y
do-while, se evalúa la condición
de salida; en el for,
se efectúa un salto a la expresión de incremento.
Se utiliza para saltarse el resto de
la pasada actual a través de un bucle. El bucle no termina cuando
se encuentra una sentencia continue,
sencillamente no se ejecutan las sentencias que se encuentren a continuación
en él, y se salta directamente a la siguiente pasada a través
del bucle.
Para usarse basta poner:
![]() |
|
![]() |
Esta función devuelve
el control al sistema operativo o a cualquier otro proceso anterior. La
función permite devolver un valor indicando si es una terminación
errónea o correcta. Esta función, incluida en <stdlib.h>
tiene la siguiente sintaxis:
![]() |
|
![]() |
Lo que realiza dicho de
otra forma es, cerrar todos los archivos y buffers y termina el programa.
El valor de status lo
recibe el proceso que realizó la llamada al programa, y me indica
el estado de terminación.
La sentencia goto
se
utiliza para alterar la secuencia de ejecución normal del programa,
transfiriéndose el control a otra parte de él. En su forma
general, la sentencia goto
se escribe
![]() |
|
![]() |
en donde etiqueta es un identificador que se utiliza para señalar la sentencia a la que se transferirá el control. Se puede transferir el control a cualquier otra sentencia del programa. La sentencia por la que vamos a continuar ha de encontrarse etiquetada, y dicha etiqueta ha de encontrarse seguida por dos puntos (:). Por tanto aparecerá: |
![]() |
|
![]() |
Hemos de decir ante todo que aunque todos los lenguajes de
propósito general populares poseen la sentencia goto,
NO
ES ACONSEJABLE SU USO, ya que los elementos
estructurados de C permiten realizar todas estas operaciones sin tener
que recurrir a la sentencia
goto,
sus usos más habituales van en tres direcciones fundamentalmente:
![]() |
Bifurcar a sentencias o grupos de sentencias bajo determinadas condiciones. Esto se puede conseguir con la sentencia if-else. |
![]() |
Saltar al fin de un bucle en determinadas condiciones, no ejecutándose por tanto el resto del bucle en la pasada actual. Esto lo podemos conseguir con la sentencia continue. |
![]() |
Finalizar totalmente la ejecución de un bucle bajo determinadas condiciones. Esto lo podemos conseguir con la sentencia break. |
El ejemplo que se muestra a continuación
está realizado para los tres tipos de bucles, éste continuará
mientras el valor actual de la variable de coma flotante x
no sea mayor que 100. Sin embargo, se saldrá del bucle si se detecta
un valor de x
negativo.
............
............
scanf("%f", &x);
Ejemplo 2: (con un bucle do-while).
............
............
Ejemplo 3: (con un bucle for semejante).
............
............
Ejemplo 1:(con un bucle for).
main() {
Si entro en el if ejecutaré continue, la cual me llevará a la expresión de incremento del for, para seguidamente comprobar de nuevo la condición. |
............
............
En este ejemplo tras entrar en el if y ejecutar continue, pasaré a evaluar la condición de salida: (x<=100), en este caso (de entrar en el if) no se ejecutará la parte en la que se procesa el valor actual de x si éste es negativo. |
NOTA: Darse
cuenta de las diferencias que hay con el break.
Ejemplo 1: Este ejemplo trata de transferir el control fuera de un bucle si se da una condición inesperada:
Como vemos transferimos el control fuera del bucle while, a la sentencia compuesta con la etiqueta error, si se detecta un valor negativo de la variable x. Como vemos esto mismo lo podíamos haber hecho usando la sentencia break. |