En C, la estructura de control de selección principal es una sentencia if.

La sentencia if tiene dos
alternativas o formatos posibles. El formato más sencillo tiene la sintaxis siguiente:

if (Espresion) Accion
Accion se ejecuta si la expresion logica es verdadera

Expresion logica que determina si la accion se ha de ejecutar

La sentencia if funciona de la siguiente manera. Cuando se alcanza la sentencia if dentro de un
programa, se evalúa la expresión entre paréntesis que viene a continuación de if. Si Expresión es
verdadera, se ejecuta Acción; en caso contrario no se ejecuta Acción (en su formato más simple,
Acción es una sentencia simple y en los restantes formatos es una sentencia compuesta). En cualquier
caso la ejecución del programa continúa con la siguiente sentencia del programa.

Otro sistema de representar la sentencia i f es:

if (condición) sentencia;

condicion es una expresión entera(1ógica).

sentencia es cualquier sentencia ejecutable, que se ejecutará sólo si la condición
toma
un valor distinto de cero.

Inicio
Espresion si
fin
no
fin

Figura 1.1 Diagrama de flujo de una sentencia basica de if





Ejemplo 5.1
PRUEBA DE DIVISIBILIDAD

#include <stdio.h>
#include <stdlib.h>
int main( )
{
int n, d;
printf ( "Introduzca dos enteros: ") ;
scanf ("%d %d",& n,& d);
if (n%d == 0) printf (" %d es divisible por %d\n",n,d);
system ("pause");
return 0;
}

Este programa te dira si un numero es divisible entre otro ambs especificados por el usuario.

Si la expresion se cumple



El programa pondra en pantalla una leyenda que diga que el primer numero indicado es divisible el
segundo.

Si no se cumple la expresion:



El programa no realiza a accion y se va al final del programa.

Ejemplo 5.2

Representar la superación de un examen (Nota > = 5, Aprobado).

Inicio
Nota >= 5 si Aprobado
no
fin


Codigo fuente

#include <stdio.h>
#include <stdlib.h>
main()
{
float numero;
printf("Introduzca la calificacion del alumno en escala de 1-10:\n");
scanf ("%f",&numero);
if (numero >= 5) printf ("Aprobado\n") ;
system ("pause");
return 0;
}

Si la Expresion se cumple:



El programa despliega en la pantalla la leyenda "Aprobado".

Si la expresion no se cumple:



El programa se va al final.

EJEMPLO 5.3

Este programa compara un numero introducido por el usuario y lo compara con 0



Inicio
Numero > 0 si
El numero es mayor
que 0
no
Numero < 0
El numero es menor
que 0
Numero = 0
El numero es igual a
0
Fin


Codigo fuente

#include <stdio.h>
#include <stdlib.h>
main()
{
float numero;
printf("Introduzca un número positivo o negativo:\n");
scanf ("%f",&numero);
if (numero > 0) printf ("%f es mayor que cero\n",numero);
if (numero < 0) printf ("%f es menor que cero\n",numero);
if (numero == 0) printf ("%f es igual a cero\n",numero);
system ("pause");
return 0;
}

Si la primera Expresion if se cumple:



Si la segunda Expresion if se cumple:




Si la tercera expresion if se cumple:




EJERCICIO 5.1

Visualizar la tarifa de la luz según el gasto de corriente eléctrica. Para un gasto menor de 1.000Kwxh
la tarifa es 1.2, entre 1.000 y 1.850Kwxh es 1.0 y mayor de 1.850 Kwxh 0.9.
Inicio
Gasto < 1 si
La tasa que le
corresponde es de
1.2
Gasto >=1 y <=
1.850
La tasa que le
corresponde es de 1
Gasto > 1.850
La tasa que le
corresponde es de
0.9
Fin
Introduzca el
Gasto de luz
gasto
no


CODIGO FUENTE

#include <stdio.h>
#include <stdlib.h>
#define TARIFA1 1.2
#define TARIFA2 1.0
#define TARIFA3 0.9
main()
{
float gasto, tasa;
printf ("Gasto de corriente en Kwxh: \n") ;
scanf ("%f", &gasto) ;
if (gasto < 1.0) tasa = TARIFA1;
if (gasto >=1.0 && gasto <=1.850) tasa = TARIFA2;
if (gasto >1.850)tasa = TARIFA3;
printf("La tasa que le corresponde a %f Kwxh es de %f\n", gasto, tasa);
system ("pause");
return 0;
}


Si la primer expresion if se cumple



Si la segunda expresion if se cumple



Si la tercera expresion if se cumple