programacion

Páginas: 17 (4163 palabras) Publicado: 2 de abril de 2013
Introducción al lenguaje C
Marta Zorrilla
Universidad de Cantabria

1

Marta Zorrilla – Universidad de Cantabria

Introducción al C
Objetivos:
Presentar la historia del lenguaje C y sus
características principales.
Presentar la estructura de un programa en C
mediante ejemplos sencillos.

Contenidos:
1. La historia del C.
2. Características.
3. Mi primer programa en C.
2 Marta Zorrilla – Universidad de Cantabria

Historia del C
Muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken
Thompson, 1970).
C fue diseñado originalmente en 1972 para el SO UNIX en el DEC PDP-11 por
Dennis Ritchie en los Laboratorios Bell.
Primer Libro de referencia de C: The C Programming Language (1978) de
Brian Kernighan y Dennis Ritchie.
En los 80, gran parte de laprogramación se realiza en C.
En 1983 aparece C++ (orientado a objetos).
En 1989 aparece el estándar ANSI C.
En 1990 aparece el estándar ISO C (actual estándar de C). WG14 se
convierte en el comité oficial del estándar ISO C.
En década de los 90, WG14 trabaja en el estándar C9X/C99 que resuelve
problemas de fiabilidad del ANSI C, amplia su funcionalidad con nuevos tipos
de dato, funcionesmatemáticas, arrays irrestringidos, etc.
3

Marta Zorrilla – Universidad de Cantabria

Características del C
Lenguaje de programación de propósito general, muy adecuado para
programación de sistemas (unix fue escrito en C).
Lenguaje relativamente pequeño: solo ofrece sentencias de control
sencillas y funciones.
La E/S no forma parte del lenguaje, sino que se proporciona a través
de unabiblioteca de funciones.
Permite la agrupación de instrucciones. Programación estructurada.
Permite la separación de un programa en módulos que admiten
compilación independiente. Diseño modular.
Programas portables.

4

Marta Zorrilla – Universidad de Cantabria

Inconvenientes del C
No es un lenguaje fuertemente tipado.
Es bastante permisivo con la conversión de datos.
Sin unaprogramación metódica puede ser propenso a errores
difíciles de encontrar.
La versatilidad de C permite crear programas difíciles de leer.
#define _ -F ");
scanf("%s", cajas[registro].pieza);
/* Leer el número de piezas. */
printf("Numero de piezas => ");
scanf("%d", &cajas[registro].cantidad);
/* Leer el precio de cada pieza. */
printf("Precio de cada pieza => ");
scanf("%f",&cajas[registro].precio_unitario);
/* Indicar que el registro tiene datos, V */
cajas[registro].existe = 'V';
registro ++;
} while (registro < NUMCAJAS);

135

Marta Zorrilla – Universidad de Cantabria

Cont.
/* Imprimir la información. */
for(registro = 0; registro < NUMCAJAS; registro++)
{
if(cajas[registro].existe == 'V')
{
printf("La caja %d contiene:\n", registro + 1);
printf("Pieza => %s\n",cajas[registro].pieza);
printf("Cantidad => %d\n",
cajas[registro].cantidad);
printf("Precio unitario => $%f\n",
cajas[registro].precio_unitario);
}
} /* Fin for. */
} /*fin main*/
136

Marta Zorrilla – Universidad de Cantabria

Paso de estructuras a funciones
Una función puede devolver una estructura.
Se pueden pasar miembros individuales y estructuras
completas a una función. Si laestructura es grande, el
tiempo para copiar un estructura (paso por valor) es
prohibitivo, por eso se aconseja pasarlo por referencia.
Paso de miembros individuales
struct punto
{
float x;
float y;
};

void imprime_x (float x)
{
printf ("el valor de x %f", x);
}
/*llamada a función*/
imprime_x (p1.x);

137

Marta Zorrilla – Universidad de Cantabria

Paso de estructuras afunciones por
valor
Ej.: leer y escribir una fecha.

struct fecha leer_fecha(void)
{
struct fecha f;
printf("Dia: ");
scanf("%d", &(f.dia));
printf("Mes: ");
scanf("%d", &(f.mes));
printf("Anno: ");
scanf("%d", &(f.anno));
return(f);

#include
struct fecha
{
int dia;
int mes;
int anno;
};
void imprimir_fecha(struct fecha f)
{
printf("Dia: %d\n", f.dia);
printf("Mes:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS