You are on page 1of 14

Fundamentos de

Programación

Capítulo 5
Sentencias de Control
Objetivos del capítulos
 Aprender el concepto de flujo de ejecución de instrucciones de un
programa.
 Conocer los tipos de estructuras de programación existentes en un
lenguaje de programación estructurado.
 Comprender la sintaxis y el funcionamiento de las diferentes
sentencias de control.
 Aprender a utilizar la sentencia de control más adecuada a un
determinado problema.

Fundamentos de programación 2 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Contenido del capítulo
 Introducción de los tres tipos básicos de sentencias de control:
secuencia, selección e iteración.
 Presentación de las estructuras de selección de C:
 if, if-else y switch.
 Presentación de las sentencias de control de C dedicas a definir
estructuras de iteración:
 while, for y do-while.
 Presentación de las sentencias break y continue.

Fundamentos de programación 3 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Tipos de estructuras de programación

Fundamentos de programación 4 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencia if
if (expresión) if (expresión) {
secuencia de sentencia 1;
instrucciones sentencia 2;
...
}

Fundamentos de programación 5 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencia if-else
if (expresión)
secuencia de
instrucciones 1
else
secuencia de
instrucciones 2

Fundamentos de programación 6 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Ejercicio
x = 2;
if (x != 3) {
if (x == 1)
z = 1;
else
z = x;
}
else
z = 0;

Fundamentos de programación 7 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencia while

while (expresión)
secuencia de instrucciones

Fundamentos de programación 8 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencia for
for (expresión 1; expresión 2; expresión 3)
secuencia de instrucciones

Fundamentos de programación 9 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencia do-while
do
secuencia de
instrucciones
while (expresión);

Fundamentos de programación 10 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencia switch
switch (expresión) {
case expresión 1:
sentencia 1.1;
sentencia 1.2;
....
break;
....
case expresión N:
sentencia N.1;
sentencia N.2;
....
break;
default:
sentencia D.1;
sentencia D.2;
....
}

Fundamentos de programación 11 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Sentencias continue y break

Fundamentos de programación 12 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Errores de programación comunes (I)
 No utilizar secuencias delimitadas entre llaves
 Incluir un ; al final de la sentencia de control
 Confusiones entre asignación y comparación de igualdad
 Uso de sentencias no explícitas en las sentencias de control
 Suposiciones erróneas en los valores de control del bucle
 Bucles infinitos
 Uso de condición de control imprecisa para un bucle
 Errores de tipo fuera por uno

Fundamentos de programación 13 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón
Errores de programación comunes (II)
 Expresiones de control del muy complejas
 Olvido de la sentencia break en el switch
 Uso de la misma variable de control en bucles anidados
 Suponer que el compilador asigna valor cero a las variables sin
inicializar
 Efecto de las sentencias break y continue
 Confusión de las sentencias break y continue

Fundamentos de programación 14 © J. Carretero, F. García, J. M. Pérez, J. Fernández, A. Calderón