Introducción al Lenguaje C

Ritchie, dentro del proyecto UNIX. •Se propagó rápidamente como lenguaje predilecto para programación de sistemas. •Está
65KB Größe 9 Downloads 163 Ansichten
12/08/2010

Introducción al Lenguaje C

Historia del C  Creado en 1972 por Brian Kernighan y Dennis Ritchie, dentro del proyecto UNIX  Se propagó rápidamente como lenguaje predilecto para programación de sistemas  Estándar ANSI en los ochenta  En 1985 se inventa el C C++,, sucesor de C con orientación a objetos

1

12/08/2010

Características del lenguaje  Lenguaje de programación estructurada  Extremadamente simple  Permite generar código pequeño y eficiente  Poca comprobación de errores en el compilador (ej. tipado débil, punteros)  Impone I poca di disciplina, i li da d mucha h libertad lib t d all programador

Un programa muy simple #include

Instrucción al preprocesador

main() { /* un comentario 1 línea */ printf (“hola, mundo\n”); // comentario varias líneas

Todo programa debe tener una función main() Convocación de función

}

2

12/08/2010

Modelo de compilación en C

Modelo de compilación en C El preprocesador 

El preprocesador transforma el programa fuente de esta forma:  Elimina los comentarios  Incluye en el fuente el contenido de los archivos declarados con #include (a estos archivos se les suele llamar cabeceras)

 Sustituye en el fuente las macros declaradas con #define (ej. #define CIEN 100).

3

12/08/2010

Modelo de compilación en C El compilador

 El compilador convierte el fuente en un archivo en lenguaje de máquina: archivo objeto. Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.

Modelo de compilación en C El enlazador (linker (linker))

 El enlazador l d genera ell archivo h ejecutable bl binario, b a partir del contenido de los archivos objetos y de las bibliotecas.  Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama.

4

12/08/2010

Modelo de compilación en C Bibliotecas estandard  La L especificación ifi ió d dell lenguaje l j C no incluye i l manejo j d de cadenas, entrada/salida, etc.  Por ello, recurre bastante a funciones de biblioteca (definidas en las bibliotecas estándar):  entrada/salida: printf, scanf, fopen, fclose...  cadenas: strcpy, strcpy strcat, strcat strlen... strlen  memoria: malloc, free, memcpy...

Estructura de un programa #include float funci(int i); main() { inclusión de archivos cabeceras

int j; char a;

declaraciones de tipos y variables

j = 2; printf (“%f”, funci(j)); } definiciones de funciones

float funci(int i) { return( i /100); }

5