2.2 ESTRUCTURAS CONDICIONALES
Sentencia If
● Los operadores relacionales se emplean
principalmente para construir las expresiones
relacionales que se usan en los enunciados If
y While.
¿ Como funciona ?
● El enunciado If evalúa una expresión, y dirige la
ejecución del programa dependiendo del
resultado de esa evaluación.
if (expresión)
enunciado
● Si la expresión evalúa cierto, se ejecuta el
enunciado.
● Si la expresión evalúa falso, el enunciado no
se ejecuta.
● En cualquier caso, la ejecución continúa al
código que se encuentra a continuación del
enunciado if.
Ejercicio
Si x=4, y=6 y z=2, determina si cada uno de los
siguientes enunciados evalúa a cierto o Falso.
● if (x == 4)
● if (x != y-z)
● if (z = 1)
● if (y)
Operadores lógicos de C
(exp1 && exp2) Cierto(1), solo si ambos son
ciertos,en caso
contrario,falso(0)
(exp1 || exp2) Cierto(1), si cualquiera de exp1
y exp2 es cierto. En
caso contrario falso
(!exp1) Falso(0), si exp1 es cierto, y
cierto(1) si exp1 es falso
Ejemplos
● (5==5) && (6!=2) Cierto(1)
● (5>1) || (6<1) Cierto(1)
● (2==1) && (5==5) Falso(0)
● !(5==4) Cierto(0)
SINTAXIS
if(x==3)
{
d=x++;
}
else
{
d=x--;
}
La Sentencia Switch
● Con la estructura if ... else if, se pueden realizar
comprobaciones múltiples, aunque en ocasiones
no es muy elegante, ya que el código puede ser
difícil de seguir y puede confundir incluso al autor
transcurrido un tiempo.
● Por lo anterior, C tiene incorporada una sentencia
de bifurcación múltiple llamada switch.
Ejemplo
switch(expresión)
{
case plantilla_1: enunciado(s);
case plantilla_2: enunciado(s);
….
case plantilla_n: enunciado(s);
default: enunciado(s);
}
● En este enunciado expresión es cualquier
expresión que evalúa a un valor entero: tipo
long, int o char.
● El enunciado switch evalúa la expresión, y
compara el valor contra las plantillas que
están a continuación de cada etiqueta case.
● Si hay concordancia entre la expresión y
alguna de las plantillas, la ejecución es
transferida al enunciado que esta a
continuación de la etiqueta case.
● Si no hay concordancia, la ejecución es
transferida al enunciado que está a
continuación de la etiqueta opcional default.
● Si no hay concordancia ni etiqueta default, la
ejecución pasa al primer enunciado que está a
continuación de la llave de cierre del
enunciado switch.
● El enunciado switch permite múltiples
ramificaciones con una sola expresión.
● Es más eficiente y fácil de seguir que un
enunciado if de varios niveles.
● Si ninguna plantilla concuerda con el resultado
de la expresión, el control pasa al enunciado
default. Si no hay enunciado default, el control
pasa al final del enunciado switch.
● El flujo del programa continúa a partir del
enunciado case, a menos que se encuentre
un enunciado break. Si se encuentra un
enunciado break, el control pasa al final del
enunciado switch.

2.2 Estructuras Secuenciales

  • 1.
  • 2.
    Sentencia If ● Losoperadores relacionales se emplean principalmente para construir las expresiones relacionales que se usan en los enunciados If y While.
  • 3.
    ¿ Como funciona? ● El enunciado If evalúa una expresión, y dirige la ejecución del programa dependiendo del resultado de esa evaluación. if (expresión) enunciado
  • 4.
    ● Si laexpresión evalúa cierto, se ejecuta el enunciado. ● Si la expresión evalúa falso, el enunciado no se ejecuta. ● En cualquier caso, la ejecución continúa al código que se encuentra a continuación del enunciado if.
  • 5.
    Ejercicio Si x=4, y=6y z=2, determina si cada uno de los siguientes enunciados evalúa a cierto o Falso. ● if (x == 4) ● if (x != y-z) ● if (z = 1) ● if (y)
  • 6.
    Operadores lógicos deC (exp1 && exp2) Cierto(1), solo si ambos son ciertos,en caso contrario,falso(0) (exp1 || exp2) Cierto(1), si cualquiera de exp1 y exp2 es cierto. En caso contrario falso (!exp1) Falso(0), si exp1 es cierto, y cierto(1) si exp1 es falso
  • 7.
    Ejemplos ● (5==5) &&(6!=2) Cierto(1) ● (5>1) || (6<1) Cierto(1) ● (2==1) && (5==5) Falso(0) ● !(5==4) Cierto(0)
  • 8.
  • 9.
    La Sentencia Switch ●Con la estructura if ... else if, se pueden realizar comprobaciones múltiples, aunque en ocasiones no es muy elegante, ya que el código puede ser difícil de seguir y puede confundir incluso al autor transcurrido un tiempo. ● Por lo anterior, C tiene incorporada una sentencia de bifurcación múltiple llamada switch.
  • 10.
    Ejemplo switch(expresión) { case plantilla_1: enunciado(s); caseplantilla_2: enunciado(s); …. case plantilla_n: enunciado(s); default: enunciado(s); }
  • 11.
    ● En esteenunciado expresión es cualquier expresión que evalúa a un valor entero: tipo long, int o char. ● El enunciado switch evalúa la expresión, y compara el valor contra las plantillas que están a continuación de cada etiqueta case.
  • 12.
    ● Si hayconcordancia entre la expresión y alguna de las plantillas, la ejecución es transferida al enunciado que esta a continuación de la etiqueta case. ● Si no hay concordancia, la ejecución es transferida al enunciado que está a continuación de la etiqueta opcional default.
  • 13.
    ● Si nohay concordancia ni etiqueta default, la ejecución pasa al primer enunciado que está a continuación de la llave de cierre del enunciado switch.
  • 16.
    ● El enunciadoswitch permite múltiples ramificaciones con una sola expresión. ● Es más eficiente y fácil de seguir que un enunciado if de varios niveles. ● Si ninguna plantilla concuerda con el resultado de la expresión, el control pasa al enunciado default. Si no hay enunciado default, el control pasa al final del enunciado switch.
  • 17.
    ● El flujodel programa continúa a partir del enunciado case, a menos que se encuentre un enunciado break. Si se encuentra un enunciado break, el control pasa al final del enunciado switch.