Transcript Clase1

COMPUTACION I - CI2125
-Curso de introduccción a la programación en lenguaje "C" dirigido a
Ingenieros Electrónicos, Eléctricos y de Producción.
- Se presenta el concepto de algoritmo y como representar y diseñar
algoritmos para solucionar problemas.
- Se introducen los conceptos fundamentales de un lenguaje de
programación: tipos de datos, variables, estructuras de control, arreglos, y
finalmente subprogramas y funciones.
- Se imparten técnicas para lograr un buen estilo de programación.
- Enfasis en la programación estructurada.
LIBROS DE TEXTO
•Brian Kernighan, Dennis Ritchie, El lenguaje de programación C
•Deitel H. M. Deitel P. J., Como Programar en C/C++
•Peter Norton, Introducción a la Computación
•Luis Joyanes A, Programación en C, Libro de Problemas
EVALUACION
- Teoría: 70 % (2 Parciales 35% c/u),
- Práctica: 30% (Evaluación continua y proyecto final)
SITIOS DE INTERES EN LA WEB
Mi pagina donde publicaremos material dado en Teoría, Practica y LAB, así
como las notas de los parciales
http://www.ldc.usb.ve/~mperez/cursos/ci2125/
Otros sitios de interes publico y gratuito
http://www.geocities.com/david_ees/Algoritmia/cap01.htm
http://cplus.about.com/od/beginnerctutoria1/l/aa042902a.htm
http://www.cprogramming.com/
http://www.elrincondelc.com/portal/
Software libre para la comunicad, compilador de C Dev C++
http://www.bloodshed.net/
Evolución del Computador
Antecedentes históricos
Máquinas mecánicas: las computadoras de Charles
Babbage
Máquinas electromecánicas: el computador de
Konrad Zuse
Generaciones tecnológicas
Primera generación: válvulas
Segunda generación: transistores
Tercera generación: circuitos integrados
Cuarta generación: microprocesadores
¿Quinta generación?: el microprocesador como
elemento básico
Antecedentes históricos
Primer reto: operaciones básicas
El ábaco: primer instrumento
para calcular.
Tablilla dividida en varias
columnas. Cada una con un
conjunto de cuentas
engarzadas en una varilla.
Su origen se remonta a los
siglos III o IV a. de C.
Sigue en uso
Antecedentes históricos
Máquina aritmética
Desarrollada por Blas Pascal (1642, a los 18 años)
Constaba de un conjunto de ruedas dentadas, cada una de ellas
numerada del 0 al 9. Al pasar una rueda del 9 al 0 avanzaba un diente
de rueda a la siguiente.
Máquina Mecánica. Charles Babbage (1791-1871)
“Uno de los padres del computador actual”
“Adelantado” para la tecnología de la época
Consta de una memoria, una unidad aritmética, sistema de engranajes
para transferir datos entre memoria y la unidad aritmética y un
dispositivo para introducir y sacar datos de la máquina
Empleaba tarjetas perforadas para Programarse
Antecedentes históricos
Máquina Electromecánicas
Herman Hollerith (1860-1929). Censo de los Estados Unidos
Tarjetas perforadas
Crea la empresa (TMC) que da lugar a IBM
Konrad Zuse
Construye (1941) el primer calculador universal programable (Z3).
Trabaja en binario.
Computador MARK-I Howard Aiken
Evolución:
Mark-II
máquina de relés
Mark-III y Mark-IV máquinas de tubos de vacío con
programa almacenado.
1ª Generación: válvulas de vacío
Velocidad de proceso en ms.
Disipación calorífica muy elevada
Gran tamaño y poca capacidad
Lenguaje máquina
Monoprogramación
Sin sistema operativo
1ª Generación: válvulas de vacío
Colossus: grupo de científicos ingleses con Alan
Turin (1943). Ayudó a descifrar el código
enigma de los alemanes.
ENIAC Electronic Numerical Integrator and Calculator.
Eckert y Mauchly (1941)
1er computador electrónico de propósito general.
Programa cableado
Cálculo de tablas de fuego de artillería
Operativo durante la II Guerra Mundial. Conocido en
1946
1ª Generación: válvulas de vacío
ENIAC Características:
30 Tm
18.000 tubos de vacío
100 Kw
100 Khz
Operaciones: suma,
resta, multiplicación y
división (suma: 200µs)
20 registros de 10
dígitos (2 pies/registro)
Entrada/Salida de datos:
Tarjetas perforadas
1ª Generación: válvulas de vacío
EDVAC (Electronic Discrete Variable Automatic Computer)
Eckert-Mauchly-von Neumann
Bases de la Arquitectura von Neumann
Programa almacenado
Tubos de vacío
Aritmética binaria
5 unidades: Entrada, Memoria, UAL, Control, Salida
UNIVAC I - Remington-Rand Co. (Eckert-Mauchly
Computer Co.)
1er computador comercial con éxito. 1951
48 sistemas, 250.000 $
2ª Generación: transistores (1948)
Menor tamaño, menor disipación de calor, mayor fiabilidad
Primeros lenguajes de alto nivel:
FORTRAN
COBOL
ALGOL
Sistema Operativo
Extensión de los computadores comerciales
2ª Generación: transistores
Innovadores, con poca repercusión comercial:
UNIVAC LARC
IBM STRETCH (o 7030)
Burroughs D-825
ATLAS
Comerciales:
CDC 1604 y 3600
IBM 1410
PDP 1 de DEC
Serie 1100 de Univac
3ª Generación: circuitos integrados
Menor tamaño, más baratos, menor consumo de energía
Primera familia de computadores, compatibles a nivel de
arquitectura: IBM360
Supercomputadores: 6600 de Control Data (Cray).
Minicomputadores:
PDP-8 y PDP-11
Sistemas Operativos:
Multiprogramación, tiempo compartido
Lenguajes: alto nivel estructurado (Dijkstra, 1968)
4ª Generación: microprocesadores VLSI
Microprocesadores y
memorias de
semiconductor.
1971: 1er microprocesador,
INTEL 4004 (4 bits)
8 bits: Intel 8080-85,
Motorola 6800 y Zilog Z-80
16 bits: Intel 8086-88,
Motorola 68000 y Z-8000
32 bits: Intel 80386,
Motorola 68030
Computadores personales y
estaciones de trabajo
Válvula, transistor,
circuito integrado,
microprocesador
4ª Generación: microprocesadores VLSI
Otras aplicaciones: electrodomésticos, equipos de
música y vídeo, etc.
Arquitectura RISC (MIPS R2000, SPARC)
Supercomputadores: computadores paralelos
Lenguajes de programación: C y Ada
Sistemas Operativos. Estandarización: UNIX
Interfaces gráficas
Generalización de las redes de computadores
¿5ª Generación?: microprocesadores
El microprocesador como elemento básico
La computación masivamente paralela
Inteligencia artificial
La comunicación y las conexiones entre
computadores como algo generalizado.
Internet. Correo electrónico. World Wide
Web....
Los ordenadores actuales
Integrados con millones de transistores
Velocidades > GHz
UAL y UC Microprocesador o CPU
Memoria Principal (capacidad > Giga)
Unidad de E/S en chipsets
Diversidad y compatibilidad de periféricos (USB)
Interconectividad de sistemas
ARQUITECTURA DEL COMPUTADOR
Cualquier computadora es parte de un sistema, Un sistema de
computo consta de cuatro partes:
- HARDWARE, conocido como la computadora
- SOFTWARE, conocido como los programas
- DATOS, los cuales son convertidos por el sistema en información,
los datos computarizados son digitales (dígitos o números). Un
archivo es un conjunto de datos que se le ha dado un nombre:
trabajo.doc, foto.jpg, musica.mp3, programa.c, datos.txt
- PERSONAS, conocidos como los usuarios
ARQUITECTURA DEL COMPUTADOR
HARDWARE, tiene muchas partes, pero cada pieza cae en una de
las siguientes:
1. Procesador (CPU : Central Processing Unit )
2. Memoria
3. Dispositivos de entrada y salida
4. Dispositivos de almacenamiento
ARQUITECTURA DEL COMPUTADOR
HARDWARE, “Arquitectura de von Neumann” :
Soporta el concepto del programa almacenado, un concepto teórico
muy importante que fue establecido por el matemático John von
Neumann el 30 de junio de 1945, tanto el programa como sus
datos son almacenados en la memoria del computador.
Estos elementos están interconectados a través de un conjunto de líneas que llevan
instrucciones (control bus), datos (data bus) y que permiten dar los valores de
direcciones de memoria y dispositivos (memory bus).
ARQUITECTURA DEL COMPUTADOR
HARDWARE, “Arquitectura de von Neumann” :
Soporta el concepto del programa almacenado, un concepto teórico
muy importante que fue establecido por el matemático John von
Neumann el 30 de junio de 1945, tanto el programa como sus
datos son almacenados en la memoria del computador.
Estos elementos están interconectados a través de un conjunto de líneas que llevan
instrucciones (control bus), datos (data bus) y que permiten dar los valores de
direcciones de memoria y dispositivos (memory bus).
ARQUITECTURA DEL COMPUTADOR
PROCESADOR (CPU) es el cerebro de la computadora, organiza y lleva a cabo las
instrucciones del usuario o del software
- Pueden ser uno o mas microprocesadores conectados a una tarjeta de circuitos ,
todos sobre una tarjeta denominada Madre, que los conecta entre si.
ARQUITECTURA DEL COMPUTADOR
PROCESADOR (CPU)
- Consiste de tres unidades principales:
- Unidad Aritmética/Lógica (ALU): La ALU es
donde se realizan todas las operaciones que
involucran un procesamiento matemático
(particularmente aritmético) o lógico (operaciones
booleanas).
- Registros: Los registros permiten el
almacenammiento de datos para estas
operaciones y sus resultados.
- Unidad de Control (CU): En la CU es donde se
ejecutan todo el resto de las operaciones (decisión,
control, movimiento de datos).
Una CPU con todos estos elementos implementada en
un solo chip recibe el nombre de microprocesador.
Cada 18 meses se duplica el poder de
computo de los micro procesadores
basados en la tecnología del silicio
ARQUITECTURA DEL COMPUTADOR
PROCESADOR (CPU) Velocidad de procesamiento – Poder de computo
-
Ley de Moore: Honor a Gordon Moore, fundador de Intel.
El poder de computo se duplica cada 18 meses
Esto es debido a que cada 18 meses, el avance en la tecnología de silicio ha
permitido colocar mas transistores en chips mas pequeños, hoy día se cuentan por
millones, versus, a principios de los 70’s de solo miles.
http://www.intel.com
ARQUITECTURA DEL COMPUTADOR
PROCESADOR (CPU) Velocidad de procesamiento – Poder de computo
-
Ley de Moore: Honor a Gordon Moore, fundador de Intel.
El número de transistores de un chip se duplica cada dos años.
Si el Hierro fue la materia prima del siglo XIX, .. el Silicio es la del siglo XX….
Pero la Ley de Moore también significa costes en descenso. A medida que los
ingredientes de las plataformas y los componentes basados en el silicio
obtienen más rendimiento, resulta exponencialmente más barato fabricarlos y,
por consiguiente, son más abundantes, más potentes y están más integrados
en nuestra vida cotidiana.
Los microprocesadores de hoy día equipan todo tipo de artículos, desde juguetes
hasta semáforos. Una tarjeta de cumpleaños musical que cuesta unos
cuantos bolívares hoy día tiene más capacidad de proceso que los grandes
ordenadores más rápidos de hace décadas.
ARQUITECTURA DEL COMPUTADOR
PROCESADOR (CPU) Velocidad de procesamiento – Poder de computo
-
Ley de Moore: Honor a Gordon Moore, fundador de Intel.
El número de transistores de un chip se duplica cada dos años.
Esto ha dado como resultado ganancias en el desempeño e incremento en la
velocidad. Pero no solo esto determina la velocidad de un chip, sino otros factores
como el Reloj, los buses de datos la memoria caché y el coprocesador
matemático.
La velocidad de un procesador se mide en
Megahertz, los megahertz indican la
velocidad del reloj interno que posee todo
microprocesador.
Un Pentium 4 tiene una velocidad de 3.0
GHz (GHz = 1000 MHz )
ARQUITECTURA DEL COMPUTADOR
DATOS: son convertidos por el sistema en información,
los datos computarizados son digitales (dígitos o números).
Los datos se representan utilizando únicamente los símbolos ‘0’ y ‘1’
‘0’ y ‘1’ son llamados
BITS
( BInary digiTS )
Un conjunto de 8 bits se denomina byte (octeto, de ocho)
Con “8” bits, pueden representarse 2 a la 8, combinaciones:
podemos crear 256 combinaciones diferentes de octetos con 0 y 1
El código ASCII (American Standard Code for Information Interchange):
representación de caracteres y símbolos de forma electrónica, en
combinaciones de 8 bits.
Incluye códigos para las letras del alfabeto (minúsculas y mayúsculas),
los dígitos decimales, 32 caracteres especiales y caracteres de control.
ARQUITECTURA DEL COMPUTADOR
DATOS: los datos computarizados son digitales (dígitos o números).
Usar estándares requiere disciplina y a veces restringe la creatividad. Sin
embargo, es muy útil para la comunicación entre usuarios. Internet requiere
aún más enfoque en estándares, porque se trata en muchos casos de usuarios
de idiomas diferentes. Las personas que tuvieron la visión de internet, trataron
de establecer un plataforma de comunicación global. Usar estándares es una
forma de cumplir este objetivo
Ejemplo:
Código ASCII
64
65
carácter o símbolo que representa
@
A
byte
00100000
00100001
Recuerden, en el sistema numérico decimal:
123 base 10 = 1x 10^2 + 2 x 10^1 + 3 x 10^0 = 100 + 20 + 3
De igual manera en el sistema numérico binario:
100000 base 2 = 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 0 x 2 ^3 + 0 + 0 + 0 = 64
ARQUITECTURA DEL COMPUTADOR
MEMORIA, Los programas se cargan y se corren desde la memoria.
Los datos usados por el programa también se cargan en memoria para un
acceso rápido.
La unidad de medición para describir la memoria es el byte ( 8 bits )
Es decir la capacidad de almacenar datos se mide en el numero de bytes
que puede almacenar
Kilobyte (KB) = 2 ^ 10 bytes = 1024 bytes,
aprox
Megabyte (MB)= 2 ^ 20 bytes = 1048576 bytes,
aprox
Gigabyte (GB)= 2 ^ 30 bytes = 1073741824 bytes, aprox
1000 bytes
1000 KB
1000 MB
Hay dos tipos de memoria:
RAM ( Random Access Memory)
Se usa para cargar programas y datos mientras están en uso, pues
permite un acceso mas rápido entre ella y el CPU.
Son chips volátiles, al apagar el computador se borran los datos
ROM ( Read Only Memory )
Se usa para mantener información de manera permanente, esto se
realiza en fabrica, y no son volátiles, por ejemplo, datos de arranque del
computador.
ARQUITECTURA DEL COMPUTADOR
DISPOSITIVOS DE ENTRADA Y SALIDA.
Los dispositivos de entrada aceptan los datos del
usuario:
Teclado, ratón, escaners, cámaras digitales, micrófonos, etc
Los dispositivos de salida devuelven los datos
procesados por el usuario:
Pantalla o monitor, la impresora, cornetas
Los dispositivos de entrada/salida:
Permiten la comunicación en las dos vías: módems, conectividad en
redes, etc.
ARQUITECTURA DEL COMPUTADOR
ALMACENAMIENTO.
El propósito del almacenamiento, es guardar de manera permanente
nuestros datos o programas.
Diferencias entre almacenamiento y memoria:
1 Hay mas lugar en el almacenamiento que en la memoria
2 Los contenidos son conservados en el almacenamiento cuando la
computadora se apaga
3 El almacenamiento es mucho mas barato que la memoria
El dispositivo que contiene un disco se llama unidad de disco
Ejemplos:
Disco duro : disco construido dentro del computador no removible, con gran
capacidad
Unidad de diskettes: permite leer/grabar datos en discos flexibles de
diferentes formatos.
Unidad de CD RW: permite leer/grabar datos en unidades de CD
Unidades de diferentes formatos de discos ópticos, microdrive, flashcard,
etc.
ARQUITECTURA DEL COMPUTADOR
SOFTWARE: Permite a la computadora realizar una tarea determinada
Programa: conjunto especifico de instrucciones electrónicas que dirigen a una
computadora a realizar una tarea especifica.
SOFTWARE DEL SISTEMA:
Sistema Operativo: Le dice a la computadora como interactuar con el usuario y
como usar los dispositivos
SOFTWARE DE APLICACIÓN:
Otros programas que ayudan a la gente a realizar tareas especificas, desde
procesamiento de palabras (Word), hasta para interactuar en la WEB !!
ARQUITECTURA DEL COMPUTADOR
SISTEMA OPERATIVO S.O.
Conjunto de programas que se encargar de realizar la administración de todos los
recursos que posee un computador
Permiten que el desarrollo de nuevos programas o aplicaciones se independice del
tipo de Hardware, Portabilidad
COMANDO: Significa mandato, orden
El usuario interactúa con el S.O a través de Comandos !!
Pueden ser:
1. Líneas de Comando: como en UNIX, DOS, LINUX
2. Entorno TEXTO-GRAFICO: como en MS-WINDOWS, OPENWINDOWS,
AMBIENTES GRAFICOS DE LINUX DE LA COMUNIDAD DE OPEN SOURCE
Tareas del S.O.
ORGANIZA Y ADMINISTRA LOS MEDIOS DE ALMACENAMIENTO
1. DIRECTORIOS: Entidades logicas para organizar jerarquicamente la ubicación de
la informacion. Se usan comandos para crear Directorios
2. ARCHIVOS: Entidades logicas que contiene informacion diversa, creada por la
aplicación o el usuario. Como archivos de texto, imágenes, musica, video. Con
comandos del S.O las guardamos en Directorios
ARQUITECTURA DEL COMPUTADOR
SOFTWARE DE APLICACION:
Aplicaciones: es un conjunto de programas que llevan a cabo tareas especificas
tales como: Manejo de base de datos, Procesadores de texto, Diseño grafico,
control de procesos, sistemas de finanzas, planillas de calculo, etc.
Sistemas de desarrollo: Son conjuntos de programas, que implementan una
tecnología de desarrollo, para generar nuevas aplicaciones.
- Implementados usando Lenguajes de programación
LENGUAJES DE PROGRAMACION
 Nivel de abstracción
- Lenguajes de 1er nivel (bajo nivel): código de maquina
- Lenguajes de 2do nivel (bajo nivel): Uso de Ensamblador
- Lenguajes de 3er nivel (alto nivel): Uso de traductores tipo “interpretadores o
compiladores. ( Lenguajes Pascal, Fortran, C, Basic, C++, Prolog, Lisp, Cobol,
PL1, Ada, Java, HTML, XML, etc)
Lenguajes de Programación
- Lenguajes de 1er Nivel
-
Lenguaje de máquina, binario
Ejecuta acciones directas en el CPU
Instrucciones del tipo “1001001100101”
Como recordar esto?
Prácticamente nadie trabaja hoy a este nivel,
excepto los diseñadores de "chips"
procesadores.
Lenguajes de Programación
- Lenguajes de 2do Nivel
- lenguaje más comprensible: por el hombre
consiste por lo tanto en establecer la
equivalencia de bloques binarios con signos
de nuestro lenguaje habitual
- Comandos del tipo “ADC” (ADd with Carry)
- Se llama ENSAMBLADOR, el prog que
traduce los comandos al lenguaje de máquina
- Progreso en la redacción de comandos
- Muy atado al tipo de CPU de la máquina
Lenguajes de Programación
- Lenguajes de 3er Nivel
- Lenguajes de "alto nivel", es decir más cercanos al
modo de expresar del hombre que de la operación de
la máquina.
- El programador manipula entidades lógicas
abstractas, sin los detalles de su implementación a
nivel de maquina
- Más fáciles de manejar y más independientes de las
características técnicas de los procesadores
- Redactar un programa, sin tener que preocuparse por
el código binario o de ensamble
Lenguajes de Programación
- Lenguajes de 3er Nivel
- Necesita un programa “traductor”, que
transforma los bloques del lenguaje en bloques
binarios
- El avance en el desarrollo de "compiladores"
e "intérpretes" (los dos tipos de programas
traductores) ha sido por lo tanto fundamental en
el desarrollo de los lenguajes de alto nivel
- Ventajas: facilidad de aprendizaje,
lectura/escritura, corrección, transformación y
conversión de un lenguaje a otro.
Lenguajes de Programación
FORTRAN ( FORmula TRANslation)
1953, Job Backus, un empleado de IBM propuso
el desarrollo de un nuevo lenguaje de
programación, el Fortran. Por aquella época,
todos los programadores escribían en
ensamblador
Fue el primer lenguaje de alto nivel: fue
desarrollado por IBM y su primera versión se
lanzo en 1957.
Se caracteriza por su potencia en los cálculos
matemáticos pero está limitado en lo relativo al
tratamiento de datos no numéricos
Lenguajes de Programación
ALGOL ( ALGOrithmic Lenguage)
Primer lenguaje creado por un comité
internacional (GAMM y ACM).
En 1960 se reunieron representantes de varios
países europeos y de Estados Unidos para
crear un lenguaje destinado a "describir
procesos" mediante instrucciones de control
(iteraciones y alternaciones) de nivel más
elevado que las existentes en las versiones
existentes de su predecesor, el FORTRAN.
Lenguajes de Programación
FECHA
LENGUAJE
ACONTECIMIENTO
1953
FORTRAN
Job Backus propone el desarrollo de un nuevo lenguaje
1954
FORTRAN
Un equipo de IBM comienza a trabajar en el FORTRAN
1957
FORTRAN
IBM desarrolla la primera versión
1959
LISP
El profesor John McCarthy y sus alumnos desarrolla el LISP
1960
ALGOL
Se reúnen representantes europeos y de EEUU para la creación de
un nuevo lenguaje
1960
COBOL
Fue creado COBOL
1962
APL
Se publica el libro de Kenneth Iverson “A Programming Language
APL
El APL es implantado por IBM en una versión conocida como
APL/360
1965
BASIC
Aparece BASIC
1966
FORTRAN
Aparece el FORTRA IV
1968
ALGOL
Se implemento una nueva versión multi-proposito
Finales de los
60
APL
Está disponible para el mercado en general
1970
PASCAL
Niklaus Wirth diseña PASCAL
1972
PROLOG
Se desarrolla en la Universidad de Aix-Marsailles en Francia.
Mediado
los 60
de
Lenguajes de Programación
FECHA
LENGUAJE
ACONTECIMIENTO
1972
C
Dennis Ritchie crea el lenguaje C.
1977
FORTRAN
Aparece el FORTRAN 77
Finales de los
70
MODULA-2
Niklaus Wirth dirige el desarrollo de MODULA-2
Principio
los 80
C++
Se desarrolla el lenguaje C++
1985
CLIPPER
Se crea CLIPPER
1986
CLIPPER
Aparece CLIPPER AUTUMN’86
1987
CLIPPER
CLIPPER SUMMER’87
1990
FORTRAN
Aparece el FORTRAN 90
Principios 90
JAVA
James Gosling y su equipo comienzan a desarrollar JAVA
1993
Visual C++
Se desarrolla el lenguaje Visual C++
1994
DELPHI
Aparece la primera versión
1995
JAVA
Se lanza al mercado JAVA
1999
DELPHI
Aparece Delphi 5.0 para windows 98 NT/2000
de
Lenguaje de Programación C
C ( después de B …)
Creado en 1972 por Dennis Ritchie, que junto con Ken
Thompson habían diseñado anteriormente el sistema
operativo UNIX, y su intención al desarrollar el lenguaje
C fue conseguir un lenguaje idóneo para la
programación de sistemas que fuese independiente de
la máquina para utilizarlo en la implementación del
sistema operativo UNIX .
Se creó para superar las limitaciones del lenguaje B,
utilizado por Ken Thompson para producir la versión
original de UNIX en 1970.
Lenguaje de Programación C
El C es un lenguaje moderno de propósito general
que combina las características de un lenguaje
de alto nivel (programación estructurada, tipos
y registros de datos, recursividad, etc.) con
una serie de características más propias de
lenguajes de mas bajo nivel
Su definición apareció en 1978 en el libro
"The C programming Language"
Brian W. Kernighan y Dennis M. Ritchie
(Ed. Prentice-Hall)
Lenguaje de Programación C
En 1983 se establece un comité para resolver las
discrepancias de varias versiones de C, el cual
empezó a trabajar en un estándar ANSI C, la cual fue
completada en 1988. Este estándar incluye una
enorme biblioteca de funciones para entrada/salida,
tratamiento de textos, funciones matemáticas, etc
Documentada en:
1988. "The C Programming Language-Reference Manual”
Dennis M. Ritchie (Lab.Bell)
ANSI ( American National Standard Institute)
Lenguaje de Programación C
CARACTERISTICAS
•
•
•
•
•
•
Programación estructurada
Economía de las expresiones
Abundancia de operadores y tipos de
datos
Codificación en alto nivel y bajo nivel.
No esta orientado a ningún área en
especial
Producción de código objeto altamente
optimizado