La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a lenguaje C

Presentaciones similares


Presentación del tema: "Introducción a lenguaje C"— Transcripción de la presentación:

1 Introducción a lenguaje C
18/08/09 Introducción a lenguaje C Estas notas tienen por objeto facilitar el dictado de las clases teóricas y por lo tanto NO se deberán usar en reemplazo del libro de texto. El texto primario que seguirá la cátedra es: “El lenguaje deprogramacion C" Brian W Kernighan y Dennis M. Ritchie Ed. Prentice-Hall, segunda edición, 1988. 06/04/2017 Catedra de Programacion I

2 Introducción a lenguaje C
18/08/09 Introducción a lenguaje C Historia del Lenguaje C El lenguaje C nació en los Laboratorios Bell de AT&T y ha sido estrechamente asociado con el sistema operativo UNIX, ya que su desarrollo se realizó en este sistema y debido a que tanto UNIX como el propio compilador C y la casi totalidad de los programas y herramientas de UNIX, fueron escritos en C. Su eficiencia y claridad han hecho que el lenguaje ensamblador apenas haya sido utilizado en UNIX. 06/04/2017 Catedra de Programacion I

3 Introducción a lenguaje C
18/08/09 Introducción a lenguaje C Historia del Lenguaje C Este lenguaje está basado en el lenguaje B escrito por Ken Thompson en 1970 con intención de recodificar el UNIX, que en su fase de arranque estaba codificado en ensamblador,en vistas a su transportabilidad a otras máquinas. B era un lenguaje evolucionado e independiente de la máquina, inspirado en el lenguaje BCPL concebido por Martin Richard en 1967. 06/04/2017 Catedra de Programacion I

4 Introducción a lenguaje C
18/08/09 Introducción a lenguaje C Historia del Lenguaje C En 1972, Dennis Ritchie, toma el relevo y modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en dicho lenguaje . La novedad que proporcionó el lenguaje C sobre el B fué el diseño de tipos y estructuras de datos. En 1978 Brian Kernighan and Dennis Ritchie publicaron la primera versión de su libro: ” The C Programming Language” 06/04/2017 Catedra de Programacion I

5 Introducción a lenguaje C
18/08/09 Introducción a lenguaje C Historia del Lenguaje C En 1983 se reunió el instituto nacional americano para la estandarización (American National Standards Institute) para formar un comité (X3J11) con el objeto de estandarizar el lenguaje. Esta labor finalizo en el año 1989 [ANSI 89].Los resultados se pueden encontrar en segunda edición del libro de K&R (apéndice A). 06/04/2017 Catedra de Programacion I

6 Introducción a lenguaje C
18/08/09 Introducción a lenguaje C EL Lenguaje C El C es un lenguaje de programación de propósito general. Sus principales Características son: Programación Estructurada Economía en las expresiones Abundancia en operadores y tipos de datos Codificación de Alto y Bajo nivel simultáneamente Reemplaza ventajosamente la programación en ensamblador Utilización natural de las funciones primitivas del sistema No está orientado a ningún área en especial Producción de código objeto altamente optimizado Altamente transportable 06/04/2017 Catedra de Programacion I

7 Introducción a lenguaje C
18/08/09 Estructura de un programa en C #include <stdio.h> main ( ) /* Función principal */ { printf ("Buenos dias\n"); } $stdio.h ORG $2000 JSR main SWI main equ * PSHX LDD #mensaje TSX STD 0,X JSR printf PULX RTS mensaje FCC ‘Buenos dias’ FCB $0a \n Nueva línea (CR) FCB $00 String terminado en 0 Salida Buenos días _ 06/04/2017 Catedra de Programacion I

8 Introducción a lenguaje C
18/08/09 Estructura de un programa en C Nombre de la función: “main” en este caso #include <stdio.h> main ( ) /* Función principal */ { printf ("Buenos dias\n"); } Las llaves {} indican el inicio y fin de la función (bloque) Salida Buenos días _ 06/04/2017 Catedra de Programacion I

9 Introducción a lenguaje C
18/08/09 Estructura de un programa en C Comentarios: Empiezan con /* y terminan con */ #include <stdio.h> main ( ) /* Función principal */ { printf ("Buenos dias\n"); /* llamada a * la subrutina * printf */ } Salida Buenos días _ 06/04/2017 Catedra de Programacion I

10 Introducción a lenguaje C
18/08/09 Estructura de un programa en C #include <stdio.h> main ( ) /* Función principal */ { printf ("Buenos dias\n"); printf ("Bienvenido a"); printf (“Programacion I\n"); } No olvidar el ; después de cada sentencia Salida Buenos días Bienvenido a Programación I _ 06/04/2017 Catedra de Programacion I

11 Introducción a lenguaje C
18/08/09 Estructura de un programa en C #include <stdio.h> main ( ) /* Función principal */ { saludo( ); primer_mensaje( ); } saludo() /* Función saludo */ printf ("Buenos dias\n"); primer_mensaje() /* Función primer_mensaje */ printf("Un programa esta formado "); printf("por funciones\n"); Secuencia: main equ * ……… jsr saludo jsr primer_mensaje swi Salida Buenos días Un programa esta formado por funciones _ 06/04/2017 Catedra de Programacion I

12 Introducción a lenguaje C
18/08/09 Caracteres de control mas comunes Sequence Value Char What it does \a 0x07 BEL Audible bell \b 0x08 BS Backspace \f 0x0C FF Formfeed \n 0x0A LF Newline (linefeed) \r 0x0D CR Carriage return \t 0x09 HT Tab (horizontal) \v 0x0B VT Vertical tab \\ 0x5c \ Backslash \' 0x27 ' Single quote (apostrophe) \" 0x22 " Double quote \? 0x3F ? Question mark \O any O=a string of up to three octal digits \xH any H=a string of hex digits \XH any H=a string of hex digits 06/04/2017 Catedra de Programacion I

13 Introducción a lenguaje C
18/08/09 Ejemplos: printf("hola\nmundo“); printf(“c:\\proyectos\\primero.c”); printf("Caida Libre\n\n\nAltura\tVelocidad\n10\t200"); 06/04/2017 Catedra de Programacion I

14 Introducción a lenguaje C
18/08/09 Tipos de datos En C existen cuatro tipos de datos diferentes Enteros (Nativo en C) De punto Flotante Punteros Tipos agregados (arreglos y estructuras) 06/04/2017 Catedra de Programacion I

15 Introducción a lenguaje C
18/08/09 Tipos Enteros En C la cantidad de bytes que forma un entero depende de la implementación (procesador). Por ejemplo para un procesador de 16-bit Type Size (bits) Range Sample applications unsigned char 8 0 to Small numbers and full PC character set char to Very small numbers and ASCII characters unsigned int 16 0 to 65,535 Larger numbers and loops short int ,768 to 32,767 Counting, small numbers, loop control int ,768 to 32,767 Counting, small numbers, loop control unsigned long 32 0 to 4,294,967,295 Astronomical distances long 32 -2,147,483,648 to 2,147,483,647 Large numbers, populations Tenemos entonces 4 tipos basicos : char, short/long int e int. Estos últimos pueden ser signados (default) o no signados. (En C los números signados quedan ocultos en assembler determinan su uso ) Resumiendo: [unsigned / signed] [short/long] [int] [unsigned / signed] [char] 06/04/2017 Catedra de Programacion I

16 Introducción a lenguaje C
18/08/09 Variables En C a diferencia del lenguaje assembler se deben declarar las variables esto es especificar de manera explícita el tamaño y su nombre. Declaración  Tipo nombre ; Declaración + inicialización  Tipo nombre= valor inicial; Ej.: int velocidad; /* Velocidad es una variable de tipo entera */ int distancia=10; /* Velocidad es una variable de tipo entera valor inicial 10 */ 06/04/2017 Catedra de Programacion I

17 Introducción a lenguaje C
18/08/09 Variables Globales Ademas del tipo las variables tienen dos atributos adicionales Visibilidad (desde que partes del programa pueden ser vistas) Tipo de almacenamiento (donde se almacena la variable) Cuando una variable se declara fuera de cualquier función es una variable global (decimos que tiene visibilidad global).Estas variables serán accesibles desde cualquier parte del programa El tipo de almacenamiento para estas variables es estático con esto queremos decir que dicha variable no deja de existir durante la ejecucion del programa al contrario de lo que ocurria con las variables locales (residian en el stack) que desaparecen cuando termina la funcion (subrutina) 06/04/2017 Catedra de Programacion I

18 Introducción a lenguaje C
18/08/09 printf Ej.: #include <stdio.h> unsigned int velocidad=10 ; /* Velocidad=10 */ unsigned int tiempo=2; /* Tiempo =2 */ main() { printf( "La velocidad es de: %d Km/h\n" , velocidad ); printf( "La distancia recorrida en %d Hs es de: %d Km\n" ,tiempo,velocidad*tiempo ); } Salida La velocidad es de: 10 Km/h La distancia recorrida en 2 Hs es de: 20 Km _ Notas : El simbolo %d dentro del printf nos permite imprimir enteros printf( "La velocidad es de: %d Km/h\n" , velocidad ); printf( "La distancia recorrida en %d Hs es de: %d Km\n" ,tiempo,velocidad*tiempo ); 06/04/2017 Catedra de Programacion I

19 Introducción a lenguaje C
18/08/09 printf – Especificadores de impresión 06/04/2017 Catedra de Programacion I

20 Introducción a lenguaje C
18/08/09 printf – Especificadores de impresión Los especificadores de impresión o formato nos permiten decidir como deseamos ver el valor a imprimir independiente del tipo de variables a mostrar 32 bit Platform 06/04/2017 Catedra de Programacion I

21 Introducción a lenguaje C
18/08/09 printf – Especificadores de impresión Todos los especificadores tienen el siguiente formato: %[flags][width][.precision][length]specifier Información completa puede encontrarse en : - 06/04/2017 Catedra de Programacion I

22 Introducción a lenguaje C
18/08/09 printf – Especificadores de impresión Ejemplo: 06/04/2017 Catedra de Programacion I

23 Introducción a lenguaje C
18/08/09 Links Utiles Codepad: Compilador de C online (util para pruebas rapidas) Tutoriales Sobre Lenguaje C 06/04/2017 Catedra de Programacion I


Descargar ppt "Introducción a lenguaje C"

Presentaciones similares


Anuncios Google