Programación‎ > ‎C‎ > ‎

1 - [Introducción]

Programación en Lenguaje C:

C es un lenguaje de programación estructurado de propósito general. Sus instrucciones constan de términos que se
parecen a expresiones algebraicas. C tiene algunas características que permiten su uso a un nivel más bajo, cubriendo
así el vacío entre el lenguaje maquina y los lenguajes de alto nivel más convencionales. Esta flexibilidad permite
el uso de C en la programación de sistemas (por ejemplo para el diseño de Sistemas Operativos) así como en la programación de aplicaciones
(por ejemplo, para redactar un programa que resuelva un complicado sistema de ecuaciones matemáticas o un programa que escriba las facturas de los clientes).
Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

Características de importancia en C:
  • Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de ficheros, proporcionadas por bibliotecas.
  • Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado no llevado al extremo (permitiendo ciertas licencias rupturistas).
  • Un sistema de tipos que impide operaciones sin sentido.
  • Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples ficheros de código fuente.
  • Acceso a memoria de bajo nivel mediante el uso de punteros.
  • Interrupciones al procesador con uniones.
  • Un conjunto reducido de palabras clave.
  • Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.
  • Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.
  • Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").
Características de las que C carece y que se encuentran en otros lenguajes:
  • Recolección de basura (es un mecanismo implícito de gestión de memoria implementado en algunos lenguajes de programación de tipo interpretado o semi-interpretado.)
  • Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.
  • Encapsulación (Es la habilidad de una parte de un programa para ocultar sus datos al resto del código, impidiendo así accesos incorrectos o conflictos con los nombres de otras variables.)
  • Funciones anidadas, aunque GCC tiene esta característica como extensión.
  • Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica.
  • Soporte nativo para programación multihilo y redes de computadores.
Esto solo por mencionar algunas características de las que el lenguaje de Programación C carece.


Proceso de Compilación

La compilación de un programa C se realiza en varias fases que normalmente son automatizadas y ocultadas por los entornos de desarrollo:

  1. Preprocesado consistente en modificar el código fuente en C según una serie de instrucciones (denominadas directivas de preprocesado) simplificando de esta forma el trabajo del compilador.
  2. Compilación que genera el código objeto a partir del código ya preprocesado.
  3. Enlazado que une los códigos objeto de los distintos módulos y bibliotecas externas (como las bibliotecas del sistema) para generar el programa ejecutable final.

Ejemplo de Código en C

#include <stdio.h> /* Libreria necesaria para que funcione el printf */
 
int main() { /* Funcion principal del programa */
 
   printf("Hola, mundo!\n"); /*El printf imprime la cadena hola mundo! en pantalla */
 
   return 0; /* sale del Programa */
}

Nota los /*  */ se escriben para poner comentarios dentro del código en C. El compilador ignora todo lo que se encuentre dentro.

Subpáginas (2): Historia Objetivos
Comments