Title: CICLOS EN C
1CICLOS EN C PARTE 2
2MENU DEL DIA
- Repaso clase anterior.
- Estructuras en C.
- Bucles en C.
- Operadores de incremento y decremento -
abreviados. - Ciclo While en C.
- Ciclo For en C
3ESTRUCTURAS EN C
4BUCLES EN C
5OPERADORES DE INCREMENTO Y DECREMENTO - ABREVIADOS
Operación sintaxis Significado
Postincremento i i i 1
Preincremento i i i 1
Postdecremento i-- i i - 1
predecremento --i i i - 1
6CICLO WHILE EN C
Recomendaciones (preguntas clave - requisitos)
Sintaxis
- Control de ciclos
- Caso cuantitativo. (Se conoce el numero de
veces que se va a repetir el ciclo bucles
controlados por contador). - Caso cualitativo. (No se conoce cuantas veces
se va a repetir el ciclo). - Control por centinela.
- Control por indicador (bandera).
MIENTRAS(expresión_logica)HAGA secuencia
FIN_MIENTRAS
while (expresion_logica) secuencia
7CICLO FOR EN C
8CICLO WHILE EN C
La sentencia for (bucle for) es un método para
controlar una sentencia o bloque de sentencias un
numero fijo de veces. Este bucle es mas
adecuado para implementar bucles controlados por
contador, es decir bucles de conteo en los que el
numero de repeticiones se conoce por anticipado.
Sintaxis
PARA(VC LI,LF,INC)HAGA secuencia FIN_PARA
for (expre1expre2expre3) secuencia
9CICLO FOR EN C
expre1 inicialización Da un valor inicial a la
variable de control del bucle. Se ejecuta solo
una vez antes de la evaluación de la expresión de
control. Se pueden inicializar una o varias
variables.
expre2 Expresión de control Condición que
contiene una expresión lógica, mientras sea
verdadera se realiza el bucle.
expre3 ajuste (actualización) Incrementa o
decrementa la variable de control del bucle.
for (expre1expre2expre3) secuencia
PARA(VC LI,LF,INC)HAGA secuencia FIN_PARA
secuencia Sentencias a ejecutar en cada
iteración del bucle.
LF Ajuste (/-)
VC Valor final
VC Valor inicial
VC Variable de control
10CICLO FOR EN C
- Existen dos formas de implementación de la
sentencia for.
for (expre1expre2expre3) secuencia
for(var_controlvalor_inicial
var_controlltvalor_limite exp_incremento)
secuencias
Forma ascendente
La variable de control se incrementa
for(i 0 i lt 10 i)
for(i -1 i lt 7 i2)
for(i -100 i lt -20 i5)
for(i -1 i lt 1 i 10)
for(var_controlvalor_inicial
var_controlgtvalor_limite exp_decremento)
secuencias
Forma ascendente
La variable de control se decrementa
for(i 100 i gt 10 i-40)
for(i 25 i gt 7 i-2)
for(i 0 i gt -10 i--)
for(i -150 i gt -750 i-20)
11CICLO WHILE EN C
- Algunas anotaciones sobre los ciclos for.
- Los rangos de incremento o decremento de la
variable o expresion de control del bucle pueden
ser cualquier valor y no siempre 1, es decir 5,
10, 20, 4, etc, dependiendo de los intervalos que
se necesiten.
int n 0 for(n 0 n lt100 n 20)
printf(d d \n, n, nn)
int k for(k 1 k lt 100 k 2)
printf(d\n, k)
int for(i a i lt h i 3)
printf(d c \n, i, i)
int j for(j 9 j gt 2 j - 2)
printf(d\n, i - 1)
12CICLO FOR EN C
- La(s) variable de control se puede incrementar
o decrementar no solo en valores tipo int,
también es posible realizar tales operaciones
usando valores tipo float o double permitiendo el
incremento o decremento en cantidades decimales.
double p for(p 0.75 p lt 5 p 0.25)
printf(p lf\n, p)
float n for(n 1 n gt 0 n - 0.1)
printf(n f\n, n)
13CICLO FOR EN C
- Cuando no se tiene expresión de inicialización,
condición y actualización (incremento o
decremento) en el bucle for, este se ejecuta de
manera infinita
for () printf(fuck! \n)
Para romper la ejecución de un programa presione
las teclas CTRL C
14CICLO FOR EN C
- Situar un punto y coma () después del
paréntesis inicial de un bucle for hace que el
cuerpo del bucle este vacio.
for (i 1 i lt 10i) printf(Solo sale
una vez\n )
- El operador coma (,) permite extender la
flexibilidad del ciclo for ya que este permite
incluir mas de una expresión de inicialización o
actualización en una única especificación del
loop.
define MAX 25 int i, j for (j 0, j lt MAX i
lt j i,j--) printf(d , (i 2j))
15CICLO FOR EN C
Ojo, si el cuerpo de un bucle de conteo modifica
los valores de cualquier variable implicada en la
condición del bucle, entonces el numero de
repeticiones se puede ver afecta es decir, no es
recomendable modificar el valor de cualquier
variable de condición dentro del cuerpo de un
bucle for, ya que esto puede producir resultados
imprevistos.
. . . int i . . . for (i lt 1 i lt 11 i)
printf(\n) i
16SENTENCIAS BREAK y CONTINUE
break Esta sentencia termina la ejecución del
bucle, permitiendo que el punto de control de la
ejecución se salga del bucle.
. . . int j . . . for (j lt 1 i lt 10 j)
printf(no te doy otra no mas !!!!\n) if
(i gt 3) break
Continue Hace que la ejecución del bucle vuelva a
la cabecera del bucle.
. . . int j . . . for (j lt 1 i lt 10 j)
printf(no te doy otra no mas !!!!\n) if
(i gt 3 i lt 9) continue
17SENTENCIAS BREAK y CONTINUE
break Esta sentencia termina la ejecución del
bucle, permitiendo que el punto de control de la
ejecución se salga del bucle.
. . . int j . . . for (j lt 1 i lt 10 j)
printf(no te doy otra no mas !!!!\n) if
(i gt 3) break
Continue Hace que la ejecución del bucle vuelva a
la cabecera del bucle.
. . . int j . . . for (j lt 1 i lt 10 j)
printf(no te doy otra no mas !!!!\n) if
(i gt 3 i lt 9) continue
18(No Transcript)