Transcription of CURSO BASICO DE PROGRAMACION EN C - profesores.fi …
1 CURSO BASICO DE PROGRAMACION EN CApoyo a Investigaci n C. P. Inform ticos U. C. BASICO DE PROGRAMACION EN C. Servicios Inform ticos U. C. del aritm l de asignaci de direcci de y asociatividad de los de de selecci de iteraci de a funciones_____20 CURSO BASICO DE PROGRAMACION EN C. Servicios Inform ticos U. C. Y n de n de tica de y de n m de asignaci n din mica, malloc() y free()_____2511 ENTRADA Y por por archivos_____2912 PREPROCESADOR_____3113 LIBRERIAS_____3314 EJERCICIOS_____3415 BIBLIOGRAFIA_____51 CURSO BASICO DE PROGRAMACION EN C. Servicios Inform ticos U. C. INTRODUCCIONEl lenguaje C fue inventado e implementado por primera vez por Dennis Ritchie en unDEC PDP-11 en Bell el resultado de un proceso de desarrollo comenzado con un lenguaje anteriordenominado B, inventado por Ken Thompson.
2 En los a os 70 el lenguaje B llev aldesarrollo del C. En 1978, Brian Kernighan y Dennis Ritchie publicaron el libro The CProgramming Language que ha servido hasta la actualidad como definici n eficiente deeste muchos a os el est ndar de C fue la versi n proporcionada con la versi n cincodel sistema operativo UNIX. En 1983, el instituto de est ndares americanos estableci un est ndar que definiera el lenguaje C, conocido como ANSI C. Hoy d a, todos losprincipales compiladores de C llevan implementado el est ndar lenguaje C se denomina como un lenguaje de nivel medio, puesto que combinaelementos de lenguajes de alto nivel (Fortran, Pascal, ) con el funcionalismo dellenguaje permite la manipulaci n de bits, bytes y direcciones (los elementos b sicos con quefunciona la computadora).
3 Otras caracter sticas del C es que posee muy pocas palabras clave (32, donde 27 fuerondefinidas en la versi n original y cinco a adidas por el comit del ANSI, enum, const,signed, void y volatile). Todas las palabras clave de C est n en min sculas (C distingueentre las may sculas y min sculas). En la siguiente tabla se muestran las 32 palabrasclave:autobreakcasecharconstcont inuedefaultdodoubleelseenumexternfloatfo rgotoifintlongregisterreturnshortsigneds izeofstaticstructswitchtypedefunionunsig nedvoidvolatilewhileLos programas en C consisten en una o m s funciones. La nica funci n que debe estarabsolutamente presente es la denominada main, siendo la primera funci n que esllamada cuando comienza la ejecuci n del programa.
4 Aunque main no format cnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se empleapara nombrar una variable, probablemente confundir al forma general de un programa en C es:instrucciones del preprocesadordeclaraciones globalestipo_devuelto main(lista de par metros){secuencia de sentencias} CURSO BASICO DE PROGRAMACION EN C. Servicios Inform ticos U. C. funci n_1(lista de par metros){secuencia de sentencias}tipo_devuelto funci n_2(lista de par metros){secuencia de sentencias}..tipo_devuelto funci n_n(lista de par metros){secuencia de sentencias}El programa as escrito se denomina programa fuente y puede estar escrito en uno ovarios que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todasaquellas funciones de la biblioteca que se proceso de compilar consiste en traducir el programa fuente a c digo o lenguajem proceso de linkaje (enlazado) consiste en a adir rutinas (propias o bibliotecasexistentes en el mercado)
5 Que tambi n est n en c digo m quina, es decir, est n vez enlazado el programa objeto, tenemos un programa ejecutable que se puedeejecutar en el procesos son realizados por un programa llamado compilador en las m quinas Alpha del C. P. D. es el DEC OSF/1 Versi n Paracompilar y enlazar un programa con este compilador basta con hacercc crear, si no hay errores, un ejecutable ( ). Existen m ltiples opciones en elcompilador que se pueden comprobar con el comando de ayuda de los ejemplos del CURSO siguen la sintaxis aceptada por el est ndar ANSI, con lo que sonportables con cualquier otro compilador que lo lleve BASICO DE PROGRAMACION EN C.
6 Servicios Inform ticos U. C. ComentariosLos comentarios son textos que no son procesados por el compilador. Sirven comoinformaci n al que un texto sea comentario debe estar entre los s mbolos /* (marca el comienzo) y*/ (marca el final de comentario). IdentificadoresSe usan para referenciar las variables, las funciones, las etiquetas y otros objetosdefinidos por el usuario. La longitud del identificador puede variar entre uno o varioscaracteres (se recomienda no m s de 31 y si el identificador est envuelto en el procesode enlazado al menos los seis primeros deben ser significativos).El primer car cter debe ser una letra o un s mbolo subrayado y los caracteres siguientespueden ser letras, n meros o s mbolos de subrayado.
7 Las min sculas y las may sculasse tratan como identificador no puede ser igual a una palabra clave de C y no debe tener el mismonombre que una funci n ya escrita o que se encuentre en la biblioteca de ConstantesLas constantes son expresiones con un significado representaci n m s simple de un concepto de este lenguaje son las ser:- N meros enteros: Su formato es signo d gitos marcadores . El signo puede ser - (negativo) o + (positivo, por defecto). Los d gitos se pueden escribir en notaci ndecimal, octal (base 8, un 0 seguido de una secuencia de n meros del 0 al 7) o enhexadecimal (base 16, un 0 seguido por una x (o X) y una secuencia de d gitos del 0al 9 y de la A B a la F).
8 Los marcadores definen el tipo de entero (ver cap tulosiguiente), la l (o L) asocia un entero long y la u (o U) de tipo unsigned. Porejemplo N meros reales (con parte decimal): Su formato es signo d gitos e signo_exponenteexponente marcador . El signo indica el signo de la mantisa. D gitos indica unasecuencia de n meros que pueden llevar un punto separando la parte entera y ladecimal. e indica el comienzo del valor del exponente de base 10. Exponente es unaconstante entera decimal. Marcador es una (f o F) y/o (l o L), donde las primerasindican una constante float y las segundas una doble precisi n.
9 Por ejemplo (es por 10 a la 17). CURSO BASICO DE PROGRAMACION EN C. Servicios Inform ticos U. C. Caracteres: Su forma es car cter (car cter entre apostrofos). El car cter puede serescribible (es imprimible desde teclado) o de escape en los que hay que poner uncar cter especial (\) para avisar al compilador. Todos los caracteres escribibles sepueden poner en forma de escape con el c digo octal correspondiente ( a es igual a \141 ). El car cter nulo (NULL) se puede representar como \0 . Este car cter espuesto siempre por el compilador al final de cualquiera cadena de Cadenas de caracteres: Es una secuencia de caracteres (escribibles o de escape)encerrada entre dobles asignar un identificador a una constante se realiza con la directiva #define (vercap tulo 12).
10 VariablesUna variable es una posici n de memoria con nombre que se usa para mantener un valorque puede ser modificado en el programa. Todas las variables deben ser declaradasantes de poder usarlas. Una variable puede ser fijada a una constante con la sintaxisconst tipo identificador = valor (por ejemplo const int a=10). Tambi n existe otromodificador del tipo de acceso (volatile) que permite cambiar el valor de una variablepor medios no expl citamente especificados por el programa, por ejemplo la direcci nde una variable global que apunta a un puerto externo (volatile unsigned char*puerto=0x30;).