Vous êtes sur la page 1sur 12

Repblica Bolivariana de Venezuela.

Ministerio del Poder Popular para la Educacin Universitaria.


Instituto Universitario de Tecnologa Jos Antonio Anzotegui.
Pariagun- Estado Anzotegui.













PE2




Pariaguan, 18/02/2014
PROFESOR: Integrantes:
LUIS MEJIAS

PEDRIQUE OSCAR C.I.:20.000.740
INTRODUCCIN

Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para
escribir el cdigo del sistema operativo UNIX.

Desde su nacimiento se fue implantando como el lenguaje de programacin
de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje
que conjugaba la abstraccin de los lenguajes de alto nivel con la eficiencia del
lenguaje mquina. Los programadores de sistemas que trabajaban sobre MS-DOS
y Macintosh tambin utilizaban C, con lo cual la prctica totalidad de aplicaciones
de sistema para microordenadores y para sistemas UNIX est escrita en este
lenguaje.

A mediados de los ochenta el C se convierte en un estndar internacional
ISO. Este estndar incluye tanto la definicin del lenguaje como una enorme
biblioteca de funciones para entrada/salida, tratamiento de textos, matemticas,
etc.

A mediados de los ochenta se crea el C++, extensin de C orientada a
objetos. El C++ se convierte en estndar ISO en 1998. En el momento actual, el
lenguaje C no va a modificarse ms. Ser el C++ el que incorporar nuevos
cambios.





El Lenguaje C

Es un lenguaje de programacin de propsito general que ofrece economa
sintctica, Control de flujo y estructuras sencillas y un buen conjunto de
operadores.
No es un lenguaje de muy alto nivel y ms bien un lenguaje pequeo,
sencillo y no est especializado en ningn tipo de aplicacin. Esto lo hace un
lenguaje potente, con un campo de aplicacin ilimitado y sobre todo, se aprende
rpidamente. En poco tiempo, un programador puede utilizar la totalidad del
lenguaje.
C trabaja con tipos de datos que son directamente tratables por
el hardware de la mayora de computadoras actuales, como son los caracteres,
nmeros y direcciones. Estos tipos de datos pueden ser manipulados por
las operaciones aritmticas que proporcionan las computadoras. No proporciona
mecanismos para tratar tipos de datos que no sean los bsicos, debiendo ser el
programador el que los desarrolle. Esto permite que el cdigo generado sea muy
eficiente y de ah el xito que ha tenido como lenguaje de desarrollo de sistemas.
Sistema Operativo
Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX,
puesto que fueron desarrollados conjuntamente. Sin embargo, este lenguaje no
est ligado a ningn sistema operativo ni a ninguna mquina concreta. Se le suele
llamar lenguaje de programacin de sistemas debido a su utilidad para
escribir compiladores y sistemas operativos, aunque de igual forma se puede
desarrollar cualquier tipo de aplicacin.

La base del C proviene del BCPL, escrito por Martin Richards, y del B
escrito por Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-
7. Estos son lenguajes sin tipos, al contrario que el C que proporciona varios tipos
de datos. Los tipos que ofrece son caracteres, nmeros enteros y en coma
flotante, de varios tamaos. Adems se pueden crear tipos derivados mediante la
utilizacin de punteros,vectores, registros y uniones. El primer compilador de C fue
escrito por Dennis Ritchie para un DEC PDP-11 y escribi el propio sistema
operativo en C.Introduccin al lenguaje C (2).

La base del C proviene del BCPL, escrito por Martin Richards, y del B
escrito por Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-
7. Estos son lenguajes sin tipos, al contrario que el C que proporciona varios tipos
de datos. Los tipos que ofrece son caracteres, nmeros enteros y en coma
flotante, de varios tamaos. Adems se pueden crear tipos derivados mediante la
utilizacin de punteros, vectores, registros y uniones. El primer compilador de C
fue escrito por Dennis Ritchie para un DEC PDP-11 y escribi el propio sistema
operativo en C.

Estructura de Lenguaje en C

Las estructuras son colecciones de variables relacionadas bajo un nombre.

Las estructuras pueden contener variables de muchos tipos diferentes de
datos; a diferencia de los arreglos que contienen nicamente elementos de un
mismotipo de datos.

Las estructuras son tipos de datos derivados - estan construidas utilizando
objetos de otros tipos. Considere la siguiente definicion de estructura:

struct ejemplo f
char c;
int i;g;

La palabra reservada struct indica se esta definiendo una estructura. El
identificador ejemplo es el nombre de la estructura. L
Los miembros de la misma estructura deben tener nombres nicos mientras
que dos estructuras diferentes pueden tener miembros con el mismo nombre.
Cada definicin de estructura debe terminar con un punto y coma.
Estructura de Programacin en C
Estructura

Todo programa en 'C' consta de una o ms funciones, una de las cuales se
llama main.
El programa comienza en la funcin main, desde la cual es posible llamar a
otras funciones.
Cada funcin estar formada por la cabecera de la funcin, compuesta por el
nombre de la misma y la lista de argumentos (si los hubiese), la declaracin de las
variables a utilizar y la secuencia de sentencias a ejecutar.
ejemplo:
declaraciones globales
main( ) {
variables locales
bloque
}
funcion1( ) {
variables locales
bloque
}


Comentarios
A la hora de programar es conveniente aadir comentarios (cuantos ms
mejor) para poder saber que funcin tiene cada parte del cdigo, en caso de que
no lo utilicemos durante algn tiempo. Adems facilitaremos el trabajo a otros
programadores que puedan utilizar nuestro archivo fuente.

Para poner comentarios en un programa escrito en 'C' usamos los smbolos /* y */:
/* Este es un ejemplo de comentario */
/* Un comentario tambin puede
estar escrito en varias lneas */
El smbolo /* se coloca al principio del comentario y el smbolo */ al final.
El comentario, contenido entre estos dos smbolos, no ser tenido en cuenta por el
compilador.
Construcciones algortmicas
construcciones condicionales (if,switch)
construcciones iterativas(while,for,do...while)
subrutinas (funciones)

Adems de lo anterior, el C tiene otros elementos:
comentarios
inclusin de ficheros
macros
compilacin condicional
El preprocesador es quien normalmente se encarga de interpretar estas
construcciones.

Estructura de un fichero fuente
Un fichero fuente en lenguaje C tendr esta estructura tpica:

#include <biblioteca1.h>
#include <biblioteca2.h>

... declaraciones de funciones ...

... definiciones (cuerpos de funciones) ...
... declaraciones de variables globales ...

main()
{
... cuerpo del main ...
}

... otras definiciones de funciones ...

Las declaraciones y definiciones se pueden hacer en cualquier orden, aunque es
preferible declarar las funciones al principio del programa (por legibilidad).
main es simplemente una funcin ms del programa, con la particularidad de que
es el punto de entrada al programa.
Expresiones y operadores

Los distintos operadores permiten formar expresiones tanto aritmticas como
lgicas. Los operadores aritmticos y lgicos son:

+, - suma, resta
++, -- incremento, decremento
*, /, % multiplicacin, divisin, mdulo
>>, << rotacin de bits a la derecha, izquierda.
& AND booleano
| OR booleano
^ EXOR booleano
~ complemento a 1
! complemento a 2, NOT lgico
==, != igualdad, desigualdad
&&, || AND, OR lgico
<, <= menor, menor o igual
>, >= mayor, mayor o igual

En estos operadores deben tenerse en cuenta la precedencia de
operadores y las reglas de asociatividad, que son las normales en la mayora de
lenguajes. Se debe consultar el manual de referencia para obtener una explicacin
detallada. Adems hay toda una serie de operadores aritmticos con asignacin,
como pueden ser += y ^=.

En la evaluacin de expresiones lgicas, los compiladores normalmente
utilizan tcnicas de evaluacin rpida. Para decidir si una expresin lgica es
cierta o falsa muchas veces no es necesario evaluarla completamente. Por
ejemplo una expresin formada <exp1> || <exp2>, el compilador evala primero
<exp1> y si es cierta, no evala <exp2>. Por ello se deben evitar construcciones
en las que se modifiquenvalores de datos en la propia expresin, pues su
comportamiento puede depender de la implementacin del compilador o de la
optimizacin utilizada en una compilacin o en otra.

Estos son errores que se pueden cometer fcilmente en C ya que una
asignacin es tambin una expresin.
Debemos evitar: if (( x++ > 3 ) || ( x < y ))
y escribir en su lugar: x++; if (( x > 3 ) || ( x < y ))
Hay un tipo especial de expresin en C que se denomina expresin condicional y
est representada por los operadores ? : . Su utilizacin es como sigue: <e> ? <x>
: <y>. Se evala si e entonces x; si no, y.
int mayor ( int a, int b ) {
return ( a > b ) ? TRUE : FALSE;
}
waste_time () {
float a, b = 0.0;
( b > 0.0 ) ? sin(M_PI / 8) : cos(M_PI / 4);
}


Funciones del Lenguaje en C

Las funciones son porciones de cdigo que devuelven un valor.
Permiten descomponer el programa en mdulos que se llaman entre ellos.
En C no existe diferencia entre funciones y procedimientos: a todas las subrutinas
se las llama funciones.
La definicin de una funcin especfica lo siguiente:
nombre de la funcin
nmero de argumentos que lleva y tipo de cada uno de ellos
tipo de datos que devuelve
Cuerpo de la funcin (el cdigo que ejecuta)
Sintaxis:
tipo nombre ( arg1, arg2, ... )
{
... cuerpo ...
}
Cada argumento se especifica como en una declaracin de variable.
El cuerpo de la funcin debera contener una sentencia donde se devuelve el
resultado de la funcin, que se hace de esta forma:
return expresin;
La funcin devolver el resultado de la expresin.


Ciclos
Es muy comn encontrar en los programas operaciones que se deben
ejecutar un nmero repetido de veces en perodos ms o menos espaciados. Si
bien las instrucciones son las mismas, los datos sobre los que operan varan.
Un ciclo, funciona de la siguiente manera: Evala una condicin de resultar
cierta, realiza una accin o bloque de acciones, luego vuelve a evaluar la
condicin y si nuevamente resulta cierta, realiza la (s) accin (es). Cuando la
condicin de cmo resultado falso, se sale del ciclo y contina con la ejecucin
normal del programa.
Estructuras de datos
literales
tipos bsicos (todos numricos)
tipos enumerados
tipos estructurados (struct, union)
punteros y vectores
Reglas Bsicas de la Programacin en C
Comentar, comentar, comentar. Documentar convenientemente los
programas es imprescindible en cualquier lenguaje.
Utilizar siempre la regla KISS: Keep It Simple, Stupid. Claro y sencillo es
siempre preferible a complejo y maravilloso.
Evitar efectos laterales. Utilizar los operadores ++ y -- siempre en una nica
lnea por s mismos (no imbudos en otras sentencias complejas).
Nunca colocar asignaciones dentro de los condicionales. Nunca colocar una
asignacin dentro de otra sentencia.
Considere la diferencia entre = y ==. Utilizar = en lugar de == es un error
muy comn y difcil de encontrar, especialmente entre programadores procedentes
de otros lenguajes.
Nunca haga "nada" de forma "silenciosa".
/* Nunca programe de este modo */
for (index = 0; data[index] < key; index++);
/*Ha notado el punto y coma al final de la lnea anterior?*/
/* Forma correcta para hacer lo mismo: */
for (index = 0; data[index] < key; index++)
; /* No hacer nada */

CARACTERISTICAS DEL LENGUAJ E 'C'
El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de
lenguaje: interpretados y compilados. Los interpretados son aquellos que
necesitan del cdigo fuente para funcionar (P.ej: Basic).Los compilados convierten
el cdigo fuente en un fichero objeto y este en un fichero ejecutable. Este es el
caso del lenguaje 'C'.
Podemos decir que el lenguaje 'C' es un lenguaje de nivel medio, ya que
combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje
ensamblador. Es un lenguaje estructurado, ya que permite crear procedimientos
en bloques dentro de otros procedimientos. Hay que destacar que el 'C' es un
lenguaje portable, ya que permite utilizar el mismo cdigo en diferentes equipos y
sistemas informticos: el lenguaje es independiente de la arquitectura de cualquier
m quina en particular.

Punteros

Cada variable de un programa tiene una direccin en la memoria del
ordenador. Esta direccin indica la posicin del primer byte que la variable ocupa.
En el caso de una estructura es la direccin del primer campo. En los ordenadores
actuales la direccin de inicio se considera la direccin baja de memoria. Como en
cualquier caso las variables son almacenadas ordenadamente y de una forma
predecible, es posible acceder a estas y manipularlas mediante otra variables que
contenga su direccin. A este tipo de variables se les denomina punteros.

Los punteros C son el tipo ms potente y seguramente la otra clave del
xito del lenguaje. La primera ventaja que obtenemos de los punteros es la
posibilidad que nos dan de poder tratar con datos de un tamao arbitrario sin tener
que moverlos por la memoria. Esto puede ahorrar un tiempo de computacin muy
importante en algunos tipos de aplicaciones. Tambin permiten que una funcin
reciba y cambie el valor de una variable. Recordemos que todas las funciones C
nicamente aceptan parmetros por valor. Mediante un puntero a una variable
podemos modificarla indirectamente desde una funcin cualquiera.


Los datos en C han de tener un tipo. Las variables contienen datos, y se han de
declarar del tipo adecuado a los valores que van a contener.

El C dispone de estos tipos bsicos:









int enteros (nmeros enteros
positivos y negativos)
char caracteres (letras)
float nmeros en coma flotante
(nmeros reales)
double nmeros en coma flotante de
doble precisin
void no-tipo (se emplea con
punteros)

Vous aimerez peut-être aussi