Professional Documents
Culture Documents
Introduccin al lenguaje C
Introduccin al lenguaje C
Introduccin Caractersticas del lenguaje C Funciones en C Identificadores o etiquetas Las libreras y el linkado Compilacin de un programa en C Ejemplos
Laboratorio de Arquitectura de Redes 2
Introduccin al lenguaje C
Fue creado en los aos 70 por Dennis Ritchie sobre una mquina PDP-11 bajo el sistema operativo Unix Se desarroll bajo el sistema operativo Unix pero no est ligado a l ni a ningn otros sistema operativo (algunos sistemas operativos estn escritos en C) Durante mucho tiempo el estndar fue el entregado con la versin 5 del sistema operativo Unix, descrita por Brian Kernighan y Dennis Ritchie La proliferacin de implementaciones obligaron a la creacin de un estndar: el ANSI (American National Standard Institute)
Laboratorio de Arquitectura de Redes 3
Permite mltiples tipos de datos y gran facilidad para conversiones entre esos tipos
Laboratorio de Arquitectura de Redes 7
Funciones en C
La funcin es la unidad primaria de programacin en C: es donde se desarrolla la actividad del programa Cada funcin determina un bloque de cdigo independiente y portable Forma genrica:
tipodevuelto nombrefuncin(listaparmetros) { /* Inicio de la funcin */ declaraciones ... /* Cuerpo de la funcin */ proposiciones } /* Final de la funcin */
Variables en C
Las variables en C son porciones de memoria con un nombre Se utilizan para almacenar valores que pueden ser modificados por el programa Deben ser declaradas antes de ser utilizadas
El C soporta todos los tipos bsicos de variables (carcter, entero, decimal, etc.) y permite:
Modificar los tipos definidos Crear tipos nuevos
Laboratorio de Arquitectura de Redes
10
Identificadores o etiquetas
Son los nombres con los que se identifican
Las variables Las constantes Las funciones
Caractersticas:
Recomendaciones
Deben empezar con carcter alfabtico o el subrayado _ y pueden contener caracteres alfanumricos No son vlidas las palabras reservadas El C distingue entre maysculas y minsculas Las funciones creadas por el programador comienzan con mayscula Las etiquetas o identificadores de constantes definidas o constantes simblicas se escriben en maysculas
11
Sentencias en C
Pueden ir en cualquier posicin de la lnea, no existe el concepto de campo (columnas en la lnea) Finalizan con punto y coma ; Indentacin
Sangrado de lneas atendiendo a criterios de subordinacin Facilita la lectura y escritura del programa Es ignorada por el compilador
Conjuntos agrupados entre llaves {} formando una unidad indivisible Textos aclaratorios imprescindibles (no abusar) Precedidos de // hasta el final de la lnea Entre los smbolos /* */ cualquier nmero de lneas Sentencias que comienzan siempre con el smbolo almohadilla # Determinan el modo de actuar del compilador sobre el archivo fuente No forman parte del lenguaje C en un sentido estricto. Las incluyen todos los compiladores y facilitan mucho la programacin
Laboratorio de Arquitectura de Redes 12
Compilacin de un programa en C
Pasos a seguir: Diseo del algoritmo Creacin y escritura del programa en un fichero de texto (*.C) Compilacin del programa y obtencin del archivo objeto (*.OBJ) Enlazado (linkado) del fichero objeto con las libreras de las funciones utilizadas en el programa para obtener el fichero ejecutable (*.EXE) En los grandes trabajos el programa se divide en varios archivos, formando un proyecto, que pueden compilarse y probarse por separado y enlazarse para formar el ejecutable final
Laboratorio de Arquitectura de Redes 14
Ejemplos (I)
El programa ms sencillo Obsrvese
La directiva del preprocesador La funcin principal El comentario La llamada a una funcin La cadena de caracteres
#include <stdio.h>
main() {
/*Funcin Principal */
Ejemplos (II)
Programa para convertir una temperatura en grados Fahrenheint a grados Celsius Obsrvese
Las directivas del preprocesador La declaracin de variables previa a su utilizacin Las sentencias de asignacin y las operaciones aritmticas El tipo de los datos Los comentarios La funcin printf() La sentencia de salida return
16
Ejemplos (III)
/* Conversin de una temperatura en grados Fahrenheit a grados Celsius. */ #include <stdio.h> main() { int fahren, celsius;
/* Variables enteras */
printf("Conversin de F a C:\n"); fahren = 100; /* Temperatura a convertir */ celsius = 5*(fahren-32)/9; /* Frmula de conversin */ printf("%d F = %d C\n",fahren, celsius); /* Resultados */ return 0; }
17
Ejemplos (IV)
Programa para convertir cualquier temperatura en grados Celsius a grados Fahrenheit Obsrvese:
El modo de lectura de datos del teclado
18
Ejemplos (V)
/* Conversin de temperaturas Fahrenheit-Celsius empleando nmeros reales. */ #include <stdio.h> main() { float fahren, celsius;
/* Variables reales*/
printf("Conversin de F a C:\n"); printf("Introduce la temperatura Fahrenheit: "); scanf("%f", &fahren); /* Toma de datos reales */ /* Frmula */ /* Resultados */
19
Ejemplos (VI)
Programa para convertir una temperatura en grados Celsius a grados Fahrenheit utilizando nmeros reales Obsrvese
La declaracin y utilizacin de variables no enteras Las operaciones aritmticas con nmeros reales Los cambios en las funciones de entrada y salida de datos
20
Ejemplos (VII)
/* Conversin de temperaturas Fahrenheit-Celsius empleando nmeros reales. */ #include <stdio.h> main() { float fahren, celsius;
/* Variables reales*/
printf("Conversin de F a C:\n"); printf("Introduce la temperatura Fahrenheit: "); scanf("%f", &fahren); /* Toma de datos reales */ /* Frmula */ /* Resultados */
21
Ejemplos (VIII)
Programa que muestra una tabla de equivalencia entre temperaturas Celsius y Fahrenheit (con bucle de tipo para) Obsrvese:
La utilizacin de distintos tipos de variables La indentacin La sentencia for, su sintaxis y significado Los modificadores de formato en la funcin printf()
22
Ejemplos (IX)
/* Tabla de conversin de temperaturas Fahrenheit-Celsius. Versin con bucle for */ #include <stdio.h> main() { float fahren, celsius; int liminfe, limsup, increm; liminfe = 0; limsup = 100; increm = 10; printf(" F\t C\n"); printf("==============\n");
/* Variables */
for (fahren=liminfe ; fahren<=limsup ; fahren=fahren+increm) { celsius = (5.0/9.0)*(fahren-32.0); printf("%3.0f\t%6.1f\n",fahren, celsius); } return 0; } Laboratorio de Arquitectura de Redes 23
Ejemplos (X)
Programa que muestra una tabla de equivalencia entre temperaturas Celsius y Fahrenheit (con bucle de tipo mientras) Obsrvese:
La La La La utilizacin de constantes simblicas llamada a la funcin system() sentencia while, su sintaxis y significado comparacin menor o igual que <=
24
Ejemplos (XI)
/* Tabla de conversin de temperaturas Fahrenheit-Celsius. Versin con bucle while y constantes simblicas. */ #include <stdio.h> #include <stdlib.h> #define LIMINFE #define LIMSUP #define INCREM 0 100 10 /* Lmite inferior */ /* Lmite superior */ /* Incrementos */
main() { float fahren, celsius; /* Variables */ fahren = LIMINFE; /* Origen de la tabla */ system("cls"); /* Borra la pantalla */ printf(" F\t C\n"); /* Cabecera de la tabla */ printf("==============\n"); while (fahren<=LIMSUP) { celsius = (5.0/9.0)*(fahren-32.0); printf("%3.0f\t%6.1f\n",fahren, celsius); fahren = fahren+INCREM; } return 0; } Laboratorio de Arquitectura de Redes 25