Está en la página 1de 18

Tema 5.2.

- Estructuras de Control
Selectivas en Lenguaje C
Implementar las estructuras de control selectivas en lenguaje C.

Profa. Yenny Salazar


Variables en Lenguaje C
• Una variable no es más que un nombre para identificar una (o varias)
posiciones de memoria donde el programa guarda los distintos valores
de una misma entidad . Un programa debe definir todas las variables
que utilizará, antes de comenzar a usarlas, a fin de indicarle al
compilador de qué tipo serán, y por lo tanto cuánta memoria debe
destinar para albergar a cada una de ellas.
Ejemplo 1:
Variables en Lenguaje C
• En el ejemplo anterior, en las primeras líneas del código dentro de main()
se definen las variables como números enteros, es decir del tipo "int"
seguido de un identificador (nombre) de la misma. Este identificador
puede tener la cantidad de caracteres que se desee, sin embargo de
acuerdo al compilador que se use, este tomará como significantes sólo
los primeros 32.
• Es conveniente darle a los identificadores de las variables, nombres que
tengan un significado que luego permita una fácil lectura del programa.
Los identificadores deben comenzar con una letra o con el símbolo de
subrayado "_", pudiendo continuar con cualquier otro carácter
alfanumérico o el símbolo "_". El único símbolo no alfanumérico
aceptado en un nombre es el "_".
• El lenguaje C es sensible al tipo de letra usado; así tomará como variables
distintas a una llamada "variable", de otra escrita como "VARIABLE".
• Es recomendable en C, escribir los nombres de las variables y de las
funciones con minúsculas, reservando las mayúsculas para las
constantes.
Variables en Lenguaje C
• Las variables se pueden inicializar, es decir, establecer un valor inicial, en
el momento de creación. Para ello, después del identificador, se coloca el
carácter de igualdad (=) seguido del valor inicial, que corresponda con el
tipo de dato.
Ejemplo 2:

• Además se pueden definir e inicializar múltiples varibles del mismo tipo


de dato en la misma línea, separadas por una coma (,).
• En el ejemplo anterior, se definen tres variables tipo entero (int), a dos de
las cuales se les asigna un valor inicial.
Variables en Lenguaje C
• Variables globales: Son declaradas en la cabecera del programa, antes
de la declaración de funciones y antes de la función principal «main»,
estas son conocidas por todas las funciones del programa.
• Variables locales: Son declaradas dentro de una función y sólo son
conocidas por la misma, se declaran normalmente al principio de la
función, aunque podría hacerse en un punto intermedio; siempre y
cuando se declare antes de invocarse.
Ejemplo 3:
Constantes en Lenguaje C
• Las constantes se declaran con la directiva #define, esto significa que
esa constante tendrá el mismo valor a lo largo de todo el programa.
#define <identificador> <valor>
• Observe que no se indica el punto y coma (;) de final de sentencia ni
tampoco el tipo de dato. La directiva #define permite sustituir un
nombre por un valor numérico, así como por una cadena de caracteres.
Ejemplo 4:
Estructuras de Control
• Controlan el flujo de ejecución de un programa o función. Las estructuras
de control permiten combinar instrucciones o sentencias individuales en
una simple unidad lógica con un punto de entrada y un punto de salida.
• Las instrucciones o sentencias se organizan en tres tipos de estructuras
de control : secuencial, selectiva y repetitiva.
• La estructura secuencial está formada por una secuencia de
instrucciones que se ejecutan en orden una a continuación de la otra.
Cada una de las instrucciones están separadas por el carácter punto y
coma (;). No obstante, en algunos casos se agrupan en un bloque una
serie de instrucciones. El bloque de sentencias se define por el carácter
llave de apertura ({) para marcar el inicio del mismo, y el carácter llave de
cierre (}) para marcar el final. Sin embargo, en caso de que el bloque de
sentencias este constituido por una única sentencia no es obligatorio el
uso de las llaves de apertura y cierre ({ }).
Estructuras Secuenciales
Ejemplo 5:

• Como se puede observar, las instrucciones se ejecutan de forma


consecutiva, las cuales se escriben cada una en una línea diferente.
• Aunque se pueden escribir todas en una misma línea separadas por el
punto y coma ( ;), esto es desaconsejable puesto que puede llegar a
hacer el código bastante difícil de leer.
Estructuras Selectivas
• La especificación formal de un programa tiene realmente utilidad cuando
el mismo requiere una descripción más complicada que una lista sencilla
de instrucciones. Este es el caso cuando existen un número de posibles
alternativas resultantes de la evaluación de una determinada condición.
• Las estructuras selectivas se utilizan para tomar decisiones lógicas; de
ahí que se suelan denominar también estructuras de decisión o
alternativas.
• En las estructuras selectivas se evalúa una condición y en función del
resultado de la misma se rea liza una opción u otra. Las condiciones se
especifican usando expresiones lógicas. La representación de una
estructura selectiva se hace con palabras claves (if, if-else, switch)
• Las estructuras selectivas o alternativas pueden ser: simples, dobles,
anidadas y múltiples.
Estructura Selectiva: Condicional Simple
• 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 (expresión) Acción La acción se ejecuta si la expresión
lógica es verdadera
Expresión lógica que determina
SI la acción se ha de ejecutar

• Cuando se alcanza la sentencia if dentro de un programa, se evalúa la


expresión entre paréntesis; si esta es verdadera, se ejecuta Acción; en
caso contrario se continua con la siguiente sentencia del programa.
• Acción, puede ser una sentencia simple, un bloque de sentencias o
sentencias compuesta).
Ejemplo 6:
Estructura Selectiva: Condicional Doble
• Un segundo formato de la estructura selectiva es la de doble formato o
sentencia if-else y tiene la siguiente sintaxis::
if (expresión) Acción1 else Acción2
Se ejecuta si la expresión
Se ejecuta si la expresión lógica es falsa
lógica es verdadera
Expresión lógica que determina
CUÁL acción se debe ejecutar
• En este formato Acción1 y Acción2 son bien una única sentencia que
termina en un punto y coma (;) o un grupo de sentencias encerradas
entre llaves ({}). Cuando se ejecuta la sentencia if-else, se evalúa
Expresión. Si Expresión es verdadera, se ejecuta Acción1 y en caso
contrario se ejecuta Acción2
Ejemplo 7:
Estructura Selectiva: Anidadas
• Las estructuras selectivas vistas anteriormente son sentencias con una o
dos alternativas; no obstantes se puede utilizar la sentencia if para
implementar decisiones que impliquen diferentes alternativas.
• Una sentencia if es anidada cuando de la rama verdadera o de la falsa, es
a su vez una sentencia if.
if (expresión)
Acción1;
else if (expresión)
Acción2;
else if (expresión)
Acción3;
else
Acción4;
• Una sentencia if anidada se puede utilizar para implementar decisiones
con varias alternativas o multi-alternativas.
Estructura Selectiva: Anidadas
Ejemplo 8:

Sentencia if anidada

• La sentencia if tiene tres alternativas. En el primer if, si num es mayor


que cero se imprime un mensaje, pero si la condición es falsa sigue el
else y se presenta la sentencia if anidada (acción falsa del primer if);
donde la segunda expresión plantea que si num es menor que cero se
muestra otro mensaje, pero si esta condición falsa se presenta el else
del segundo if, donde se ejecuta otras acción de impresión.
Estructura Selectiva: Sentencia switch
• La sentencia switch es una sentencia C que se utiliza para seleccionar
una de entre múltiples alternativas. Es útil cuando la selección se basa
en el valor de una variable simple o de una expresión simple,
denominada expresión de control o selector.
• El valor de esta expresión puede ser de tipo int o char, pero no de tipo
float ni double.
Sintaxis:
switch (selector) {
case etiqueta1 : sentencias1;
case etiqueta2 : sentencias2;
case etiqueta3 : sentencias3;
default: sentenciasN; /* opcional. */
}
• El selector se evalúa y se compara con cada una de las etiquetas de
case. Cada etiqueta es un valor único, constante y diferente de los
otros. Si el valor de la expresión selector es igual a una de las etiquetas
case, se ejecutan sus sentencias hasta que se encuentra el final del
switch o hasta encontrar la sentencia break.
Estructura Selectiva: Sentencia switch
• Después de cada bloque de sentencias correspondiente a un case se
desee terminar la ejecución del switch; para ello se sitúa la sentencia
break como última sentencia del bloque, esta hace que siga la ejecución
en la siguiente sentencia al switch.
Sintaxis con break:
switch (selector) {
case etiqueta1 : sentencias1;
break;
case etiqueta2 : sentencias2;
break;
case etiqueta3 : sentencias3;
break;
default: sentenciasN; /* opcional. */
break;
}
• Si el valor del selector no está en ninguna etiqueta case, no se
ejecutará ninguna de las opciones a menos que se especifique una
acción por defecto (default) y aunque su uso es opcional se
recomienda a menos que se esté absolutamente seguro de que todos
los valores del selector estén incluidos en las etiquetas case
Estructura Selectiva: Sentencia switch
Ejemplo 9:

• Cuando la computadora ejecuta las sentencias siguientes a una


etiqueta case, continúa hasta que se alcanza una sentencia break,
para terminar la sentencia switch. Si se omiten las sentencias break,
después de ejecutar el código de case, la computadora ejecutará el
código que sigue a la siguiente case.
• Realizar un cuadro descriptivo de los tipos de datos más
comunes en C.
• Describir los operadores y expresiones: aritméticas,
relacionales y lógicas, más usados en el lenguaje C. Así como
el orden de precedencia de los operadores. Mostrar ejemplos
para cada caso.
• Realizar un cuadro comparativo de las funciones interna más
usadas en lenguaje C.
• Resuelva los siguientes ejercicios:
• Escriba un programa en lenguaje C, que visualice la tarifa de la luz
según el gasto de corriente eléctrica. Para un gasto menor de
1.000Kwxh la tarifa es Bs. 0,90; entre 1.OOO y 1.850Kwxh es de Bs.
1,00 y mayor de 1.850Kwxh la tarifa es de Bs. 1,20.
• Escriba un programa en lenguaje C, que calcule el mayor de dos
números leídos del teclado y lo visualice en pantalla.
• Escriba un programa en lenguaje C, que calcule el mayor de tres
números enteros y lo visualice por pantalla.
• Escriba un programa en lenguaje C, que dada una nota de un examen
mediante un código escribir el literal que le corresponde a la nota.
Según lo siguiente: A: Excelente; B: Notable; C: Aprobado; D:
Deficiente y F: Suspendido.
REFERENCIAS
• Corona, M. y Ancona M. 2011. Diseño de algoritmos y su
codificación en lenguaje C. McGraw-Hill. México.
• Joyanes, L. y Zahonero, I. 2002. Programación en C.
Metodología, algoritmos y estructura de datos. McGraw-
Hill.
• Joyanes, L. 2008. Fundamentos de Programación,
Algoritmos, Estructura de Datos y Objetos. Cuarta edición.
McGraw-Hill.
• López, J. Algoritmos y Programación. 2009. Segunda
Edición. Eduteka.

Profa. Yenny Salazar

También podría gustarte