Professional Documents
Culture Documents
Bibliografa:
Texto Bsico
Deitel / Deitel
Programacin En C / C++
Tercera Edicin. Mc Graw Hill, Mxico, 1997.
Textos Complementarios
1) Byron Gottriend
Programacin en C
Segunda Edicin. Schaum, Mxico, 1995.
3) Herbert Schildt
Programacin en C
Tercera Edicin. Mc Graw Hill
Mxico 1990.
Contenido:
Introduccin a la Programacin:
Los Lenguajes utilizados para escribir programas de computadoras que pueden ser entendidos por
ellas se denominan Lenguajes de programacin.
Lenguaje de mquina
Lenguaje de bajo nivel
Lenguaje de alto nivel
1- Lenguaje de mquina:
Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan
traduccin posterior para que la UCP pueda comprender y ejecutar el programa. Las instrucciones
en lenguaje de mquina se expresan en trminos de la unidad de memoria ms pequea.
Los lenguajes de programacin de alto nivel (Ada, Basic, Cobol, Fortran, Modula-2, Pascal, etc) son
aquellos en que las instrucciones o sentencias en la computadora son escritas con palabras
similares a los lenguajes humano.
Los lenguajes de programacin son en general transportables, esto significa que un programa
escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificacin en
diferentes tipos de computadora.
Los programas escritos en lenguajes de alto nivel no son entendibles directamente por la mquina.
Necesitan ser traducidos a instrucciones en lenguaje de mquina que entiendan las computadoras.
Los programas que realizan esta traduccin se llaman compiladores y los programas escrito en un
lenguaje de alto nivel se llaman programas fuente.
Este programa objeto se utiliza en la fase de ejecucin del programa. El proceso de traduccin de
un programa se denomina compilacin y tras la fase de enlace se obtiene un programa ejecutable
directamente por la computadora.
El programa fuente debe ser traducido a lenguaje de mquina este proceso se realiza con el
compilador y el sistema operativo que se encarga prcticamente de la compilacin.
Este proceso se repite hasta que no se producen errores, obtenindose el programa objeto que
todava no es ejecutable directamente.
Verificacin y Depuracin de un programa:
La depuracin es el proceso de encontrar los errores del programa y corregir o eliminar dichos
errores.
Documentacin y Mantenimiento:
Programa:
Historia de C
C evolucion a partir de dos lenguajes previos BCPL y B.BCPL fue desarrollado en 1967 por
Martin Richards como un lenguaje para escribir software y compiladores de sistemas operativos.
Tanto BCPL como B eran lenguajes sin tipo cada elemento de datos ocupaba una palabra en
memoria y quedaba a cargo del programador el tratar un elemento de datos como si se tratar de
un nmero entero o de un nmero real.
El lenguaje C fue derivado del lenguaje B por Dennis Ritchie de los laboratorios Bell y al inicio se
implant en 1972 en una computadora PDP-11 de DEC.
C al inicio se hizo muy conocido como lenguaje de desarrollo del sistema operativo UNIX.
Hoy en da virtualmente todos los sistemas principales estn escritos en C o C++. A lo largo de las
ltimas dos dcadas C se ha hecho disponible para la mayor parte de las computadoras. C es
independiente del Hardware con un diseo cuidadoso, es posible escribir programas en C que sean
porttiles hacia la mayor parte de las computadoras.
C utiliza muchos de los conceptos importantes de BCPL y de B, adems de aadir los tipos de datos
y otras caractersticas poderosas.
La Biblioteca Estndar de C
Los programas en C consisten de mdulos o piezas que se denominan funciones. Usted puede
programar todas las funciones que necesita para formar un programa en C, pero la mayor parte de
los programadores de C aprovechan una gran recopilacin de funciones existentes que se conocen
como la biblioteca estndar de C.
Entonces para aprender el Universo de C de hecho existen dos parte:
El usar funciones de la biblioteca estndar ANSI en vez de escribir sus propias versiones
comparables, puede mejorar el rendimiento de los programas, porque estas funciones
estn escritas de forma cuidadosa para que se ejecuten con eficacia.
1. El entorno
2. El lenguaje
3. Biblioteca estndar de C.
Los programas C casi siempre pasan a travs de 6 fases para su ejecucin estas fases son:
Editar
Preprocesar
Compilar
Enlazar
Cargar
Ejecutar
La primera fase consiste en editar un archivo, esto se ejecuta con un programa de edicin. El
programador escribe un programa C utilizando el editor y si es necesario hace correcciones. El
programa a continuacin se almacena en un dispositivo de almacenamiento secundario como sera
un disco.
El preprocesador es invocado de manera automtica por el compilador antes que el programa sea
convertido a lenguaje de mquina.
La cuarta fase se conoce como enlace. Los programas en C por lo general contienen referencias a
funciones definidas en algn otro lugar como en biblioteca estndar o en bibliotecas de un grupo
de programadores que trabajan en un proyecto en particular.
Entonces el cdigo objeto producido por el compilador C tpicamente contendr Huecos debido
a estas partes faltantes, un enlazador vincular el cdigo objeto con el cdigo de las funciones
faltantes para producir una imagen ejecutable (sin ninguna parte faltante)
La quinta fase se llama cargar. Antes de que un programa pueda ser ejecutado, el mismo debe se
colocado en memoria. Esto se lleva a cabo mediante el cargador, que toma la imagen ejecutable
del disco y la transfiere a la memoria.
Por ltimo, la computadora bajo control de su CPU, ejecuta el programa una instruccin a la vez.
Operadores Aritmticos
Suma + f+7
Resta - pc
Multiplicacin * b*m
Divisin / x/y
Modulo % r%s
Div / r/s
Modulo:
7/4=1
7%4=3
17 / 5 = 3
17 % 5= 2
Operadores Relacionales
Igual == x == y
Diferencia != x != y
Operadores Lgicos
Or || x || y
Not ! x!y
Las expresiones aritmticas en C deben de ser escritas en una lnea continua
Orden de Precedencia:
Palabras Reservadas: Son aquellas palabras que son propias del lenguaje utilizado
Tipos de Datos
long double
double
float
long int
unsigned int
int
short
char
-short (entero formato corto)2 bytes: Este tipo short proporciona un entero en el rango
De forma similar el tipo unsigned short puede almacenar valores en el rango de 0 65535.
- long(entero formato largo) 4 bytes: Este tipo de nmero es idoneo para aplicaciones de
gestin. Al igual que los enteros, son nmeros sin punto decimal comprendido en
-2147483648.
Estos nmeros son los ms recurridos en un lenguaje de programacin. Un real en simple precisin
es un nmero que puede tener un punto decimal y puede estar comprendido em um rango. 7
digitos significativos.
double: es un tipo de punto flotante parecido a float, pero una variable de tipo double puede
almacenar un valor de una magnitud mucho mayor y con mayor precisin que float.
Otros tipos:
- pointers(puntero)
- struct (registros)
- union (uniones
- Array (Arreglos)
- void (tipo de dato no numrico)
Especificador de conversin
Un especificador de conversin debe ser usado en una instruccin de lectura y escritura se
representa por un % y se hace acompaar de una letra que represente al tipo de dato usado.
El preprocesador es invocado de manera automtica por el compilador antes que el programa sea
convertido a lenguaje de mquina.
1- Si el nombre del archivo est encerrado entre corchetes angulares < > y que se
utilizan para los archivos de cabecera estndar de biblioteca la bsqueda se llevar a
cabo de forma independiente a la puesta en prctica, por lo regular a travs de
directorios predesignados.
Archivos de cabeceras
Cada biblioteca estndar tiene su archivo de cabecera correspondiente, que contiene los
prototipos de funcin de todas las funciones de dicha biblioteca y las definiciones de varios tipos
de datos y de constantes requeridas por dichas funciones.
Estos archivos de cabeceras se pueden incluir en programas. El programador puede crear archivos
de cabecera personalizados. Los archivos de cabeceras personalizados definidos por el usuario,
tambin deben terminare en .h
Un archivo de cabecera definido por el programador puede ser incluido utilizando la directriz de
preprocesador #include.
Ejemplo: El archivo de cabecera square.h puede ser incluido en nuestro programa mediante la
directriz.
#include square.h
#include <stdio.h>
Es una directriz del preprocesador de C. Las lneas que se inician con el signo de # son procesadas
por el preprocesador antes de la compilacin del programa.
Esta lnea de forma especfica le indica al preprocesador que incluya dentro del programa el
contenido del archivo de cabecera de entrada y salida.
Aunque la inclusin de stdio.h es opcional deber ser incluida en cualquier programa C que utilice
funciones de E/S estndar de biblioteca.
main( )
Forma parte de todo programa de C. Los parntesis de main indican que main es un bloque
constructivo del programa conocido como una funcin. Los programas en C contienen una o ms
funciones, una de las cuales deber ser main.
Todos los programas en C empiezan a ejecutarse en la funcin main. Todas las funciones debern
ser precedidas por un comentario que describa el objeto de la funcin.
Comentario
/ * comentario * /
Indica que esta lnea es un comentario que se inserta para documentar los programas y mejorar la
legibilidad de los mismos. Los comentarios son ignorados por el compilador de C.
El print y el scanf son funciones que introducen flujos de datos estndar de entrada y extraen
flujos de datos estndar de salida respectivamente.
Las otras cuatro funciones que utilizan entradas y salidas estndar gets, puts, getchar y putchar y el
archivo de cabecera <stdio.h> se incluye en aquellos programas que llaman a estas funciones.
Se consigue entrada con formato preciso utilizando scanf. Cada enunciado scanf contiene una
cadena de control de formato que describe el formato de los datos que se introducen. La cadena
de control de formato est formada de especificaciones de conversin y de caracteres literales.
Al introducir datos, solicite al usuario un elemento o pocos elementos de datos a la vez. Evite
solicitar al usuario la introduccin de muchos elementos de datos en respuesta a una solicitud.
Ejemplo
& este operador de direccin en C le indica al scanf la posicin en memoria en la cual est
almacenada la variable. La computadora almacena el valor correspondiente a num en dicha
posicin.
Recuerde anteceder cada variable en todos los enunciados scanf con un &
Utilizando printf se consigue un formato de salida preciso. Cada llamada printf contiene una
cadena de control de formato, que describe el formato de la salida. La cadena de control de
formato consiste de especificador de conversin, banderas, ancho de campo, precisiones y
caracteres literales.
1) #include <stdio.h>
main()
{
printf ( Bienvenido);
printf ( a lenguaje C);
}
Salida: Bienvenido a C