Tabla de contenido:
Video: Programacion en C Parte 2 Control de flujo de un programa 2025
Parte de C ++ para Dummies Cheat Sheet
Las siguientes estructuras de C ++ dirigen el flujo de control a través del programa. Si usted es un programador experimentado, la función de estas estructuras será familiar desde otros idiomas.
IF
El siguiente comando evalúa booleanExpression. Si se evalúa como verdadero, el control pasa a expressions1. Si no, el control pasa a las expresiones opcionales2.
if (booleanExpression) {expressions1;} [else {expressions2;}]
WHILE
El siguiente comando evalúa booleanExpression. Si esto se evalúa como verdadero, el control pasa a expresiones. Al final del bloque, el control vuelve a booleanExpression y repite el proceso.
while (booleanExpression) {expressions;}
DO … WHILE
El siguiente comando ejecuta expresiones. Luego evalúa booleanExpression. Si esto se evalúa como verdadero, el control vuelve a la parte superior del ciclo y repite el proceso.
do {expressions;} while (booleanExpression);
PARA
El siguiente comando ejecuta initCommand que puede ser una expresión o una declaración de variable. Luego evalúa boolExpression. Si esto se evalúa como verdadero, el control pasa a expressions1. Si boolExpression es falso, el control pasa a la primera instrucción después de la llave cerrada del bucle for. Una vez que las expresiones se completan, el control pasa a la expresión contenida en loopExpression antes de regresar a boolExpression para repetir el proceso. Si initCommand declara una nueva variable, queda fuera del alcance tan pronto como el control pasa fuera del ciclo.
for (initCommand; boolExpression; loopExpression) {expressions;}
FOR (CADA UNO)
La norma 2011 introduce una segunda forma de ciclo for a veces conocido como "para cada uno" porque de su similitud con el foreach encontrado en algunos otros idiomas. De esta forma, la variable declarada en declaración toma el valor del primer miembro de la lista y ejecuta el bloque de expresiones. Cuando se completa, la variable declarada toma el segundo valor de la lista y ejecuta las expresiones nuevamente. Este proceso se repite para cada valor en la lista.
for (declaration: list) {expressions;}
SWITCH
El siguiente comando evalúa integerExpression y compara el resultado con cada uno de los casos enumerados. Si se encuentra que el valor es igual a uno de los valores integrales constantes, val1, val2, etc., el control pasa al conjunto de expresiones correspondiente y continúa hasta que el control encuentra un corte.Si la expresión no es igual a ninguno de los valores, el control pasa a las expresionesN siguiendo el valor predeterminado.
switch (integerExpression) {case val1: expressions1; descanso; caso val2: expresiones2; descanso; [predeterminado: expressionsN;]}
BREAK, CONTINUE, GOTO
A continue pasa el control al final de la llave cerrada de cualquiera de los controles de bucle. Esto hace que el ciclo continúe con la siguiente iteración. Por ejemplo, el siguiente ciclo procesa números primos entre 1 y 20:
para (int i = 0; i <20; i ++) {// si el número no es primo … if (! IsPrime (i)) {/ / … saltar al siguiente valor de i continue;} // continuar con el procesamiento}
Un salto pasa el control a la primera instrucción después del corsé cerrado de cualquiera de los comandos de bucle. Esto hace que la ejecución salga del ciclo inmediatamente. Por ejemplo, lo siguiente lee caracteres hasta que se encuentra el final del archivo:
while (true) {// lee una línea de entrada de entrada de objeto >> línea; // si ocurre una falla o fin de archivo … if (cin. eof () || cin. fail ()) {// … luego salga del bucle;} // procese la línea}
A goto la etiqueta pasa el control a la etiqueta proporcionada. El ejemplo de ruptura anterior podría haberse escrito de la siguiente manera:
while (true) {// lee una línea de entrada de entrada de objeto >> línea; // si ocurre una falla o fin de archivo … if (cin. eof () || cin. fail ()) {// … luego salga del bucle goto exitLabel;} // procese la línea} exitLabel: // el control continúa aquí
