SlideShare una empresa de Scribd logo
Lenguaje de Programación C.
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en
los Laboratorios Bell como evolución del anterior es decir el lenguaje B, a su
vez basado en BCPL.

Al igual que B, es un lenguaje orientado a la implementación de Sistemas
Operativos, concretamente Unix. C es apreciado por la eficiencia del código
que produce y es el lenguaje de programación más popular para crear
software de sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje débilmente tipificado de medio nivel pero con
muchas características de bajo nivel. Dispone de las estructuras típicas 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 código en
ensamblador con código C o acceder directamente a memoria o dispositivos
periféricos.

La primera estandarización del lenguaje C fue en ANSI, con el estándar
X3.159-1989. El lenguaje que define este estándar fue conocido
vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como
estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy
amplia por lo que, si los programas creados lo siguen, el código es portátil
entre plataformas y/o arquitecturas. En la práctica, los programadores
suelen usar elementos no-portátiles dependientes del compilador o del
sistema operativo.




Aplicaciones.
Hecho principalmente para la fluidez de programación en sistemas UNIX.
Se usa también para el desarrollo de otros sistemas operativos como
Windows o Linux. Igualmente para aplicaciones de escritorio como
OpenOffice.org, cuyo principal lenguaje de programación es C.
De la misma forma, es muy usado en aplicaciones científicas (para
experimentos informáticos, físicos, químicos, matemáticos, entre otros,
parte de ellos conocidos como modelos y simuladores), industriales
(industria robótica, cibernética, sistemas de información y base de datos
para la industria petrolera y petroquímica.
Predominan también todo lo que se refiere a simulación de máquinas de
manufactura), simulaciones de vuelo (es la más delicada, ya que se tienen
que usar demasiados recursos tanto de hardware como de software para
desarrollar aplicaciones que permitan simular el vuelo real de una aeronave.
Se aplica por tanto, en diversas áreas desconocidas por gran parte de los
usuarios noveles.
Los ordenadores de finales de los 90 son varios órdenes de magnitud más
potentes que las máquinas en que C se desarrolló originalmente. Programas
escritos en lenguajes de tipo dinámico y fácil codificación (Ruby, Python,
Perl...) que antaño hubieran resultado demasiado lentos, son lo bastante
rápidos como para desplazar en uso a C. Aun así, se puede seguir
encontrando código C en grandes desarrollos de animaciones, modelados y
escenas en 3D en películas y otras aplicaciones multimedia.
Actualmente, los grandes proyectos de software se dividen en partes,
dentro de un equipo de desarrollo. Aquellas partes que son más
"burocráticas" o "de gestión" con los recursos del sistema, se suelen
realizar en lenguajes de tipo dinámico o de guión (script), mientras que
aquellas partes "críticas", por su necesidad de rapidez de ejecución, se
realizan en un lenguaje de tipo compilado, como C o C++. Si, después de
hacer la división, las partes críticas no superan un cierto porcentaje del
total (aproximadamente el 10%) entonces todo el desarrollo se realiza con
lenguajes dinámicos. Si la parte crítica no llega a cumplir las expectativas
del proyecto, se comparan las alternativas de una inversión en nuevo
hardware frente a invertir en el coste de un programador para que
reescriba dicha parte crítica.


Aplicaciones embebidas
C es el lenguaje común para programar sistemas embebidos. El código ligero
que un compilador C genera, combinado con la capacidad de acceso capas del
software cercanas al hardware son la causa de su popularidad en estas
aplicaciones.
Un característica donde C demuestra comodidad de uso particularmente
valiosa en sistemas embebidos es la manipulación de bits. Los sistemas
contienen registros mapeados en memoria (en inglés, MMR) a través de los
cuales los periféricos se configuran. Estos registros mezclan varias
configuraciones en la misma dirección de memoria, aunque en bits distintos.
Con C es posible modificar fácilmente uno de estos bits sin alterar el resto.
Por ejemplo:
int *mmr; /* puntero al registro que queremos modificar */
mmr = 0x40008ABC; /* dirección de memoria del registro */

* mmr |= 1<<7; /* pone a 1 el bit 7 sin modificar los demás */
* mmr &= ~(1<<12) /* pone a 0 el bit 12 sin modificar los demás */
Este tipo de manipulación es muy tediosa o sencillamente imposible en otros
lenguajes de alto nivel.
Otras características de C consideradas desventajas en la programación
para PC -como la ausencia de control de memoria automático- se convierten
en ventajas cuando los sistemas embebidos necesitan código pequeño y
optimizado. Ese es el caso de los sistemas basados en microcontroladores
de poca potencia como el intel 8051 o muchos sistemas ARM.



Códigos.
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. Por ejemplo,
      una de las acciones más importantes es la modificación de las
      inclusiones (#include) por las declaraciones reales existentes en el
      archivo indicado.
   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
El siguiente programa imprime en pantalla la frase "Hola Mundo" (C99).
# include <stdio.h> // necesario para utilizar printf()
int main(void)
{
         printf("Hola Mundon");
         // return 0 implícito en C99 para main().
}
El siguiente escribe "Hola Mundo" en C89
/* comentarios con '//' no permitidos en C89, sí en C99 */
# include <stdio.h> /* necesario para utilizar printf */

main() /* tipo 'int' de retorno implícito */
{
        printf ("Hola Mundon") ;
        return 0;
}


Programas.
Ejemplos.

Vala, C#, Objective-C, C++, AWK, bc, Java

Más contenido relacionado

DOCX
Progra.jpg
PPTX
Lenguaje C y los Sistemas Operativos Actuales
PPTX
El Lenguaje C y Sistemas Operativos Actuales
PPTX
Edgar avila aplicaciones de lenguaje c
PPTX
aplicaciones de Lenguaje C
PPTX
Aplicaciones de lenguaje c
PPTX
aplicacion del lenguaje c
DOCX
Ansi c
Progra.jpg
Lenguaje C y los Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos Actuales
Edgar avila aplicaciones de lenguaje c
aplicaciones de Lenguaje C
Aplicaciones de lenguaje c
aplicacion del lenguaje c
Ansi c

La actualidad más candente (20)

PDF
Historia de los compiladores
DOCX
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
DOCX
Programacion 1 feli
PDF
01 - Introducción al lenguaje C
PPTX
Lenguaje c
PPT
1 estructura programa-c
PDF
PRESENTACION LENGUAJE C
PPT
2 estructura programa-c
PPTX
Mi lenguaje de programación de preferencia c++
PPTX
Lenguaje PHP
DOCX
11
DOCX
Programa en lenguaje C, Hildemaro Sequera, MI-42
PDF
Historia y caracteristicas del lenguaje c opt
PPTX
Resolucion de problemas y algoritmos
ODP
Lenguaje c
PPT
Introduccion al lenguaje_c
PPTX
Historia del C++ y JAVA
PPTX
6 lenguajec++
PPTX
Breve Historia de C/C/++
DOCX
Qué es el lenguaje c
Historia de los compiladores
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
Programacion 1 feli
01 - Introducción al lenguaje C
Lenguaje c
1 estructura programa-c
PRESENTACION LENGUAJE C
2 estructura programa-c
Mi lenguaje de programación de preferencia c++
Lenguaje PHP
11
Programa en lenguaje C, Hildemaro Sequera, MI-42
Historia y caracteristicas del lenguaje c opt
Resolucion de problemas y algoritmos
Lenguaje c
Introduccion al lenguaje_c
Historia del C++ y JAVA
6 lenguajec++
Breve Historia de C/C/++
Qué es el lenguaje c
Publicidad

Similar a Lenguaje De ProgramacióN C (20)

PPTX
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
PDF
Programacion ii modulo2-leccion1
PPTX
Diseño de Algoritmos
PPTX
Presentación lenguajedeprogramacion
DOCX
Pul123
PDF
Lenguaje c nardy y daniela
DOCX
Informe.
PPTX
Aplicacion de c
PPTX
Lenguaje c
PPTX
Lenguaje c
DOCX
Unidad 3
DOCX
Lenguaje c++
PPTX
PPTX
Lenguaje C
PDF
Tema 1 Programación I. 05-02-23.pdf
DOCX
Programacion 1 feli
DOCX
PPTX
Lenguje c.PRESENTACION
PDF
Reconocimiento de voz c#
DOCX
2 intcomp milexisromero
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Programacion ii modulo2-leccion1
Diseño de Algoritmos
Presentación lenguajedeprogramacion
Pul123
Lenguaje c nardy y daniela
Informe.
Aplicacion de c
Lenguaje c
Lenguaje c
Unidad 3
Lenguaje c++
Lenguaje C
Tema 1 Programación I. 05-02-23.pdf
Programacion 1 feli
Lenguje c.PRESENTACION
Reconocimiento de voz c#
2 intcomp milexisromero
Publicidad

Más de jengibre (20)

DOCX
Sabrositas-Organizacion.Modernizacion.
DOC
Sistema Experto
DOC
PráCtica Numero 8
DOC
Practica NúMero 7
DOC
Practica NúMero 6
DOC
Practica NúMero 5
DOCX
PráCtica Numero 4
DOCX
PráCtica 3
DOC
MS-DOS.
DOC
Componentes Internos De Un Cpu
DOC
Empresa.♣
DOC
Empresa.♦
DOC
Empresa.♥♥
DOC
Base De Datos♥
DOC
Base De Datos
DOC
Sistemas AutÓmatas.
DOC
COmpuertas LÓgicas.
DOC
Empresa.♥
DOC
Lenguajes de ProgramacióN♥
DOCX
Lenguajes de PrOgramaciÓn.
Sabrositas-Organizacion.Modernizacion.
Sistema Experto
PráCtica Numero 8
Practica NúMero 7
Practica NúMero 6
Practica NúMero 5
PráCtica Numero 4
PráCtica 3
MS-DOS.
Componentes Internos De Un Cpu
Empresa.♣
Empresa.♦
Empresa.♥♥
Base De Datos♥
Base De Datos
Sistemas AutÓmatas.
COmpuertas LÓgicas.
Empresa.♥
Lenguajes de ProgramacióN♥
Lenguajes de PrOgramaciÓn.

Último (20)

PPTX
Plantilla Oficial bbvbcvbcvbcvbcvbcvbcbcvbcvb
PPTX
11avo sesion de clase de produccion de cuyes y conejos.....pptx
DOCX
FCE POLITICa tercer grado secundaria adolescentes
PPTX
Medicina familiar hhvkbvhjnbjihjjhghjjbhhbv
DOCX
FODA COMPUTACION 2 bim- Rolando Trinidad.docx
PPTX
Presentacion de caso clinico (1).pptxhbbb
PDF
Curso online para participar en exel o deribados
PPTX
MISCELANIA - constitución política 410-5.pptx
DOCX
RUTA DE TRABAJO III BLOQUE DE SEMANA DE GESTION DE LA IE JUAN SANTOS ATAHUALP...
PDF
programa-regular-abril-julio-2025-ii (1).pdf
PDF
NORMAS APA 7 EDICIÓN PARA DOCUMENTOS UNI
PPTX
2 rev industrial y dit.pptx mamkaakkakakaaka
PPTX
Presentationoooooooooooooooooooooooooooo
PDF
BRIEF DE UNA NUEVA MARCA LLAMADA PUBLI AGENCY
PDF
LINEAMIENTOS EN MATERIA DE OBRAS PUBLICAS.pdf
PPTX
Dispensaciones la garcia, el gobierno humano, etc
PPTX
7ma sesion de clase de produccion de cuyes y conejos.....pptx
PPTX
13 y 14.pptxmjgyggguuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
PPTX
Diseño de proyectos de innovación pedagogica.pptx
PPTX
Derechos Reales Unidad ix facultad de con
Plantilla Oficial bbvbcvbcvbcvbcvbcvbcbcvbcvb
11avo sesion de clase de produccion de cuyes y conejos.....pptx
FCE POLITICa tercer grado secundaria adolescentes
Medicina familiar hhvkbvhjnbjihjjhghjjbhhbv
FODA COMPUTACION 2 bim- Rolando Trinidad.docx
Presentacion de caso clinico (1).pptxhbbb
Curso online para participar en exel o deribados
MISCELANIA - constitución política 410-5.pptx
RUTA DE TRABAJO III BLOQUE DE SEMANA DE GESTION DE LA IE JUAN SANTOS ATAHUALP...
programa-regular-abril-julio-2025-ii (1).pdf
NORMAS APA 7 EDICIÓN PARA DOCUMENTOS UNI
2 rev industrial y dit.pptx mamkaakkakakaaka
Presentationoooooooooooooooooooooooooooo
BRIEF DE UNA NUEVA MARCA LLAMADA PUBLI AGENCY
LINEAMIENTOS EN MATERIA DE OBRAS PUBLICAS.pdf
Dispensaciones la garcia, el gobierno humano, etc
7ma sesion de clase de produccion de cuyes y conejos.....pptx
13 y 14.pptxmjgyggguuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
Diseño de proyectos de innovación pedagogica.pptx
Derechos Reales Unidad ix facultad de con

Lenguaje De ProgramacióN C

  • 1. Lenguaje de Programación C. C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior es decir el lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas 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 código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos. La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portátil entre plataformas y/o arquitecturas. En la práctica, los programadores suelen usar elementos no-portátiles dependientes del compilador o del sistema operativo. Aplicaciones. Hecho principalmente para la fluidez de programación en sistemas UNIX. Se usa también para el desarrollo de otros sistemas operativos como Windows o Linux. Igualmente para aplicaciones de escritorio como OpenOffice.org, cuyo principal lenguaje de programación es C. De la misma forma, es muy usado en aplicaciones científicas (para experimentos informáticos, físicos, químicos, matemáticos, entre otros, parte de ellos conocidos como modelos y simuladores), industriales
  • 2. (industria robótica, cibernética, sistemas de información y base de datos para la industria petrolera y petroquímica. Predominan también todo lo que se refiere a simulación de máquinas de manufactura), simulaciones de vuelo (es la más delicada, ya que se tienen que usar demasiados recursos tanto de hardware como de software para desarrollar aplicaciones que permitan simular el vuelo real de una aeronave. Se aplica por tanto, en diversas áreas desconocidas por gran parte de los usuarios noveles. Los ordenadores de finales de los 90 son varios órdenes de magnitud más potentes que las máquinas en que C se desarrolló originalmente. Programas escritos en lenguajes de tipo dinámico y fácil codificación (Ruby, Python, Perl...) que antaño hubieran resultado demasiado lentos, son lo bastante rápidos como para desplazar en uso a C. Aun así, se puede seguir encontrando código C en grandes desarrollos de animaciones, modelados y escenas en 3D en películas y otras aplicaciones multimedia. Actualmente, los grandes proyectos de software se dividen en partes, dentro de un equipo de desarrollo. Aquellas partes que son más "burocráticas" o "de gestión" con los recursos del sistema, se suelen realizar en lenguajes de tipo dinámico o de guión (script), mientras que aquellas partes "críticas", por su necesidad de rapidez de ejecución, se realizan en un lenguaje de tipo compilado, como C o C++. Si, después de hacer la división, las partes críticas no superan un cierto porcentaje del total (aproximadamente el 10%) entonces todo el desarrollo se realiza con lenguajes dinámicos. Si la parte crítica no llega a cumplir las expectativas del proyecto, se comparan las alternativas de una inversión en nuevo hardware frente a invertir en el coste de un programador para que reescriba dicha parte crítica. Aplicaciones embebidas C es el lenguaje común para programar sistemas embebidos. El código ligero que un compilador C genera, combinado con la capacidad de acceso capas del software cercanas al hardware son la causa de su popularidad en estas aplicaciones. Un característica donde C demuestra comodidad de uso particularmente valiosa en sistemas embebidos es la manipulación de bits. Los sistemas contienen registros mapeados en memoria (en inglés, MMR) a través de los cuales los periféricos se configuran. Estos registros mezclan varias configuraciones en la misma dirección de memoria, aunque en bits distintos. Con C es posible modificar fácilmente uno de estos bits sin alterar el resto.
  • 3. Por ejemplo: int *mmr; /* puntero al registro que queremos modificar */ mmr = 0x40008ABC; /* dirección de memoria del registro */ * mmr |= 1<<7; /* pone a 1 el bit 7 sin modificar los demás */ * mmr &= ~(1<<12) /* pone a 0 el bit 12 sin modificar los demás */ Este tipo de manipulación es muy tediosa o sencillamente imposible en otros lenguajes de alto nivel. Otras características de C consideradas desventajas en la programación para PC -como la ausencia de control de memoria automático- se convierten en ventajas cuando los sistemas embebidos necesitan código pequeño y optimizado. Ese es el caso de los sistemas basados en microcontroladores de poca potencia como el intel 8051 o muchos sistemas ARM. Códigos. 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. Por ejemplo, una de las acciones más importantes es la modificación de las inclusiones (#include) por las declaraciones reales existentes en el archivo indicado. 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 El siguiente programa imprime en pantalla la frase "Hola Mundo" (C99). # include <stdio.h> // necesario para utilizar printf()
  • 4. int main(void) { printf("Hola Mundon"); // return 0 implícito en C99 para main(). } El siguiente escribe "Hola Mundo" en C89 /* comentarios con '//' no permitidos en C89, sí en C99 */ # include <stdio.h> /* necesario para utilizar printf */ main() /* tipo 'int' de retorno implícito */ { printf ("Hola Mundon") ; return 0; } Programas. Ejemplos. Vala, C#, Objective-C, C++, AWK, bc, Java