SlideShare una empresa de Scribd logo
1 de 5
Universidad Fermín Toro
Vice rectorado académico - Facultad de Ingeniería
Cabudare – Edo. Lara
Programa en
lenguaje C
Nombre y Apellido:
Hildemaro Sequera
C.I.: 27.666.498
Sección: MI-42
Lenguaje C
C es un lenguaje de programación originalmente desarrollado por Dennis Ritchie entre
1969 y 1972 en los Laboratorios Bell, como evolución del anterior 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.
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 portable entre plataformas y/o arquitecturas.
Características:
En algunos casos, una característica inexistente puede aproximarse. Por ejemplo, la
implementación original de C++ consistía en un preprocesador que traducía código
fuente C++ a C. La mayoría de las funciones orientadas a objetos incluyen un puntero
especial, que normalmente recibe el nombre "this", que se refiere al objeto al que
pertenece la función. Mediante el paso de este puntero como un argumento de
función, esta funcionalidad puede desempeñarse en C. Por ejemplo, en C++ se puede
escribir:
stack.push(val);
Mientras que en C se podría escribir:
push(stack, val);
Donde el argumento stack es un puntero a una struct equivalente al puntero this de
C++, que es un puntero a un objeto.
Propiedades:
1. Un núcleo del lenguaje simple, con funcionalidades añadidas importantes,
como funciones matemáticas y de manejo de archivos, proporcionadas por
bibliotecas.
2. 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 de ruptura).
3. Un sistema de tipos que impide operaciones sin sentido.
4. Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como
definir macros e incluir múltiples archivos de código fuente.
5. Acceso a memoria de bajo nivel mediante el uso de punteros.
6. Interrupciones al procesador con uniones.
7. Un conjunto reducido de palabras clave.
8. 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.
9. Punteros a funciones y variables estáticas, que permiten una forma
rudimentaria de encapsulado y polimorfismo.
10. 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").
Ventajas:
1. Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo
nivel para realizar implementaciones óptimas.
2. A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo
compiladores para casi todos los sistemas conocidos.
3. Proporciona facilidades para realizar programas modulares y/o utilizar código o
bibliotecas existentes.
Desarrollo inicial:
El desarrollo inicial de C se llevó a cabo en los Laboratorios Bell de AT&T entre 1969 y
1973; según Dennis Ritchie, el periodo más creativo tuvo lugar en 1972. Se le dio el
nombre "C" porque muchas de sus características fueron tomadas de un lenguaje
anterior llamado "B".
El C de Kernighan y Ritchie:
En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de
programación C, también conocido como La biblia de C. Este libro fue durante años la
especificación informal del lenguaje. El lenguaje descrito en este libro recibe
habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La
segunda edición del libro cubre el estándar ANSI C, descrito más abajo).
Kernighan y Ritchie introdujeron las siguientes características al lenguaje:
1. El tipo de datos struct.
2. El tipo de datos long int.
3. El tipo de datos unsigned int.
4. Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la
ambigüedad sintáctica de expresiones como i=-10, que se podría interpretar
bien como i =- 10 o bien como i = -10.
El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un
compilador debe de soportar. Durante muchos años, incluso tras la introducción del
ANSI C, fue considerado "el mínimo común denominador" en el que los programadores
debían programar cuando deseaban que sus programas fueran transportables, pues no
todos los compiladores soportaban completamente ANSI, y el código razonablemente
bien escrito en K&R C es también código ANSI C válido.
C99:
Tras el proceso de estandarización de ANSI, la especificación del lenguaje C
permaneció relativamente estable durante algún tiempo, mientras que C++ siguió
evolucionando. Sin embargo, el estándar continuó bajo revisión a finales de la década
de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este
estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo
de 2000.
C11:
C11 (antes conocido como C1X) es un nombre informal para ISO/IEC 9899:2011,4 el
último estándar publicado para C. El borrador final, N1570, 5 fue publicado en abril de
2011. El nuevo estándar superó su última revisión el 10 de octubre de 2011 y fue
oficialmente ratificado por la ISO y publicado el 8 de diciembre de 2011.
C embebido:
Históricamente la programación en C embebido ha requerido extensiones no estándar
del lenguaje C para implementar características no oficiales tales como aritmética de
punto fijo y operaciones básicas de entrada y salida.
En 2008 el comité de estandarización de C, para implementar estas características no
oficiales, publicó un informe técnico en el que extendía el lenguaje C proporcionando
un estándar común al que todas las implementaciones se podían adherir. Incluía varias
características no disponibles en C normal, tales como aritmética de punto fijo,
espacios de direcciones con nombres y direccionamiento por hardware de entrada y
salida básico.
Variantes:
Desde el inicio del lenguaje han surgido varias ramas de evolución que han generado
varios lenguajes:
1. Objective-C es un primer intento de proporcionar soporte para la programación
orientada a objetos en C, pero actualmente usado en Mac OS X, iOS y GNUstep.
2. C++ (pronunciado C Plus Plus) diseñado por Bjarne Stroustrup fue el segundo
intento de proporcionar orientación a objetos a C y es la variante más difundida
y aceptada. Esta versión combina la flexibilidad y el acceso de bajo nivel de C
con las características de la programación orientada a objetos como
abstracción, encapsulación y ocultación.
También se han creado numerosos lenguajes inspirados en la sintaxis de C, pero que
no son compatibles con él:
1. Java, que une una sintaxis inspirada en la del C++ con una orientación a objetos
más similar a la de Smalltalk y Objective C.
2. JavaScript, un lenguaje de scripting creado en Netscape e inspirado en la
sintaxis de Java diseñado para dar a las páginas web mayor interactividad. A la
versión estandarizada se la conoce como ECMAScript.
3. C# (pronunciado C Sharp) es un lenguaje desarrollado por Microsoft derivado
de C/C++ y Java.
Captures:

Más contenido relacionado

La actualidad más candente

Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c
1002pc1
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
monty19
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
alithu1
 
Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVA
Nohemi Cuesta
 
Programacion i
Programacion iProgramacion i
Programacion i
y_ely_9
 

La actualidad más candente (18)

C++
C++C++
C++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Ansi c
Ansi cAnsi c
Ansi c
 
C sharp
C sharpC sharp
C sharp
 
Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
historia del lenguaje c++.c
historia del lenguaje c++.chistoria del lenguaje c++.c
historia del lenguaje c++.c
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
 
historia del lenguaje c++
historia del lenguaje c++historia del lenguaje c++
historia del lenguaje c++
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
 
Deber
DeberDeber
Deber
 
Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVA
 
Qué es el lenguaje c
Qué es el lenguaje cQué es el lenguaje c
Qué es el lenguaje c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Programacion i
Programacion iProgramacion i
Programacion i
 
Caracteristicas lenguajes
Caracteristicas lenguajesCaracteristicas lenguajes
Caracteristicas lenguajes
 

Similar a Programa en lenguaje C, Hildemaro Sequera, MI-42

C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptual
Fernando Jose
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
maryidaniela
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01
Rayco Paucar
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
1002pc3
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
1002pc3
 

Similar a Programa en lenguaje C, Hildemaro Sequera, MI-42 (20)

C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptual
 
Programacion 1 feli
Programacion 1 feliProgramacion 1 feli
Programacion 1 feli
 
Programacion 1 feli
Programacion 1 feliProgramacion 1 feli
Programacion 1 feli
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++
 
331985319 santaella u5-lenguajedeprogramacionc
331985319 santaella u5-lenguajedeprogramacionc331985319 santaella u5-lenguajedeprogramacionc
331985319 santaella u5-lenguajedeprogramacionc
 
Unidad 5 Lenguaje de Programacion C y C++
Unidad 5 Lenguaje de Programacion C y C++Unidad 5 Lenguaje de Programacion C y C++
Unidad 5 Lenguaje de Programacion C y C++
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
 
Documento 5
Documento 5Documento 5
Documento 5
 
Lenguaje C Version Final 1.pptx
Lenguaje C Version Final 1.pptxLenguaje C Version Final 1.pptx
Lenguaje C Version Final 1.pptx
 
Lenguaje c1
Lenguaje c1Lenguaje c1
Lenguaje c1
 
Deber
DeberDeber
Deber
 
Aplicacion de c
Aplicacion de cAplicacion de c
Aplicacion de c
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
historia del lenguaje c++
historia del lenguaje c++historia del lenguaje c++
historia del lenguaje c++
 

Último

SO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfSO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
StayBe1
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
SalomeRunco
 

Último (20)

Matematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosMatematica Basica Limites indeterminados
Matematica Basica Limites indeterminados
 
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfTECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfSO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
 
examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptx
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
Métodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdfMétodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdf
 

Programa en lenguaje C, Hildemaro Sequera, MI-42

  • 1. Universidad Fermín Toro Vice rectorado académico - Facultad de Ingeniería Cabudare – Edo. Lara Programa en lenguaje C Nombre y Apellido: Hildemaro Sequera C.I.: 27.666.498 Sección: MI-42
  • 2. Lenguaje C C es un lenguaje de programación originalmente desarrollado por Dennis Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior 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. 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 portable entre plataformas y/o arquitecturas. Características: En algunos casos, una característica inexistente puede aproximarse. Por ejemplo, la implementación original de C++ consistía en un preprocesador que traducía código fuente C++ a C. La mayoría de las funciones orientadas a objetos incluyen un puntero especial, que normalmente recibe el nombre "this", que se refiere al objeto al que pertenece la función. Mediante el paso de este puntero como un argumento de función, esta funcionalidad puede desempeñarse en C. Por ejemplo, en C++ se puede escribir: stack.push(val); Mientras que en C se podría escribir: push(stack, val); Donde el argumento stack es un puntero a una struct equivalente al puntero this de C++, que es un puntero a un objeto. Propiedades: 1. Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas. 2. 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 de ruptura). 3. Un sistema de tipos que impide operaciones sin sentido. 4. Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente. 5. Acceso a memoria de bajo nivel mediante el uso de punteros. 6. Interrupciones al procesador con uniones.
  • 3. 7. Un conjunto reducido de palabras clave. 8. 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. 9. Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo. 10. 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"). Ventajas: 1. Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas. 2. A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos. 3. Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes. Desarrollo inicial: El desarrollo inicial de C se llevó a cabo en los Laboratorios Bell de AT&T entre 1969 y 1973; según Dennis Ritchie, el periodo más creativo tuvo lugar en 1972. Se le dio el nombre "C" porque muchas de sus características fueron tomadas de un lenguaje anterior llamado "B". El C de Kernighan y Ritchie: En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de programación C, también conocido como La biblia de C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La segunda edición del libro cubre el estándar ANSI C, descrito más abajo). Kernighan y Ritchie introdujeron las siguientes características al lenguaje: 1. El tipo de datos struct. 2. El tipo de datos long int. 3. El tipo de datos unsigned int. 4. Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la ambigüedad sintáctica de expresiones como i=-10, que se podría interpretar bien como i =- 10 o bien como i = -10. El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un compilador debe de soportar. Durante muchos años, incluso tras la introducción del
  • 4. ANSI C, fue considerado "el mínimo común denominador" en el que los programadores debían programar cuando deseaban que sus programas fueran transportables, pues no todos los compiladores soportaban completamente ANSI, y el código razonablemente bien escrito en K&R C es también código ANSI C válido. C99: Tras el proceso de estandarización de ANSI, la especificación del lenguaje C permaneció relativamente estable durante algún tiempo, mientras que C++ siguió evolucionando. Sin embargo, el estándar continuó bajo revisión a finales de la década de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo de 2000. C11: C11 (antes conocido como C1X) es un nombre informal para ISO/IEC 9899:2011,4 el último estándar publicado para C. El borrador final, N1570, 5 fue publicado en abril de 2011. El nuevo estándar superó su última revisión el 10 de octubre de 2011 y fue oficialmente ratificado por la ISO y publicado el 8 de diciembre de 2011. C embebido: Históricamente la programación en C embebido ha requerido extensiones no estándar del lenguaje C para implementar características no oficiales tales como aritmética de punto fijo y operaciones básicas de entrada y salida. En 2008 el comité de estandarización de C, para implementar estas características no oficiales, publicó un informe técnico en el que extendía el lenguaje C proporcionando un estándar común al que todas las implementaciones se podían adherir. Incluía varias características no disponibles en C normal, tales como aritmética de punto fijo, espacios de direcciones con nombres y direccionamiento por hardware de entrada y salida básico. Variantes: Desde el inicio del lenguaje han surgido varias ramas de evolución que han generado varios lenguajes: 1. Objective-C es un primer intento de proporcionar soporte para la programación orientada a objetos en C, pero actualmente usado en Mac OS X, iOS y GNUstep. 2. C++ (pronunciado C Plus Plus) diseñado por Bjarne Stroustrup fue el segundo intento de proporcionar orientación a objetos a C y es la variante más difundida y aceptada. Esta versión combina la flexibilidad y el acceso de bajo nivel de C con las características de la programación orientada a objetos como abstracción, encapsulación y ocultación. También se han creado numerosos lenguajes inspirados en la sintaxis de C, pero que no son compatibles con él:
  • 5. 1. Java, que une una sintaxis inspirada en la del C++ con una orientación a objetos más similar a la de Smalltalk y Objective C. 2. JavaScript, un lenguaje de scripting creado en Netscape e inspirado en la sintaxis de Java diseñado para dar a las páginas web mayor interactividad. A la versión estandarizada se la conoce como ECMAScript. 3. C# (pronunciado C Sharp) es un lenguaje desarrollado por Microsoft derivado de C/C++ y Java. Captures: