Sie sind auf Seite 1von 24

LENGUAJE DE PROGRAMACION C

INTRODUCCION

l Lenguaje C se ha convertido en los ltimos tiempos en un lenguaje muy utilizado en la implantacin de sistemas en las industrias, en el diseo de programacin de rutinas en paquetes matemticos, en el manejo de sistemas de control, y dada su variante C++ orientada a objetos, es fcil pensar que ser un lenguaje de amplia utilizacin en los tiempos venideros.

Durante aos se ha utilizado cursos introductorios de lenguaje Pascal para ensear a los estudiantes los principios bsicos de la Programacin Estructurada, sin embargo, la experiencia demuestra que los estudiantes aprenden la Programacin Estructurada con lenguaje C de forma aproximadamente igual a como lo hacen con el Pascal, pero existe una diferencia muy notable: los alumnos resultan motivados por el hecho de que estn aprendiendo un lenguaje que les ser de inmediata utilidad en el transcurso de la carrera y al abandonar el entorno universitario.

Esta gua pretende ser un material de apoyo en la utilizacin prctica del Lenguaje C, explicando de manera sencilla y rpida las instrucciones bsicas de programacin e induciendo a los estudiantes a la prctica sistemtica y continua para el desarrollo de habilidades en su manejo.

Lenguaje C

2005

BREVE HISTORIA DEL LENGUAJE C

l Lenguaje C es un Lenguaje estrechamente relacionado con el Sistema Operativo UNIX, debido a que este Sistema Operativo fue escrito en C. Sin embargo, es un lenguaje de uso general, ya que no est ligado a ningn sistema operativo mquina concreta, lo que permite la portabilidad de programas escritos en l.

Aunque se le conoce como Lenguaje de Programacin de Sistemas, debido a su frecuente uso en el diseo de Sistemas Operativos, ha sido utilizado con el mismo xito en aplicaciones tcnico- cientficas, programas de procesamiento de textos, bases de datos, etc.

C es un lenguaje de Nivel Medio, lo que significa que C trabaja con la misma clase de objetos que la mayora de las computadoras: caracteres, nmeros y direcciones que pueden ser combinados con los operadores aritmticos y lgicos utilizados en las mquinas.

Gran cantidad de las ideas principales de C provienen de unos lenguajes mas antiguos: el lenguaje BCPL y el lenguaje B. Hacia finales de los aos 70 ya se conoce el C tradicional y la publicacin en el ao 1978 del libro de Kernighan y Ritchie The Programming Language atrajo la atencin sobre este lenguaje.

El Lenguaje C no es un lenguaje fuertemente estructurado tal como el lenguaje Pascal. Al igual que otros lenguajes tienes sus inconvenientes, no obstante, es extremadamente eficaz y expresivo para una extensa gama de aplicaciones de programacin. La expansin rpida del C y sus implementaciones en el mercado (Borland C, Turbo C, C++ , C estandar, etc.) generaron diferencias con respecto a la definicin original, razn por la cual, el Instituto ANSI (American National Standars Institute) elabor una definicin normalizada del lenguaje C. A finales de la dcada de los ochenta surge un nuevo concepto denominado ANSI C, la cual ahora se utiliza en todo el mundo. 2
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005 ESTRUCTURA DE UN PROGRAMA EN C

1.- Comentario Inicial: Son unas lneas donde se indica el nombre del programa y el propsito del mismo. Estas lneas comienzan con /* y terminan con */ , los cuales indican que estas lneas son un comentario, por lo cual son ignoradas por el compilador. Ejemplo:

/* Mi primer programa en C */

2.- Area de Declaraciones Globales: Dentro de esta rea encontramos: a) Declaraciones de Directrices del Preprocesador. Es opcional. Las lneas que se inician con el signo # son directrices del compilador y son procesadas por el preprocesador de C,

antes de la compilacin del programa. Las directrices mas usadas son:

# include # define

/* Directriz de inclusin */ /* Directriz de sustitucin */

Ejemplo: # include <stdio.h> Esta lnea le indica al preprocesador que incluya dentro del programa el contenido del archivo de cabecera de entrada/salida estandar (stdio.h). Este archivo de cabecera contiene la informacin y declaraciones utilizadas por el compilador al compilar funciones estandar de biblioteca de entrada/salida como printf. Tambin contiene informacin que ayuda al

compilador a determinar si las llamadas a las funciones de biblioteca han sido escritas de manera correcta.

Otro ejemplo: La directriz # define crea constantes simblicas. Ej: # define NUM 100

3
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005

Cuando en un programa aparece esta lnea, todas las ocurrencias subsiguientes de la constante simblica NUM, sern reemplazadas por la constante numrica 100, antes de la compilacin del programa. b) Declaraciones de Funciones.- Es opcional. Es lo que se conoce como Prototipo de funcin, que es una de las caractersticas mas importantes de ANSI C. Un prototipo de funcin, le indica al compilador el tipo de dato regresado por la funcin, el nmero de parmetros que la funcin espera recibir, los tipos de dichos parmetros, y el orden el en cual se esperan dichos parmetros. Ejemplo: int maximo(int, int, int); Este prototipo de funcin indica que la funcin mximo toma tres argumentos de tipo entero y regresa un resultado de tipo entero.

c) Declaracin de Variables Globales.- Es opcional. Se consideran globales porque se crean colocando las declaraciones por fuera de cualquier definicin de funcin, y conservan sus valores a todo lo largo de la ejecucin del programa, y pueden ser referenciadas por cualquier funcin posterior a su declaracin.

3.- Area Principal: Es el rea de definicin de la Funcin Principal. Es un rea obligatoria dado que todo programa en C comienza su ejecucin con esta funcin. La definicin de la funcin main incluye lo siguiente:

main( ) { Lista de declaracin de variables Sentencias y operaciones asociadas al cuerpo de la funcin }

La lnea main( ) forma parte de todo programa en C. Los parntesis despus de main indican que es una funcin. 4

Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
-

2005
}

La llave de la segunda lnea { inicia el cuerpo de la funcin y la llave derecha correspondiente a la ltima lnea indica el fin de la funcin.

Lista de Declaracin de Variables: La declaracin de variables debe ser colocada despus de la llave izquierda de una funcin y antes de cualquier enunciado ejecutable. Un ejemplo de declaracin de variables sera: int num1, num2; num1 y num2 son los nombres de las variables. Esta declaracin especifica que num1 y num2 son del tipo entero. Todas las variables deben declararse con un nombre y un tipo de datos, antes de que puedan ser utilizadas en el programa. Un nombre de variable en C es cualquier identificador vlido. En C existen diversos tipos de datos que se vern mas adelante.

Sentencias y operaciones asociadas al cuerpo de la funcin. Constituyen las sentencias que indican las acciones que ejecuta la funcin.

4.- Area de Definicin de Funciones Secundarias: Es opcional. Incluye la definicin de funciones definidas por el programador. Cada funcin definida tiene la siguiente estructura:

tipo f1(arg1,.......,argn) { Declaracin de variables Sentencia 1; : Sentencia n; return ; }

5
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
Ejemplo de un Programa en C:

2005

/* Programa que calcula la superficie de un crculo */

# include <stdio.h>

/* Acceso a un archivo de cabecera */

# define PI 3.14159 /* Definicin de una constante simblica */ float radio, area; /* Declaracin de variables globales */

float calcular( float ) /* Prototipo de una funcin */

/* Definicin de la funcin principal */ void main( ) { printf(Radio = ); scanf( %f,&radio ); area = calcular(radio); printf( AREA = %f , area); }

/* Definicin de la funcin calcular */ float calcular( float r ); { float a; a = PI return a; } /* Declaracin de una variable local */

r r;

6
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C IDENTIFICADORES EN C

2005

Los identificadores son los nombres que se les da a las variables, constantes, arreglos y funciones, con el objeto de identificarlos. Reglas para asignar nombre a los Identificadores: Todo identificador debe comenzar con una letra, seguida por cualquier combinacin de letras y dgitos. El caracter subrayado ( _ ) se puede incluir y es considerado como una letra, no obstante, ningn identificador debe comenzar con este caracter. Se pueden utilizar letras maysculas y minsculas, no acentuadas, con la precaucin de que en el Lenguaje C existe distincin entre maysculas y minsculas, de tal manera que la variable area es diferente de la variable Area. Es tradicional en C utilizar letras minsculas para las variables y maysculas para las constantes simblicas. Es recomendable que el nombre de la variable est relacionado con el propsito de la misma. En Lenguaje C los primeros 31 caracteres son significativos, aunque es recomendable que el nombre no sea muy largo. No pueden ser usadas como identificadores las Palabras Reservadas, es decir, aquellas palabras que tienen un significado particular para el compilador. Las Palabras Reservadas siempre van en minscula. Entre ellas tenemos: auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void 7
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

volatile while

Lenguaje C TIPOS DE DATOS EN C


Los tipos bsicos de datos en C son: int: char : float: double: para los nmeros enteros. para un carcter . para nmeros en punto flotante y precisin normal. para nmeros en punto flotante de doble precisin.

2005

TIPO int char float double void

DESCRIPCION Nmero Entero Carcter Nmero Real Nmero de Doble Precisin Nulo

LONGITUD 16 bits 8 bits 32 bits 64 bits

RANGO -32768 a 32767 -128 a 127 3.4x10-38 a 3.4x1038 1.7x10-308 a 1.7x10308 Sin Valor

A excepcin del tipo void, los tipos bsicos de datos pueden tener modificadores. Estos modificadores son: long que se aplica a nmeros enteros y reales para proporcionar diferentes longitudes de

enteros. short que se aplica a nmeros enteros. signed y unsigned que pueden aplicarse al tipo char y a cualquier tipo de entero. Los nmeros unsigned son siempre no negativos. La posibles combinaciones son:

TIPO unsigned char unsigned int short int long int unsigned long long double

LONGITUD 8 bits 16 bits 16 bits 32 bits 32 bits 80 bits

RANGO 0 a 255 0 a 65535 -32768 a 32767 -2.147.483.648 a 2.147.483.647 0 a 4294967295 3.4x10-4932 a 1.1x104932 8

Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C DECLARACION DE VARIABLES EN C

2005

Una variable es una posicin en memoria donde se puede almacenar un valor para su uso en un programa. El valor de una variable puede cambiar durante la ejecucin del programa. Toda variable debe ser declarada antes poder ser usada. Ejemplo: int n; float radio, area; short int cont; Las variables pueden ser inicializadas en un valor particular al ser declaradas. Ejemplo: char resp = a; int i = 0; Las variables se pueden declarar en: Fuera de todas las funciones: Variables Globales. Dentro de las funciones: Variables Locales. En la definicin de parmetros de las funciones: Parmetros Formales.

Existen situaciones en que se desea que el valor de una variable no sea modificado. Para ello puede aplicarse el calificador const a la declaracin de la variable para especificar que su valor no ser cambiado.

DECLARACION DE CONSTANTES SIMBOLICAS EN C


Una constante es una posicin de memoria cuyo valor permanece fijo durante la ejecucin del programa. Para ello se utiliza la directriz # define . Ejemplo: # define PASO 2 Cualquier ocurrencia de nombre de la constante PASO, en el programa, que no est entre comillas, se sustituye por el valor 2.

9
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C ENTRADA Y SALIDA DE DATOS EN C

2005

En el Lenguaje C, la Entrada y la Salida de datos se lleva a cabo mediante funciones de biblioteca.

FUNCION DE SALIDA printf( ) .-

La funcin printf imprime una cadena de caracteres sobre la pantalla del computador. Est definida en la biblioteca stdio.h , razn por la cual, si se va a utilizar en el programa, se debe incluir mediante # include <stdio.h> La funcin printf tiene dos argumentos:

printf( cadena de formato, var1,...,varn )

El primer argumento, cadena de formato, contiene los especificadores de formato para las variables que se van a imprimir y algn texto opcional. El segundo argumento, es la lista de variables, constante, expresiones que se van a imprimir. Ejemplo:

printf( Nombre del Cliente:%s ,nombre );

Cuando la funcin printf es invocada por el programa, se desplegarn los caracteres literales que no estn precedidos por el smbolo %, que se encuentra en la cadena de formato. Los especificadores de conversin precedidos por el signo % indican que debe imprimirse el respectivo elemento del segundo argumento. En otras palabras, indica el formato de salida de la variable. Por tanto, el nmero de especificadores de conversin debe coincidir con el nmero de elementos o variables.

10
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
Especificadores de Conversin o Formatos de Variable:

2005

Algunos formatos de conversin para imprimir formatos de salida son: FORMATO %valord TIPO DE DATO Enteros EJEMPLO %8d EFECTO Imprime un entero con 8 caracteres de ancho %valor1.valor2f Reales %8.2f Imprime un real con 8 caracteres de ancho y 2 decimales %c Carcter Imprime una variable tipo char %ld %s entero long cadena de caracteres Imprime una cadena de caracteres Secuencias de Escape: En la funcin printf se pueden incluir secuencias de escape, las cuales producen un efecto en la salida. Una secuencia de escape es representada por una diagonal invertida seguida por un carcter de escape particular. Algunas secuencias de escape son: Mueve el cursor: \n \t \b \f \r \v Al inicio de la lnea siguiente A la siguiente posicin del tabulador horizontal Una posicin hacia atrs en la lnea actual Al inicio de la siguiente pgina lgica Al inicio de la lnea actual A la siguiente posicin del tabulador vertical Imprime: \ \ \\ \a Comilla sencilla Comilla doble Barra invertida Genera un alerta 11
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
FUNCION DE ENTRADA scanf( ) .-

2005

La funcin scanf permite leer datos. Trabaja con la direccin de las variables en que se almacenan los datos. El operador & es utilizado para indicar la direccin de memoria de la variable. Cada instruccin scanf contiene una cadena de control de formato que describe el formato de los datos que se leen. Y contiene adems, la respectiva lista de variables donde se almacenan los datos ledos. Ejemplo:

scanf( %d%f, &edad, &sueldo)

El %d indica que se leer un dato tipo entero que se almacenar en la direccin de memoria de la variable edad. El %f indica que se leer un dato tipo real que se almacenar en la direccin de memoria de la variable sueldo.

OPERADORES EN C
OPRADOR DE ASIGNACION.El operador de asignacin es el signo igual ( = ). La expresin: x = a + b; calcula la suma de las variables a y b, y asigna el resultado a la variable x. La mayora de los clculos se ejecutan en expresiones de asignacin. En general, expresiones como: x = x + 1; en las que la variable del lado izquierdo se repite inmediatamente en el lado derecho, pueden ser escritas en forma compacta como: x + = 1; As: Y

= 2; equivale a

y = y

2;

12
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
OPERADORES INCREMENTALES Y DECREMENTALES:

2005

Son el operador incremental unario + + que aumenta 1 a su operando y el operador decremental unario -- que resta 1 a su operando. ++x Incrementa x en 1 y a continuacin utiliza el nuevo valor de x en la expresin en la cual se encuentre x x++ Utiliza el valor actual de x en la expresin en la cual se encuentra x, y despus incrementa x en 1 --x Se decrementa x en 1 y a continuacin utiliza el nuevo valor de x en la expresin en la cual se encuentra x x-Utiliza el valor actual de x en la expresin en la cual se encuentra x, y despus decrementa x en 1

Ejemplo: x = 5; printf( x = %d,x++); Imprimir x = 5 x = 5; printf( x = %d,+ + x); Imprimir x = 6

OPERADORES ARITMETICOS: Los operadores aritmticos son: OPERADOR Suma Resta Multiplicacin Divisin Residuo de la Divisin Entera + EJEMPLO a + b b - c m n c / b a % b

/ %

13
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
La divisin de enteros da como resultado un entero.

2005

El operador % solo puede ser utilizado con operandos enteros y proporciona el residuo despus de la divisin de los nmeros enteros.

Precedencia de los Operadores Aritmticos: 1- Primero se calculan las expresiones contenidas dentro de parntesis. En caso de parntesis anidados, se evala primero la expresin en el par de parntesis mas interno. 2- A continuacin se calculan las operaciones de multiplicacin, divisin y mdulo, las cuales tienen el mismo nivel de precedencia. Si hay varias multiplicaciones, divisiones mdulos, la evaluacin se hace de izquierda a derecha. 3- Por ltimo, se calculan las operaciones de suma y resta, avanzando de izquierda a derecha si hay varias operaciones de suma y de resta. Ejemplo: x = 3; y = 2; v = 1; Se sustituyen los valores Se efecta primero el clculo del residuo Se calcula la divisin Se calcula la multiplicacin Por ltimo se calcula la resta z = x % y - 4 div v 7; z = 3 % 2 - 4 div 1 7; z = 1 - 4 div 1 7; z = 1 - 4 7; z = 1 - 28 z = - 27

OPERADORES RELACIONALES: Establecen una relacin entre dos o mas trminos. Los operadores relacionales son: > >= < <= == != Mayor que Mayor o Igual que Menor que Menor o Igual que Igual que No Igual que 14
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
OPERADORES LOGICOS:

2005

Operan atendiendo a las reglas de la lgica formal y el resultado obtenido de su aplicacin es verdadero o falso. Los operadores lgicos son:

&& || !

AND ( y lgico) OR (o lgico) NOT (negacin lgica)

Precedencia de todos los operadores vistos hasta ahora: 1- ( ) 2- + + , - - , ! 3- , / , % 4- + , 5- < , <= , > , >= 6- = = , != 7- && 8- | | 9- = , + = , - =, = , / = , % =

OPERADOR TERNARIO ? ? Es un operador ternario de C, tiene la siguiente forma: expresion1? expresion2: expresion3 El operador evala la expresion1 . Si la expresion1 es verdadera, ejecuta la expresion2. En caso contrario, ejecuta la expresion3.

Ejemplo: Nota > = 50 ? printf(Aprobado \ n) : printf( Aplazado \ n); Si la nota es mayor o igual a 50, imprime Aprobado. En caso contrario imprime Aplazado. Esta operacin es usada en algunas situaciones donde la estructura if / else no puede ser usada. 15
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005

INSTRUCCIONES DE CONTROL DE PROGRAMA EN C


INSTRUCCIN DE SELECCIN.En el Lenguaje C se tienen dos tipos de estructuras de seleccin: if else y switch.

Instruccin if else Se utiliza para representar tomas de decisin simple o doble. Si la toma de decisin es simple se escribe: if ( condicin ) Instruccin o grupo de instrucciones

La condicin debe estar encerrada entre parntesis. La estructura if ejecuta la instruccin(es) indicada solo cuando la condicin es verdadera, de lo contrario la instruccin(es) es pasada por alto. Ejemplo:

if ( nota > = 50 ) printf( Aprobado \ n); Si la nota es mayor o igual a 50, la condicin es verdadera. Por tanto, imprime Aprobado, y pasa a la ejecucin de la siguiente instruccin en el programa. Si la nota es menor que 50, la condicin es falsa, por tanto, ignora la instruccin printf(Aprobado \ n), y pasa a la siguiente instruccin en el programa. Si la toma de decisin es doble, se escribe:

if ( condicin ) instruccin(es)1; else instruccin(es)2; La estructura if / else permite especificar que se ejecuten acciones distintas cuando la condicin sea verdadera, que cuando sea falsa. Ejemplo: 16
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
if ( nota > = 50 ) printf( Aprobado \ n); else printf( Reprobado \ n);

2005

Este ejemplo imprime Aprobado, si la nota es mayor o igual a 50, e imprime Reprobado, si la nota es menor a 50. Las estructuras if / else anidadas prueban para varios casos, colocando estructuras if / else dentro de estructuras if / else. Por ejemplo, las instrucciones siguientes imprimirn Excelente para notas mayores a 70, Bueno para notas mayores a 60 pero menores o iguales a 70, Regular para Notas mayores o iguales a 50 pero menores o iguales a 60 y Malo para las dems Notas.

if ( nota > 70 ) printf( Excelente \ n); else if ( nota > 60 ) printf( Bueno \ n); else if ( nota > = 50 ) printf(Regular \ n); else printf( Malo \ n);

Si la nota es mayor a 70 las cuatro condiciones resultarn ciertas, pero solo se ejecutar la instruccin printf(Excelente \ n). Despus que se haya ejecutado, la parte else de la instruccin if (nota > 70) ser pasada por alto. La estructura de seleccin if espera una instruccin a ejecutar dentro de su cuerpo. Para indicar varias instrucciones a ejecutar dentro del cuerpo de un if, se encierran el conjunto de instrucciones entre llaves ( { } ). 17
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005

Un conjunto de instrucciones encerradas entre llaves se conocen como Instruccin Compuesta. Ejemplo:

if ( nota < 50 ) { printf(Reprobado \ n); printf(Debe repetir el examen \ n); } else printf(Aprobado \ n);

Instruccin de Seleccin Mltiple switch En forma ocasional es necesario seleccionar solo una entre mltiples opciones. instruccin de seleccin switch hace posible esta seleccin. Su sintaxis es: La

switch ( expresin ) { case valor1 : Instruccin(es)1; break; case valor2 : Instruccin(es)2; break; : default : Instruccin(es)n; break; } El switch evala la expresin que se proporciona entre parntesis, que debe ser entera o carcter, y compara el resultado con todos los valores propuestos en los case. En el caso que el resultado de la expresin sea igual al valor que acompaa a un case, se ejecutarn las instrucciones asociadas a ese case, hasta encontrar la instruccin break. Si el resultado de la expresin no coincide con alguno de los valores en los case, se ejecutarn las instrucciones asociadas con default. Ejemplo: 18
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
switch ( x ) { case 5 : j = j x; k + +; break; case 10 : z = z - x; break; default : i = j + 2; break; }

2005

Otro Ejemplo de la instruccin switch, en un programa: # include <stdio.h> main( ) { char dia; printf( Introduzca el nmero del da: ); printf( Lunes es 1,......., Domingo es 7 ); dia = getchar( ); switch ( dia ) { case 1 : printf( Hoy se sirve Paella \ n); break; case 2: printf( Hoy se sirve Pasticho \ n); break; : default: printf( No introdujo un nmero vlido); break; } }

19
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005

La funcin getchar( ) proveniente de la biblioteca estndar de entrada/salida, lee un carcter del teclado y lo almacena en la variable dia. El valor de la variable dia es comparado con cada una de las etiquetas case. Suponga que el usuario ha ingresado el valor 1, se ejecuta la instruccin printf(Hoy se sirve Paella \ n);. El enunciado break hace que el control del programa contine con la instruccin siguiente a la estructura switch.

INSTRUCCIONES DE REPETICION.Una instruccin de Repeticin permite especificar que se repita un bloque de instrucciones dependiendo de una condicin.

Instruccin de Repeticin while Esta instruccin conocida como ciclo while, permite la repeticin de un bloque de

instrucciones mientras una condicin sea verdadera. Su sintaxis es la siguiente: while ( condicin ) Instruccin(es); La instruccin o grupo de instrucciones que se repiten, constituyen el cuerpo del ciclo. Si el cuerpo del ciclo est formado por mas de una instruccin, deben ir encerradas entre llaves ( {}). La condicin debe ir entre parntesis, y se evala al comienzo del ciclo. En tanto la condicin sea verdadera, el cuerpo del ciclo se ejecutar repetidamente. El cuerpo del ciclo debe incluir una instruccin que har que en un momento determinado la condicin se haga falsa. Llegado este punto la repeticin termina, y se ejecutar la instruccin siguiente a la estructura while. Ejemplo: while ( total < = 35000 ) { printf( Ingrese el precio del artculo: ); scanf(%f,&precio); printf(\ nIndique la cantidad de unidades compradas); scanf(%d,&uc); total = total + precio uc; } 20
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005

En este caso lee el precio de un artculo y el nmero de unidades compradas de ese artculo. Calcula el total de multiplicar el precio por las unidades compradas y lo acumula. El ciclo se detiene cuando el total se hace mayor a 35000.

Instruccin de Repeticin do while Es una estructura similar a la estructura while. Su sintaxis es la siguiente: do Instruccin(es); while ( condicin );

La condicin debe estar encerrada entre parntesis. La estructura do while prueba la condicin despus de ejecutar el cuerpo del ciclo, por tanto, el cuerpo del ciclo se ejecutar por lo menos una vez. Las instrucciones que pertenecen al cuerpo del ciclo se encuentran entre las palabras reservadas do y while. El cuerpo del ciclo se ejecutar repetidamente mientras la condicin se mantenga verdadera. Al igual que en el ciclo while, el cuerpo del ciclo deber incluir una instruccin que en un momento determinado cambie el valor de la condicin. Ejemplo:

/* Programa que usa la instruccin do while */ # include <stdio.h> main( ) { int con = 1; do printf(%d \ n, con ); while ( + + con < = 10 ); return 0; } Este programa imprime los nmeros del 1 al 10. Utiliza la variable con como contador que es incrementado en la evaluacin de la condicin. 21
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
Instruccin de Repeticin for

2005

La estructura for maneja de manera automtica todos los detalles de la repeticin de un bloque de instrucciones. Su sintaxis es la siguiente:

for ( expresion1; expresion2; expresion3 ) Instruccin(es);

Donde: expresion1: inicializa la variable de control del ciclo expresion2: es la condicin del ciclo expresion3: incrementa la variable de control del ciclo Ejemplo: Se tomar el ejemplo anterior, pero ahora con la estructura for.

/* Programa que usa la instruccin for */ # include <stdio.h> main( ) { int con; for ( con = 1; con < = 10; con + + ) printf( %d \ n, con ); return 0; }

Cuando la instruccin for inicia su ejecucin, la variable con se inicializa en 1.

continuacin se evala la condicin. Como el resultado es verdadero, se ejecuta el cuerpo del ciclo ( se imprime con ). A continuacin se incrementa la variable con y el ciclo se inicia de nuevo. El ciclo finaliza cuando el resultado de la evaluacin de la condicin se hace falso. Al igual que en el ciclo while, si el cuerpo del ciclo est formado por mas de una instruccin, deben ir encerradas entre llaves ( {}). 22
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C

2005

Cuando se utilizan ciclos, frecuentemente se maneja dos tipos de variables muy particulares: los contadores y los acumuladores, por esta razn es muy importante conocer estos conceptos.

Variable Contador.El trmino se deriva de contar. Se trata de una variable cuya forma general es:

variable_contador = variable_contador + valor_ fijo

Ejemplo: con = con + 1;

Permite contar de 1 en 1. Generalmente esta instruccin est dentro de un ciclo, y debe tomar un valor inicial fuera del ciclo que normalmente es cero.

Variable Acumulador.El trmino se deriva de sumar, acumular cantidades. Se trata de una variable cuya forma general es:

variable_acumulador = variable_acumulador + cantidad_variable

Ejemplo: suma = suma + nota;

Acumula o calcula la sumatoria de la variable nota. Al igual que en el caso de contador, . generalmente esta instruccin est dentro de un ciclo, y debe tomar un valor inicial fuera del ciclo que normalmente es cero.

23
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA

Lenguaje C
Instrucciones break y continue La instruccin break tiene dos usos: incondicionalmente de un ciclo while, do while o for.

2005

salir de una estructura switch,

o salir

La programacin estructurada sostiene que con las instrucciones de seleccin y las instrucciones de repeticin se puede construir cualquier programa, fcil de leer y comprender, y por tanto, el uso indiscriminado del break va en contra de los principios de la programacin estructurada. No obstante, en algunos casos pude ser necesario cambiar incondicionalmente la ejecucin de un ciclo. La sintaxis de la instruccin break es: break;

La instruccin continue cuando se ejecuta dentro de un ciclo, salta los enunciados restantes del cuerpo del ciclo, ejecuta la siguiente iteracin del ciclo, haciendo que se evale de nuevo la condicin. Su sintaxis es: continue;

En el caso de un ciclo for, el control pasa a la ejecucin de la expresin incremental y a continuacin se evala la condicin del ciclo. En los ciclos while y do while, el control pasa a la evaluacin de la condicin del ciclo.

24
Guia Preparada por: .............................................................................................NEREYDA CARRERO MIRANDA