4.1) Estructura if.
     
     

        El formato general de la sentencia if es el siguiente.
     
     
     

     
     

    No olvidemos que: Lo que ponemos entre corchetes [...], indica, opcionalidad.
     

       
       
      La expresión, al evaluarse, debe dar un valor:
         
      falso (igual a cero). Se ejecuta la instrucción siguiente a la estructura if, a menos que aparezca la parte else, en cuyo caso se ejecuta <sentencia-f>.
         
      verdadero (distinto de cero). La expresión ejecuta  la <sentencia-v>.
     
     

    Ejemplos.
     
     
     

    Si se desea que se ejecuten un conjunto de sentencias, se debe de seguir la siguiente sintaxis:
     
     
     
     

     
     

    Ejemplos.

     
     

        La estructura if se puede anidar con otras estructuras if. En este caso, si aparece la parte else, se asociará al último if, osea, se refiere al if más próximo que esté en el mismo bloque que el else y que no esté asociado con otro if.
     
     

    Ejemplos.

     
     



     
     
     

    Ejemplos simples de estructura if:

       

      Ejemplo 1:
       

      if (x < 100) printf("%f",x);

     
    /*Esta sentencia hace que el valor de la variable de coma flotantex se visualice si su valor es menor que 100.*/
       

      Ejemplo 2:
       

      if (estado=='A')

        printf("OK");
      else
        y=0;
      printf("Esto lo hago siempre.");
     
    /* Esta sentencia visualiza la palabra OK, si estado tiene el valor de 'A'; si por el contrario estado no tiene el valor de 'A', entonces, se ejecutará el else, y a la y se le asignará el valor de 0. Fijémonos en que tanto en el caso de irme por el camino del if, como por el camino del else visualizaré el mensaje: Esto lo hago siempre. */
       
       

      Ejemplo 3:

      if ((estado=='A') || (x < 100))

        printf("OK");
      else   y=1;
     
     
    /* Esta sentencia usa una expresión lógica, que visualiza la palabra OK, si estado tiene el valor de 'A' o x es menor que 100; por el contrario si no se cumple ninguna de estas condiciones, nos iremos al else y asignaremos a la variable y el valor de 1.*/
       

     

    Ejemplos de estructura if que ejecuta un conjunto de sentencias:
     

       

      Ejemplo 1:
       

      if (indicador != 0) {

        printf("Válvula abierta");
        x=1;
      }
     
    /* Esta sentencia contiene una sentencia compuesta que se ejecuta si indicador tiene un valor no nulo; fijémonos en que: if (indicador != 0)... equivale a: if (indicador)...*/
       
       

      Ejemplo 2:
       

      if ((estado=='A') || (x < 100)) {

        printf("OK");
        y=1;
      }
     
    /* Esta sentencia usa una expresión lógica, que visualiza la palabra OK, y se asigna a la y el valor de 1, si estado tiene el valor de 'A' o x es menor que 100.*/
       

      Ejemplo 3:
       

      if (estado=='A')

        printf("OK");
      else{
        y=0;
        printf("Esto no lo hago siempre.");
      }
     
    /* Diferenciar el ejemplo 4 de este otro, el mensaje: Esto no lo hago siempre, sólo se visualizará cuando vaya por el camino del else.*/

     
     
       
    Ejemplos de estructuras if anidadas:
       

      Ejemplo 1:

      if (x >= 100)

        if (x < 150)   y=1;
        else   y=0;
       
     
    /* Este ejemplo nos representa la anidación con estructuras if. Si x es mayor o igual que 100, entraremos en el siguiente nivel de anidación, que me llevará al siguiente if, comprobando si x es menor que 150, si esto es cierto, asignaremos a la y el valor de 1; si por el contrario x no es menor que 150, (o sea, que x va a ser mayor o igual que 150, ya que por el primer if supe al entrar por él, que x era mayor que 100), asignaré el valor de 0 a la variable y.*/
       
      Ejemplo 2:
       

      if (x >= 100) {

        if (x < 150)   y=1;
      }
      else   y=0;
      printf ("Esto lo hago siempre");
     
    /* Este ejemplo es distinto del anterior. Si x es mayor o igual que 100, entraremos en el siguiente if, comprobando si x es menor que 150, si esto es cierto, asignaremos a la y el valor de 1, y posteriormente visualizaremos: Esto lo hago siempre; si por el contrario x no es menor que 150, no haremos nada más y nos iremos a visualizar: Esto lo hago siempre. Si el primer if no se cumple (x es menor que 100), pasaré al else, y asignaré el valor de 0 a la variable y, visualizando posteriormenteme el mensaje: Esto lo hago siempre*/
       

      Ejemplo 3:
       

      if (i) {

        if (j==0) y=1;
        if (k==3) y=2;
        else y=3;
      }
      else y=4;
      printf ("Esto lo hago siempre.");
     
    /* El primer if me da acceso al resto de los if del ejemplo, o sea:
     
    • si la i es cierta (distinto de cero), pasaremos a comprobar el if que tenemos a continuación: if (j==0); independientemente de que entremos o no en él, no me influye para comprobar el siguiente if, al cual le corresponde el else que va a continuación; si k es igual a 3 asignaré a la y el valor de 2, y posteriormente visualizaré por pantalla el mensaje que aparece fuera de la condicional: Esto lo hago siempre; si k<>3, me iré al else, asignando a la y el valor de 3, y posteriormente me iré igualmente al mensaje de printf.
    • si la i es falsa (igual a cero), pasaremos directamente al último else, asignando a la y el valor de 4.*/