You are on page 1of 80

Programacin en Lenguaje C

Programacin en Lenguaje
C
4.1 Programacin aplicado al
hardware usando: for, while, do
while, if else.

El Lenguaje de C

Derivado a partir del Lenguaje B (y


del BPCL) por Dennis Ritchie en los
Laboratorios BELL, 1972. Implantado
por primera vez en una computadora
PDP-11 de DEC.
Usado para desarrollar el UNIX.
Independiente del hardware
(portable).
Existieron muchas variaciones leves
del C incompatibles entre si.

Se cre un comit para formar una


definicin no ambigua independiente de
la mquina.
Estndar se cre en 1989, actualizada en

El Lenguaje de C

Un lenguaje de nivel medio.

Combina elementos de lenguajes de alto


nivel (Pascal, Basic) con funcionalidades
de lenguaje ensamblador (Assembler).
Mejor manejo de recursos de hardware:
disco y archivos.
Mejor manejo de posiciones de memoria.
Portabilidad.

El Lenguaje de C

Un lenguaje estructurado
Estructura

basada en funciones
Bloques independientes invocados
desde un bloque principal
Concepto

de mdulo principal y
mdulos secundarios

Estructura general de un
programa en C

Programa
principal

Funciones
que sern
usadas en el
main

Entorno de Programacin de C tpico


(IDE)
Fases de la
generacin
de
programas

1. Editar
2. Preprocesar

Editor

Disk

Preprocesso
r

Disk

Compiler

Disk

Linker

Disk
Memoria Principal

El enlazador vincula el
cdigo objeto con las
libreras

Cargador coloca el
programa en memoria
Disk

5. Cargar (Load)
6. Ejecutar (Execute)

Preprocesa las
directivas
El compilador crea el
cdigo objeto y lo
almacena en disco

Loader

3. Compilar (Compile)
4. Enlazar (Link)

El programa es creado
en el editor y
almacenado en el disco

..
..
..

Memoria Principal

CPU

..
..
..

El CPU toma cada una


de las instrucciones y
las ejecuta,
almacenando, de ser
necesario, nuevos
datos en la memoria

Ejemplos de programas

Ejemplo 1.
Escribir un programa en Lenguaje C que
enve un mensaje (Hola mundo) a la pantalla
del computador.
Solucin

Ejemplos de programas

Solucin
Ejemplo
1

#include <stdio.h>
main()
{
printf( Hola
mundo );
return 0;
}

Conceptos Fundamentales:
Identificador

Concepto de identificador
Nombre

que permite hacer


referencia a un objeto (constantes,
variables, funciones) usado en un
programa.

Conceptos Fundamentales:
Identificador

Reglas de formacin
Se

componen de letras y dgitos.


El primer carcter
una de
Al menosdebe
los 31ser
caracteres
un nombre interno son
letra.
Para nombres
El carcter significativos.
de subrayado
(_) cuenta
externos, el estndar
como una letra.
Algunas
es tilhasta
para 6
garantizaveces
distinguir
mejorar
legibilidad
de
Se diferencian
las la
letras
caracteres
y sin diferenciar
nombres
largos.
maysculas
de minsculas.
maysculas de las minsculas
(case
No
es
recomendable
empezar
Por ejemplo: n y N son
sensitive). distintas.
los nombres
con l, pues
las
La prctica
usual
es
Los identificadores
rutinas
depueden
bibliotecas
suelen
tener
usar
letras
minsculas
para
hacerlo. de variables y todo
nombres
cualquier longitud.
en maysculas para

Conceptos Fundamentales:
Identificador

Reglas de formacin
Para

nombres definidos por el


programador tener en cuenta que
existen palabras reservadas por el
lenguaje.
Algunas implementaciones
auto
double
int
struct
reservanelse
las palabras
y asm.
break
long fortran
switch
case
char
const
unsigned
continue
default

enum
extern
float

register
return
short

switch
union

for
goto

signed
sizeof

void
volatile

Conceptos Fundamentales:
Delimitadores

Son smbolos que permiten al compilador


separar y reconocer las diferentes
unidades sintcticas del lenguaje.
Los principales delimitadores son:
;

es necesario para finalizar sentencias o


declaraciones.
,
separa dos elementos consecutivos de una
lista.
() enmarca una lista de parmetros.
[] enmarca la dimensin o el subndice de una
tabla.
{} enmarca un bloque de instrucciones o una
lista de valores iniciales.

Conceptos Fundamentales:
Tipos de datos

El tipo de un objeto determina el


conjunto de valores que puede tener
y qu operaciones se pueden realizar
sobre l.
Hay unos cuantos tipos de datos
bsicos en C:
char

int

float

un solo byte, capaz de contener un


caracter del conjunto de caracteres
local.
un entero, normalmente del
tamao natural de los enteros en
la mquina en la que se ejecuta.
punto flotante de precisin normal.

Conceptos Fundamentales:
CadaTipos
compilador
seleccionar libremente los
depuede
datos

tamaos apropiados para su propio hardware,


a
Existen,
adems,
algunos
sujeto
la restriccin
de que los
shorts e ints son
por lo menos
de 16 bits, que
los longs
son por lo a
menos
calificadores
se aplican
de 32 bits
y el tipos
short no
es mayor que int, el cual a
estos
bsicos.
su vez no es mayor que long.

short y long se aplican a enteros:


short int sh;
long int cont;

La palabra int puede omitirse de


tales declaraciones (lo que
tpicamente se hace).
signed o unsigned se puede
aplicar a char o a cualquier entero.
Los nmeros unsigned son siempre

Conceptos Fundamentales:
Tipos de datos

Existen, adems, algunos


calificadores que se aplican a
estos tipos bsicos.

El tipo long double especifica


punto flotante de precisin
extendida.

Igual que con los enteros, los


tamaos de los objetos de
punto flotante se definen en
la implementacin; float,
double y long double pueden
representar uno, dos o tres
tamaos distintos.

Conceptos Fundamentales:
Tipos de datos

Las enumeraciones son tipos


nicos que tienen valores
enteros.
Asociada

con cada enumeracin


hay un conjunto de constantes
nombradas: los enumeradores.
Las enumeraciones se comportan
como enteros.

El tipo void especifica un


conjunto vaco de valores.
Se

usa como el tipo regresado por


funciones que no generan un valor.

Conceptos Fundamentales:
Tipos derivados

Adems de los tipos bsicos, existe


una categora conceptualmente
infinita de tipos derivados,
construidos a partir de los tipos
fundamentales en las formas
siguientes:
Arreglos de objetos de un tipo dado.
Funciones que regresan objetos de un
tipo dado.
Punteros a objetos de un tipo dado.
Estructuras que contienen una
secuencia de objetos de varios tipos.
Uniones capaces de contener un
objeto cualquiera de varios tipos.

Conceptos Fundamentales:
Tipos de datos de usuario

El usuario puede crear


identificadores que nombren tipos:
Una

declaracin typedef atribuye un


tipo a cada nombre entre sus
declaradores en la forma usual.
Ejemplo:
typedef long Entero64;
typedef int Entero32;
typedef short Entero16;

Entero64 Total;
Entero32 Acumulador;
Entero16 Cont;

Conceptos Fundamentales:
Constantes

Ejemplos de constantes

1234 es una constante entera de tipo int.


123456789L es una constante entera de
tipo long (se usa el sufijo l o L).
123456789 tambin ser considerado
como una constante entera de tipo long
para el caso de manejar ints de 16 bits
(cualquier entero demasiado grande para
caber dentro de un int ser tomado como
long).
1234U es una constante entera sin signo
(se usa el sufijo u o U para unsigned int, ul
o UL para unsigned long).
31, 037 y 0x1f son constantes que tienen
el mismo valor pero en formatos
diferentes. Si al principio de una constante
entera se coloca: 0 (cero) significa octal,
0x 0X significa hexadecimal.

Conceptos Fundamentales:
Constantes

Ejemplos de constantes

123.4 y 1e-2 son constantes de punto


flotante del tipo double (se usa el punto
decimal, un exponente o ambos).

123.4f es una constante de punto flotante


del tipo float (se usa el sufijo f o F para
float, lf LF para long double).

Conceptos Fundamentales:
Constantes

Ejemplos de constantes

x es una constante de carcter (stas son del


tipo entero). El valor de una constante de carcter
es el valor numrico del carcter en el conjunto de
caracteres de la mquina.

x y hola son constantes de cadena. es una


cadena vaca. Las constantes de cadena pueden
ser concatenadas en tiempo de compilacin.

\n y \n son una constante de carcter y de


cadena, respectivamente, formada por una
secuencia de escape.

\0 representa el carcter con valor 0, el carcter


nulo. A menudo \0 se prefiere a 0 para resaltar la
naturaleza de carcter de algunas expresiones.

Conceptos Fundamentales:
Secuencias de escape
\a
\b
\f
\n
\r
\t
\v
\\
\?
\
\
\ooo
\xhh

carcter de alarma (campana)


retroceso
avance de hoja
nueva lnea
regreso de carro
tabulador horizontal
tabulador vertical
diagonal invertida
Interrogacin
apstrofo
comillas
nmero octal
nmero hexadecimal

Conceptos Fundamentales:
Constante Simblicas

Una constante simblica es un


identificador cuyo valor nunca cambia
durante la ejecucin del programa.

El formato de declaracin es:

#define identificador expresion_constante

Una expresin constante es una


expresin que slo involucra constantes.
Tales expresiones pueden ser evaluadas
durante la compilacin en vez de que se
haga en tiempo de ejecucin y por tanto
pueden ser utilizadas en cualquier lugar
en que pueda encontrarse una
constante.

Conceptos Fundamentales:
Constante Simblicas

Ejemplos:
#define
#define
#define
#define

PI 3.14159
MAXIMO 999
ULTIMALETRA 'Z'
MENSAJE Introduzca su edad:

El Preprocesador sustituye los


identificadores por su valor real antes
de la compilacin.

Conceptos Fundamentales:
Variables

Las variables, junto con las constantes, son


los objetos bsicos que se manipulan en un
programa.
Toda variable debe ser declarada antes de
ser usada:

Requiere de un tipo, el cual determina el conjunto


de valores que puede tener y que operaciones se
podrn realizar sobre l.
Requiere de un identificador (cuyas reglas de
formacin ya fueron presentadas).
Opcionalmente puede ser inicializada.

La declaracin de las variables se


hace de acuerdo con el siguiente
formato:
tipo lista_de_identificadores;

Conceptos Fundamentales:
Variables

Ejemplos
char c;
int i, j;
double radio, longitud;
Toda variable se encuentra asociada a una
posicin en la memoria del computador.

Conceptos Fundamentales:
Operadores

Un operador es un carcter o grupo


de caracteres que acta sobre una,
dos o ms variables para realizar una
determinada operacin con un
determinado resultado.

Operador de Asignacin
Operadores Aritmticos
Operadores Incrementales
Operadores Relacionales
Operadores Lgicos
Otros Operadores

Conceptos Fundamentales:
Operador de Asignacin

Sirve para dar un valor a una variable.


Este valor puede ser un nmero
(constante) u otra variable:
a = 6; /* Se asigna el valor de 6
directamente */
a = b; /* Le damos el valor de otra
variable */

Es vlida la expresin:
a = b = c = 10; /*Damos a cada
variable el valor
10*/

Conceptos Fundamentales:
Operador de Asignacin

En algunas ocasiones, la asignacin


puede ser abreviada:
c = c + 3; puede ser escrita como c +=
3;

Enunciados de la forma
variable = variable operador expresion;

puede ser escrito como


variable operador= expresion;

Ejemplos:
d -= 4;
e *= 5;
f /= 3;

/*d = d 4*/
/*e = e * 5*/
/*f = f / 3*/

Conceptos Fundamentales:
Operadores Aritmticos

Nos permiten realizar clculos


Aritmticos
- resta
+ suma
* producto / divisin % mdulo
Observaciones:
Divisin de enteros trunca el residuo
42 / 4 es igual a 10

Operador Mdulo (%) retorna el residuo


42 % 4 es igual a 2

Conceptos Fundamentales:
Operadores Aritmticos

Precedencia de los operadores.

Algunos operadores aritmticos actan


antes que otros (por ejemplo, la
multiplicacin antes que la suma)

Deben usarse parntesis cuando sea necesario

Ejemplo:
Hallar el promedio de tres variables a, b y
c
Incorrecto: a + b + c / 3
Correcto: (a + b + c) / 3

Conceptos Fundamentales:
Reglas de Precedencia
Operador

()

*, /, %

+, -

Operacin

Precedencia

Parntesis

Se calculan primero. Si los


parntesis estn anidados, la
expresin en el par ms
interno se evala primero. Si
existen varios pares de
parntesis en el mismo nivel
(es decir, no anidados), se
calculan de izquierda a
derecha.

Multiplicacin, Se evalan en segundo lugar.


Divisin,
Si existen varios se calculan de
Mdulo
izquierda a derecha.
Suma, Resta

Se calculan al ltimo. Si
existen varios se calculan de
izquierda a derecha.

Conceptos Fundamentales:
Reglas de Precedencia

El resultado de una expresin


depende del orden en que se ejecutan
las operaciones. El siguiente ejemplo
ilustra claramente la importancia del
orden. Considrese la expresin: 3 + 4
* 2.
Si se realiza primero la suma (3+4) y
luego el producto (7*2), el resultado
es 14.
Si se realiza primero el producto (4*2)
y luego la suma (3+8), el resultado es
11.

Conceptos Fundamentales:
Precedencia y Asociatividad

Existe dos tipos de reglas para


determinar el orden de evaluacin:
las reglas de precedencia y de
asociatividad.
Los distintos operadores de C se
ordenan segn su distinta
precedencia o prioridad.
Para operadores de la misma
precedencia o prioridad, en algunos el
orden de ejecucin es de izquierda a
derecha, y en otros de derecha a
izquierda. A este orden se le llama
asociatividad.

Conceptos Fundamentales:
Precedencia y Asociatividad
Precedencia
()

[]
*

<

+=

->
/

Asociatividad
.

Izquierda a derecha

<=

>

==

!=

Izquierda a derecha
Izquierda a derecha
>=

Izquierda a derecha
Izquierda a derecha

&&

Izquierda a derecha

||

Izquierda a derecha

?:

Derecha a izquierda

-=

*=

/=

Derecha a izquierda

, (operador coma)

Izquierda a derecha

36

Conceptos Fundamentales:
Precedencia y Asociatividad

En la Tabla anterior se indica que el


operador * tiene precedencia sobre el
operador +.
Esto quiere decir que, en ausencia de
parntesis, el resultado de la
expresin 3+4*2 es 11 y no 14.
Los operadores + y - tienen igual
precedencia pero asociatividad de
izquierda a derecha. Eso quiere decir
que en la expresin a-b+d*5.0+u/2.0 el
orden de evaluacin es el indicado
por los parntesis:
(((a-b)+(d*5.0))+(u/2.0))

Conceptos Fundamentales:
Operadores de Incremento y
Decremento
Incremento (++)

Decremento (--)

Puede ser usado en vez de c = c - 1

Preincremento y Predecremento

Puede ser usado en vez de c = c + 1

Incrementa (decrementa) la variable antes


de que su valor se utilice
Es usado antes de la variable
++c --c

Postincremento y Postincremento

Incrementa (decrementa) la variable


despus de que su valor ha sido utilizado
Es usado despus de la variable
c++ c--

Conceptos Fundamentales:
Operadores de Incremento y
Decremento

Si dato es igual a 5, entonces

printf( %d, ++dato );

Imprime 6
printf( %d, dato++ );
Imprime 5
En cualquier caso, dato ahora toma el valor
de 6

Cuando la variable no est presente en


una expresin, preincremento y
postincremento tienen el mismo efecto:
++dato;
printf(%d,dato);

dato++;
printf(%d,dato);

Conceptos Fundamentales:
Operadores Relacionales

Los operadores relacionales se utilizan


cuando se desea tomar una decisin:
> mayor que
que
< menor que
que
==
igual que

>= mayor o igual

<= menor o igual


!=

distinto de

Cuando se evala una condicin el


resultado que se obtiene es 0 si no
cumple (falso), y un nmero distinto de
0 si se cumple (verdadero).
Normalmente cuando se cumplen
devuelven un 1.

Conceptos Fundamentales:
Toma de decisiones

Ejemplos de expresiones relacionales:


x >= (y+z)
contador < MAXIMO
numero%2 == 0
ordenado != Cierto

Ejemplo de toma de decisiones:

Se puede imprimir aprueba o


desaprueba dada una nota en un
examen; nota >= 11

Estructura de control if (Versin


sencilla)

Si una condicin es verdadera, entonces


el cuerpo del enunciado if es ejecutado
El control contina despus de la
estructura if

Conceptos Fundamentales:
Operadores Lgicos

A veces se requiere comprobar si


varias condiciones se cumplen de
determinada manera.
&& (Y lgico - AND)

Retorna verdadero si ambas condiciones


son verdaderas
Ejemplo: n > 5 && n < 8

|| (O lgico - OR)

Retorna verdadero si cualquiera de las


condiciones es verdadera
Ejemplo: D == 3 || D >= 5

Conceptos Fundamentales:
Operadores Lgicos

! (negacin lgica - NOT lgico)

Invierte la condicin de falso o


verdadero
Slo tiene un operando
Ejemplo: !(m == 3)

tiles para condiciones en lazos.

Conceptos Fundamentales:
Operadores Lgicos
Tablas de verdad
&& (Y lgico - AND)
Falso Falso

Resultado
Falso

Falso Verdadero

Falso

Verdadero

Falso

Verdadero

Falso
Verdadero

Verdadero

Conceptos Fundamentales:
Operadores Lgicos
|| (O lgico - OR)
Falso Falso

Resultado
Falso

Falso Verdadero

Verdadero

Verdadero

Verdadero

Verdadero

Falso
Verdadero

Verdadero

! (negacin lgica - NOT)


Falso

Resultado
Verdadero

Verdadero

Falso

Conceptos Fundamentales:
Confusiones comunes

Error Peligroso:

No causa necesariamente errores de


sintaxis
Cualquier expresin que produce un valor
puede ser usado en estructuras de control
Valores distintos de cero verdaderos,
valores cero son falsos

46

Conceptos Fundamentales:
Confusiones comunes

Ejemplo usando ==
if(payCode == 4)
printf(ganas un bonus!\n);

Si

paycode es 4 se gana un bonus

Si reemplazamos == por =
if(payCode = 4)
printf(ganas un bonus!\n);

Se

asigna 4 a paycode
4 es distinto de cero, la expresin es
verdadera, y se gana un bonus sin
importar el valor previo de paycode

Es un error lgico, no de sintaxis.


47

Diagramas de Flujo
Representacin Grfica de un
algoritmo
Smbolo de rectngulo :

Indica una accin

valo :

Indica comienzo o fin de un


programa
INICIO

Estructuras Lgicas

Todo algoritmo puede expresarse


mediante 3 estructuras lgicas:
La secuencia.
La condicin.
La repeticin.

Notacin grfica
Condicin

Secuencia

Notacin grfica

Repeticin

Estructura de Seleccin if

La estructura de seleccin if es
utilizada para realizar una de dos
acciones distintas en base a una
condicin.

Estructuras selectivas en
C: if

Estructura
selectiva if - else
Funcionamiento
similar que en
Pascal
Sintaxis: versin
Diferencia con Pascal:
simple
NO SE USA LA PALABRA
THEN
if (expresin)
sentencia 1;
else
Diferencia con Pascal:
sentencia 2;
SE ESCRIBE ; ANTES DE ELSE

Estructuras selectivas en
C: if

Sintaxis: versin bloques


if (expresin)
{
Bloque de instrucciones del if
..
}
else
{
..
Bloque de instrucciones del
else
}

Estructura de Seleccin if

Por ejemplo, el siguiente


pseudocdigo:
Si la nota del alumno es mayor o igual a
11
Imprimir Aprobado

La condicin la nota del alumno es


mayor o igual a 11 tiene dos
posibilidades: es verdadera o es falsa.
Si la condicin es verdadera

Se ejecuta la accin de imprimir y el


programa contina al siguiente
enunciado

Si la condicin es falsa:

El enunciado de impresin es ignorado y

Estructura de Seleccin if

Veamos otra vez el ejemplo:


Si la nota del alumno es mayor o igual a
11
Imprimir Aprobado

Si lo traducimos al lenguaje C:

if ( nota_alumno >= 11 )
printf( Aprobado\n" );
Observar que el cdigo en C se parece al
pseudocdigo
La sangra permite que los programas
sean ms fciles de leer, pues C ignora
los espacio en blanco

Estructura if:
representacin en diagrama de
flujo
Estructura if es del tipo unaentrada/una-salida

En lenguaje C:
nota >= 11

falso

verd

Es cero falso
print Aprobado

No es cero verdadero

Estructura de Seleccin
if/else

if

Slo realiza una accin si la


condicin es verdadera

if/else

Especifica una accin a realizarse si


la condicin es verdadera y otra
accin si la condicin es falsa

Estructura de Seleccin
if/else

Otro ejemplo en pseudocdigo:


Si la nota del alumno es mayor o igual a 11
Imprime Aprobado
de lo contrario
Imprime Jalado
Notar las convenciones de espaciado

tabulado

Traducido a C :
if ( nota >= 11 )
printf( Aprobado\n");
else
printf( Jalado\n");

Estructura de Seleccin if/else

Diagrama de flujo de la
estructura if/else

falso
print
Jalado

nota >= 11

verd
print
Aprobado

Anidacin de estructuras
if/else
Se pone a prueba casos
mltiples colocando estructuras
if/else dentro de estructuras
if/else.
Se cumple con una condicin, el
resto de los enunciados se
evitan.

Anidacin de estructuras
if/else

Ejemplo
Si la nota del alumno es mayor o igual a 16
Imprimir A
de lo contrario
Si la nota del alumnos es mayor o igual a 12
Imprimir B
de lo contrario
Si la nota del alumno es mayor o igual a 8
Imprimir C
de lo contrario
Si la nota del alumno es mayor o igual a 4
imprimir D
de lo contrario
imprimir E

Estructura de Seleccin if/else

Enunciados compuestos:

Uso de llaves
Ejemplo:
if ( nota >= 11 )
printf( Aprobado.\n );
else {
printf( jalado.\n);
printf( Debe repetir el curso.\n );
}
Sin las llaves, el enunciado
printf( Debe repetir el curso.\n );

se ejecutaria siempre

La estructura de
Seleccin Mltiple
switch
switch

Permite realizar una ramificacin


mltiple, ejecutando slo una de
varias posibilidades, dependiendo
de los diferentes valores que puede
tomar una variable.

switch: Diagrama de Flujo


caso a

V e rd a d e ro

A c c io n e s d e l c a s o a

F a ls o

caso b

V e rd a d e ro

A c c io n e s d e l c a s o b

F a ls o

caso z
F a ls o

A c c io n e s p o r d e f e c t o

V e rd a d e ro

A c c io n e s d e l c a s o z

La estructura de
Seleccin Mltiple
switch
Formato

Series de etiquetas case y el caso


opcional default
switch ( variable ){
case '1':
acciones
case '2':
acciones
default:
acciones
}

break; permite salir de la estructura

Estructuras de repeticin
controlada

Con control al inicio del bloque:


while()

Con control al final del bloque:


do-while()

Con control al inicio y con contadores:


for()

Instrucciones de control:
break
continue

La estructura while()
while = mientras
Estructura

El programador especifica que una


accin se repite mientras cierta
condicin se mantenga como
verdadera
Pseudocdigo:

Mientras haya ms cosas en mi lista de


compras
Comprar el siguiente item y sacarlo de
mi lista

El bucle while se repite hasta que


la condicin sea falsa

La estructura de repeticin while

Ejemplo:
int producto = 2;
while ( producto <= 1000 )
producto = 2 * producto;

producto <= 1000


falso

verd

producto = 2 * producto

Algoritmos tpicos de
repeticin
Validacin de ingreso de datos.
Repeticin controlada por
contador.
Repeticin controlada por
centinela.

La estructura de
repeticin do/while

Estructura de repeticin
do/while
Similar a while
La condicin para la repeticin se
evala despus que el lazo es
ejecutado

Todas

las acciones se ejecutan al


menos una vez

Formato:
do {
enunciado;
} while ( condicion );

La estructura de
repeticin do/while

Ejemplo
do {
printf( "%d ", contador );
} while (++contador <= 10);

Imprime los enteros del 1 al 10

do/while: Diagrama de Flujo

a c c io n e s

c o n d ic i n
F a ls o

V e rd a d e ro

Estructuras de repeticin

Otras estructuras de control de


repeticin

break

for
do/while
Usado para salir en forma inmediata y
rpida de ciertas estructuras de control

continue

Usado para saltarse el resto de una


estructura de repeticin, continuando con
la siguiente iteracin del ciclo

Lo esencial de la
repeticin

Bucle o Lazo

Grupo de instrucciones que la


computadora ejecuta en forma repetida
mientras cierta condicin se mantiene
como verdadera

Repeticin controlada por contador

Repeticin Definida: se conoce cuntas


veces se ejecuta el lazo
Se usa una variable de control para
contar repeticiones

Estructura de repeticin
for

Formato a usarse con bucles for


for ( inicializacin;
CondiciondeContinuaciondeCiclo;
incremento )
Sin punto y
enunciado
coma (;) al

Ejemplo:

final

for( int contador = 1;


contador<=10; contador++)
printf( "%d\n", contador );

Imprime los enteros del uno al diez

Estructura de repeticin
for

La sentencia for reemplaza a bucles


del tipo while del siguiente tipo:
inicializacin;
while (CondiciondeContinuaciondeCiclo)
{
enunciado o accin;
incremento;
}

Inicializacin e incremento

Se separan por comas


Ejemplo:
for (i = 0, j = 0; j + i <= 10; j++, i++)
printf( "%d\n", j + i );

Los enunciados break y


continue

break

Causa una salida inmediata de una


estructura tipo while, for, do/while o
switch
La ejecucin del programa contina con
la primera sentencia despus de la
estructura.
Usos comunes de break

Salida temprana de un lazo


Saltar el resto de una estructura switch

Los enunciados break y


continue

continue

Salta los enunciados restantes del cuerpo


de una estructura while, for o do/while

while y do/while

Contina con la siguiente iteracin del lazo


Se realiza la evaluacin de la continuacin del
lazo inmediatamente despus que continue
es ejecutada

for

La expresin de incremento es ejecutada, y


luego es evaluada la condicin de continuacin
del lazo

You might also like