020 Sentencia Break Y Continue en Php Falconmasters
4.6) Sentencias que rompen ciclos.

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.
La sentencia continue :
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:
La sentencia exit() :
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á:
- Ejemplo.
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:
- Hemos de decir, sin embargo, que hay situaciones esporádicas en las que se hace útil, no obstante no conviene cojerlo como norma.
Ejemplos de 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.
- Ejemplo 1: (con un bucle while).
............
............
scanf("%f", &x);
- while (x<=100) {
- if (x<0) {
- printf("ERROR - VALOR NEGATIVO DE X");
break;
/* procesar el valor no negativo de x, en este punto sabemos que dicha variable no es negativa, ya que si lo fuera, hubiésemos entrado en el if y hubiésemos salido del bucle con el break*/
.........
scanf("%f", &x);
}
Ejemplo 2: (con un bucle do-while).
............
............
- do {
- scanf("%f", &x);
if (x<0) {
- printf("ERROR - VALOR NEGATIVO DE X");
break;
/* procesar el valor no negativo de x */
.........
} while (x<=100);
Ejemplo 3: (con un bucle for semejante).
............
............
- for(cont=1; x<=100; ++cont) {
- scanf("%f", &x);
if (x<0) {
- printf("ERROR - VALOR NEGATIVO DE X");
break;
/* procesar el valor no negativo de x */
.........
}
- Ejemplo de sentencia continue:
Ejemplo 1:(con un bucle for).
- #include <stdio.h>
main() {
- char ch;
for (ch=getch(), ch!=0; ch=getch()) {
- if (ch=='a' || ch=='a' || ch=='a' || ch=='a' || ch=='a' )
- continue;
- NOTA: getch() asigna a ch el valor que le introduzcamos por la consola, pero no lo visualiza.
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.
- Ejemplo 2: (con un bucle do-while)
............
............
- do {
- scanf("%f", &x);
if (x<0) {
- printf("ERROR - VALOR NEGATIVO DE X");
continue;
/* procesar el valor no negativo de x */
.........
} while (x<=100);
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:
- /*bucle principal*/
scanf("%f",&x);
while(x<=100) {
- .........
.........
if(x<0) goto error;
........
........
scanf("%f",&x);
............
............
/*rutina de deteción de error*/
- error: {
- printf("ERROR - VALOR NEGATIVO DE X");
............
............
}
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 .
williamswrinke1952.blogspot.com
Source: https://ccia.ugr.es/~jfv/ed1/c/cdrom/cap4/cap46.htm
0 Response to "020 Sentencia Break Y Continue en Php Falconmasters"
Post a Comment