Académique Documents
Professionnel Documents
Culture Documents
EL LENGUAJE DE PROGRAMACIN C
C es un lenguaje de programacin creado en 1972 por Dennis M.
Ritchie en los Laboratorios Bell como evolucin del anterior lenguaje B, a
su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementacin
de Sistemas Operativos, concretamente Unix. C es apreciado por la
eficiencia del cdigo que produce y es el lenguaje de programacin ms
popular para crear software de sistemas, aunque tambin se utiliza para
crear aplicaciones.
Se trata de un lenguaje de tipos de datos estticos, dbilmente
tipificado, de medio nivel pero con muchas caractersticas de bajo nivel.
Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a
su vez, dispone de construcciones del lenguaje que permiten un control
a muy bajo nivel. Los compiladores suelen ofrecer extensiones al
lenguaje que posibilitan mezclar cdigo enensamblador con cdigo C o
acceder directamente a memoria o dispositivos perifricos.
La primera estandarizacin del lenguaje C fue en ANSI, con el estndar
X3.159-1989. El lenguaje que define este estndar fue conocido
vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como
estndar ISO (ISO/IEC 9899:1990). La adopcin de este estndar es muy
amplia por lo que, si los programas creados lo siguen, el cdigo es
portable entre plataformas y/o arquitecturas.
CARACTERSTICAS
Propiedades
Carencias
tenan suficiente control sobre la nave para evitar colisiones con los
asteroides. Por ese motivo decidieron portar el juego a un PDP-7 de la
oficina que no se utilizaba; pero esa mquina no tena sistema
operativo, as que decidieron escribir uno. Finalmente decidieron
portar el sistema operativo del PDP-11 que haba en su oficina, pero
era muy costoso, pues todo el cdigo estaba escrito en lenguaje
ensamblador. Entonces decidieron usar un lenguaje de alto nivel y
porttil para que el sistema operativo se pudiera portar fcilmente de
un ordenador a otro. Consideraron usar B, pero careca de las
funcionalidades necesarias para aprovechar algunas caractersticas
avanzadas del PDP-11. Entonces empezaron a crear un nuevo
lenguaje, C.
Enumeraciones.
ANSI C e ISO C
A finales de la dcada de 1970, C empez a sustituir a BASIC como
lenguaje de programacin de microcomputadores predominante.
Durante la dcada de 1980 se empez a usar en los IBM PC, lo que
increment su popularidad significativamente. Al mismo tiempo, Bjarne
Stroustrup empez a trabajar con algunos compaeros de Bell Labs para
aadir funcionalidades de programacin orientada a objetos a C. El
lenguaje que crearon, llamado C++, es hoy en da el lenguaje de
int main(void) {
int numero;
fputs("Introduzca un numero entero par: ", stdout);
scanf("%d", &numero);
if (!numero) {
fputs("Error: numero no valido.\n", stderr);
return -1;
}
int i = 1;
while (numero%2 == 0) {
printf ("%.3d| %d/2 =", i++, numero);
numero /=2;
printf("%d\n", numero);
}
printf ("No se puede seguir dividiendo: El numero %d es
impar.\n", numero);
return 0;
}
C99
Tras el proceso de estandarizacin de ANSI, la especificacin del
lenguaje C permaneci relativamente estable durante algn tiempo,
mientras que C++ sigui evolucionando. Sin embargo, el estndar
continu bajo revisin a finales de la dcada de 1990, lo que llev a la
publicacin del estndar ISO 9899:1999 en 1999. Este estndar se
denomina habitualmente "C99". Se adopt como estndar ANSI en
marzo de 2000.
Las nuevas caractersticas de C99 incluyen:
Funciones inline.
Ventajas
Inconvenientes
El mayor problema que presenta el lenguaje C frente a los lenguajes
de tipo de dato dinmico es la gran diferencia en velocidad de
desarrollo: es ms lento programar en C, sobre todo para el principiante.
La razn estriba en que el compilador de C se limita a traducir cdigo sin
apenas aadir nada. La gestin de la memoria es un ejemplo clsico: en
C el programador ha de reservar y liberar la memoria explcitamente. En
otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de
forma transparente para el programador. Esto alivia la carga de trabajo
humano y en muchas ocasiones evita errores, aunque tambin supone
mayor carga de trabajo para el procesador.
El mantenimiento en algunos casos puede ser ms difcil y costoso que
con ciertos lenguajes de ms alto nivel. El cdigo en C se presta a
sentencias cortas y enrevesadas de difcil interpretacin[cita requerida].
Cabe destacar el contexto y poca en la que fue desarrollado C. En
aquellos tiempos existan muy pocos programadores, los cuales, a su
vez, eran prcticamente todos expertos en el rea. De esta manera, se
asuma que los programadores eran conscientes de sus trabajos y
capaces de manejar perfectamente el lenguaje. Por esta razn es muy
importante que los recin iniciados adopten buenas prcticas a la hora
de escribir en C y manejar la memoria, como por ejemplo un uso
intensivo de indentacin y conocer a fondo todo lo que implica el manejo
de punteros y direcciones de memoria.
Variantes
Desde el inicio del lenguaje han surgido varias ramas de evolucin que
han generado varios lenguajes:
Java, que une una sintaxis inspirada en la del C++ con una
orientacin a objetos ms similar a la de Smalltalk y Objective C.
Proceso de compilacin[editar]
La compilacin de un programa C se realiza en varias fases que
normalmente son automatizadas y ocultadas por los entornos de
desarrollo:
sentencia 1
} else if (condicion 2){
sentencia 2
} else if (condicion n){
sentencia n
} else {
sentencias por defecto
}
Herramientas de programacin
Al programar en C, es habitual usar algunas herramientas de
programacin de uso muy extendido, sobre todo en entorno de tipo unix:
dbx : Debugger que suele venir instalado con todos los UNIX.