
ESTRUCTURAS DE
CONTROL:
SENTENCIA SELECTIVAS
* IF & ELSE
* SWICH

SENTENCIAS IF Y ELSE
Los programas definidos hasta este punto se ejecutan de modo secuencial, es decir, una sentencia después de otra. La ejecución comienza con la primera sentencia de la función y prosigue hasta la Última sentencia, cada una de las cuales se ejecuta una sola vez. Esta forma de programación es adecuada para resolver problemas sencillos. Sin embargo, para la resolución de problemas de tipo general se necesita la capacidad de controlar cuáles son las sentencias que se ejecutan, en qué momentos. Las estructuras o construcciones de control manejan la secuencia o flujo de ejecución de las sentencias. Las estructuras de control se dividen en tres grandes categorías en función del flujo de ejecución: secuencia, selección y repetición. En este apartado hablaremos de las estructuras selectivas o condicionales -sentencias if y switch- que controlan si una sentencia o lista de sentencias se ejecutan en función del cumplimiento o no de una condición.
Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven para controlar el flujo de la ejecución: secuencia, selección (decisión) y repetición. Hasta este momento sólo se ha utilizado el flujo secuencial. Una sentencia compuesta es un conjunto de sentencias encerradas entre llaves ({ y 1) que se utiliza para especificar un flujo secuencial.
{
sentencia;
sentencia;
}
La principal sentencia(llamanda "Sí") de las estructuras de control es la sentencia "IF", esta sentencia nos permite controlar el flujo del programa con respecto a una condicion que estara dentro en la declaracion de dicha sentencia seguido de las acciones dentro del control "IF" en el programa, en caso de que se cumpla la condicion, sera verdadera y el programa hara algo, por el contrario en caso de que la salida o resultado sea falso, entonces recurriremos a la sentencia "else" que es la contraria de "IF" y significa "Si no..." que nos permitira realizar otra accion en caso de que el resultado o salida no sea verdadera.
if (condición) sentencia;
{
sentencia que se realizara si la condicion se cumple;
}
else;
{
sentencia en caso de que la condicion no se cumpla;
}
condición una expresión entera(lógica).
sentencia es cualquier sentencia ejecutable, que se ejecutará sólo si la condición toma un valor distinto de cero.
EJEMPLO:
Programa que pida un número del 1 al 5 y diga si es primo o no
.#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca número del 1 al 5:");
scanf("%d",&i);
if (i!=4) { <------------- Sentencia selectiva "IF" y condicion dentro de los parentesis "Si NO es IGUAL a cuatro entonces..."
printf("Es primo."); <---- Accion que se ejecutara en caso de que la condicion se cumpla
}
else { <----- Si la condicion no se cumple entonces realizara la accion de imprimir que no es primo.
printf("No es primo.");
}
system("PAUSE");
return 0;
}
2010 - present
2010 - present

SWITCH (MENÚS)
La sentencia switch es una sentencia C que se utiliza para seleccionar una de entre múltiples alternativas.La sentencia switch es especialmente Útil cuando la selección se basa en el valor de unavariable simple o de una expresión simple denominada expresicíon de control o selector. El valor de esta expresión puede ser de tipo int o char, pero no de tipo float ni double.
La estructura "Switch" nos sirve a manera de menu, pues se trata de un selector en el que introducimos un valor y este menu escoge del valor ingresado en que caso entra el valor ingresado como se muestra a continuacion:
En esta estructura sucede lo mismo que con la sentencia "IF" pues "switch" tambien tiene su propio "else" sin embargo su nombre es "default". Como se muestra en el diagrama anterior el caso "default" es el que envia mensaje de error o que termina el programa.
Todos los menus despues de la accion de cualquier caso deberan llevar la instruccion "break;" que sirve para terminar ese bloque de instrucciones, del no ponerlo el programa recorrera todos los casos.
Su declaracion es la siguiente:
switch (variable) {
case <posible valor> : Instrucciones : break;
case <posible valor> : Instrucciones : break;
case <posible valor> : Instrucciones : break;
case <posible valor> : Instrucciones : break;
case <posible valor> : Instrucciones : break;
default : Instrucciones ;
}
EJEMPLO:
int main()
{
int op;
printf("Ingrese el numero de mes (1-12)");
fflush(stdin);
scanf("%i",&op);
switch(op) { <---- Inicializando Estructura de seleccion
case 1: printf("ENERO"); break;<------ Declaracion de cada caso seguido de la intruccion correspondiente a realizar
case 2: printf("FEBRERO"); break; <--No hay que olvidar los break despues de la instruccion para detener ese bloque de instruciones
case 3: printf("MARZO"); break;
case 4: printf("ABRIL"); break;
case 5: printf("MAYO"); break;
case 6: printf("JUNIO"); break;
case 7: printf("JULIO"); break;
case 8: printf("AGOSTO"); break;
case 9: printf("SEPTIEMBRE"); break;
case 10: printf("OCTUBRE"); break;
case 11: printf("NOVIEMBRE"); break;
case 12: printf("DICIEMBRE"); break;
default: printf("El mes ingresado no existe %i",op); <---Este es como el "else" de las estructuras de seleccion MENÚ.
}
getch();
return 0;
}
