Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de...

20
M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA Introducción a la Programación LENGUAJE C

Transcript of Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de...

Page 1: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Introducción a la Programación

LENGUAJE C

Page 2: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

La historia de C parte de unlenguaje anterior, el lenguaje B,escrito por Ken Thompson en 1970con el objetivo de recodificar elsistema operativo UNIX, que hastael momento se había programadoen ensamblador.

Page 3: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

En 1972, Dennis Ritchie,modifica el lenguaje B, creandoel lenguaje C y reescribiendo elUNIX en dicho lenguaje.

La novedad que proporcionó ellenguaje C sobre el lenguaje Bfue el diseño de tipos yestructuras de datos.

Page 4: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

En 1972, es Dennis Ritchie (de losLaboratorios Bell de AT&T) quien diseñafinalmente C a partir del B deThompson. Es un lenguaje que permiterealizar una programación estructuradaeconomizando las expresiones, conabundancia de operadores y tipos dedatos, codificando en alto y bajo nivelsimultáneamente.

Page 5: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Durante muchos años no existenreglas estándar para el lenguaje,pero en 1983 se decide formar uncomité con el objetivo de crear elestándar ANSI (Instituto NacionalAmericano de Estándares).

A principios de los 90 el estándares reconocido por la ISO(Organización Internacional deEstándares) y comienza acomercializarse con el nombreANSI C.

Page 6: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Modelo de Compilación en Lenguaje C

Preprocesador: Procesa todas lasdirectivas del preprocesador;iniciando con la sentencia include.

Compilación: Traduce el códigofuente a código ensamblador.

Ensamblador: Realiza el ensambladoa código objeto. Esta fase estánormalmente integrada con lacompilación.

Enlazador o Linker: resuelve lasreferencias externas entre distintosmódulos objetos y bibliotecas paragenera el fichero ejecutable.

Page 7: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Page 8: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Las librerías en lenguaje C, son archivos que contienen o almacenanfunciones que realizan operaciones y cálculos de uso frecuente y son partede cada compilador. El programador debe invocar todos aquellos archivos obibliotecas que necesite.

#include<stdio.h>: contiene los prototipos de las funciones, macros, y tipospara manipular datos de entrada y salida.

#include<stdlib.h>:contiene tipos, macros y funciones para la conversiónnumérica, generación de números aleatorios, búsquedas y ordenación,gestión de memoria y tareas similares.

Page 9: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Palabras Reservadas

Page 10: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Tipo Longitud Rango

unsigned char 8 bits 0 a 255

char 8 bits -128 a 127

enum 16 bits -32,768 a 32,767

unsigned int 16 bits 0 a 65,535

short int 16 bits -32,768 a 32,767

int 16 bits -32,768 a 32,767

unsigned long 32 bits 0 a 4,294,967,295

long 32 bits -2,147,483,648 a 2,147,483,647

float 32 bits 3.4*(10^-38) a 3.4*(10^+38)

double 64 bits 1.7*(10^-308) a 1.7*(10^+308)

long double 80 bits 3.4*(10^-4932) a 1.1*(10^+4932)

Tipos de datos numéricos

Page 11: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Con la directiva include seindica al preprocesador que seincluya todo el texto de estefichero en el ficheroHolaMundo.c. La librería stdioincluye todas las declaracionesde funciones relacionadas conla entrada y salida de datos.

La función main, que se corresponde con el punto de entrada al programa. Es la primerafunción en ser llamada. El prototipo de la función (nombre, argumentos, tipo de losargumentos y tipo de retorno de la llamada) indica que la función no acepta ningúnargumento (void) y que la función devuelve un valor de tipo entero (int).

Page 12: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Page 13: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Page 14: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Dev-C++ es un entorno de desarrollointegrado (IDE) para programar en lenguajeC/C++.

Usa MinGW, que es una versión de GCC(GNU Compiler Collection) como sucompilador.

https://sourceforge.net/projects/orwelldevcpp/

Page 15: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Page 16: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Page 17: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Page 18: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

1. Escribir el código2. Guardar en disco

3. Compilar

4. Ejecutar (correr)

IDE Dev-C++

Page 19: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Señalamiento de error

Explicación del error

expected “;” before “return”

esperaba “;” antes de “return”

Page 20: Introducción a la Programación LENGUAJE C · lenguaje C sobre el lenguaje B fue el diseño de tipos y estructuras de datos. M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA En 1972, es

M.C.E. CHRISTIAN MAURCIO CASTILLO ESTRADA

Escribir programa en

el editor de texto

Compilar el programa

fuente

Hay errores?

Ejecutar

el programa

si

no

o Ctrl-F9

o Ctrl-F10