You are on page 1of 4

SENTENCIA SELECTIVAS

Las sentencias selectivas permiten orientar el flujo un programa para la toma de


decisiones en el desarrollo de la solucin de un problema. La toma de decisin se basa
en la evolucin de una o ms condiciones que sealan la rama o flujo a seguir. El
lenguaje C cuenta con las siguientes sentencias selectivas if, if-else, if else if, ?, y switch
las cuales se mencionan a continuacin.


4.1 Sentencia if

La sentencia if es una estructura que nos permite evaluar una o varias condiciones, las
cuales se representan por expresiones o trminos que comprueban dos estados:

Primer estado: Verdadero, en C este estado se representa por un valor diferente
de cero, generalmente por un uno lgico despus de haber comprobado la
condicin.
Segundo estado: Falso, en C este estado se representa por un cero lgico
despus de haber comprobado la condicin.

El formato general de la estructura if es:

if ( condicin )
{
Sentencia;
}

Para el caso, si la condicin es verdadera, se ejecuta la sentencia o bloque que se
encuentra entre llaves, es decir la sentencia.
Ejemplo:

# include <stdio.h>
# include <conio.h>
void main ( )
{
int x;
printf( "Introduce un nmero " ); scanf( "%d",&x);
if (x>0)
{ printf( "El nmero es positivo" ); }
getch ( );
}

Para el ejemplo, se realiza un programa que indica si el nmero ingresado por el usuario
es positivo de lo contrario no ocurre nada. En ocasiones es necesario determinar otra
accin respecto a la misma variable, tal es el caso de indicar si el nmero ingresado es
positivo o negativo. Comnmente suele emplearse otra estructura if que determine la
nueva accin, sin embargo no es correcto en cuyo caso se deber emplear la estructura if
else.


4.2 Sentencia if else

Esta estructura permite tomar accin sobre la condicin cuando es verdad y su
complemento falso, para el caso if ejecuta su sentencia si la condicin es verdadera y
else cuando la condicin es falsa. Particularmente esta estructura se emplea cuando
existen dos acciones para la misma variable.

El formato general de la estructura if else es:


if ( condicin )
{ Sentencia }
else { Sentencia }

Para el caso, si la condicin es verdadera if ejecuta su sentencia o bloque que est entre
llaves, si la condicin es falsa else ejecuta su sentencia o bloque que est entre llaves.
Ejemplo:

# include <stdio.h>
# include <conio.h>
void main ( )
{
int x;
printf( "Introduce un nmero " ); scanf( "%d",&x);
if (x>0)
{ printf( "El nmero es positivo" ); }
else { printf( "El nmero es negativo" ); }
getch ( );
}



En ocasiones se requiere saber ms cosas sobre la variable, por ejemplo si es positivo, si
es negativo, si es par, si es impar, si es cero, etc. lo que implica una gran cantidad de
estructuras if. Particularmente cuando se tiene este tipo tareas se recurre a la estructura
if else if.


4.3 Sentencia if else if

Esta configuracin denominada escalonador se emplea para evaluar tres o ms
expresiones condicionales (de arriba a abajo), si durante la evaluacin se encuentra una
condicin verdadera ejecutara la sentencia asociada y saltara el resto de la estructura.
Finalmente, si ninguna condicin resulta verdadera se ejecutara si es el caso la sentencia
else. La estructura if else if resulta ser ms eficiente que tener una gran cantidad de
estructuras if.

El formato general de la estructura if else es:


if ( condicin ) { Sentencia }
else if ( condicin ) { Sentencia }
else if ( condicin ) { Sentencia }
.
.
else { Sentencia }


La utilizacin del if else if resulta til para programas donde se requiere evaluar tres o
ms acciones.

Ejemplo:

# include <stdio.h>
# include <conio.h>
void main ( )
{
int x;
printf( "Introduce un nmero " ); scanf( "%d",&x);
if (x>0) { printf( "El nmero es positivo" ); }
else if (x<0) { printf( "El nmero es negativo" ); }
else { printf( "Es neutro" ); }
getch ( );
}


4.1.3 Sentencia if anidados

Un if anidado no es ms que un if que tiene como bloque de sentencia a otro if. Esta
configuracin permite evaluar mltiples condiciones.

if ( condicin )
{ if ( condicin )
{ if ( condicin )
{ Sentencia }
}
}
else { Sentencia }


4.1.4. Operador condicional: ?

En C hay otra forma de asignar un valor segn se d una condicin o no. Es el
operador condicional ? :

Su declaracin se realiza de la siguiente manera:

Variable = (condicin)? valor1: valor2;

y equivale a decir si se cumple la condicin, toma el valor 1; si no, toma el valor 2 .

Ejemplo: Realiza un programa que determine el mayor de dos nmeros introducidos
por el usuario.

# include <stdio.h>
# include <conio.h>
main ( )
{
int a, b, mayor;
printf ("Escriba un nmero: ");
scanf ("%d", &a);
printf ("Escriba otro: ");
scanf ("%d", &b);
mayor = (a>b) ? a : b;
printf ("El mayor de los nmeros es %d \n", mayor);
}

Ejemplo: Realiza un programa que sume o reste dos nmeros segn sea la opcin.
1.- Resta; cualquier otra opcin: Suma

# include <stdio.h>
# include <conio.h>
main ( )
{
int a, b, resultado;
int operacion;
printf("Escriba un nmero: ");
scanf("%d", &a);
printf("Escriba otro: ");
scanf("%d", &b);
printf("Escriba una operacin (1 = resta; otro = suma): ");
scanf("%d", &operacion);
resultado = (operacion == 1) ? a-b : a+b;
printf("El resultado es %d.\n", resultado);
}

You might also like