Vous êtes sur la page 1sur 6

Datos Adicionales sobre el Lenguaje C

Componentes del lenguaje C


Sigue el paradigma de la programacin estructurada:
Algoritmos+estructuras de datos = programas.
Estructuras de datos
literales
tipos bsicos (todos numricos)
tipos enumerados
tipos estructurados (struct, union)
punteros y vectores

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.

Asignaciones

La forma de dar valor a una variable es

variable = expresin ;

Se le llama asignacin.

Tambin se puede dar valor a una variable en el mismo


momento en que se declara ( inicializacin).

tipo variable = expresin ;

Una variable que se declara sin inicializar contiene un valor


indeterminado.

Ejemplo:

int valor1 = 0;
cero */
int valor2;
*/

/* variable inicializada a
/* variable no inicializada

main()
{
valor1 = 4 + 3;
valor2 = 5;
}

/* asignacin */
/* otra asignacin */

Operadores booleanos

Hay operadores para evaluar condiciones.

En C no existe tipo booleano, as que el resultado de la


expresin utiliza nmeros enteros: si la condicin es cierta,
estas expresiones devuelven un 1; si no es cierta, devuelven
un cero.

Operado Resultado
r
A == B

1 si A es igual a B; 0 en
caso contrario

A != B

1 si A es distinto de B

A > B

1 si A es mayor que B

A < B

1 si A es menor que B

A >= B

1 si A es mayor o igual
que B

Para elaborar condiciones complejas, existen estos


operadores:

Expresi Resultado
n
E1 && E2 Cierta si E1 y E2 son ciertas
(AND)
E1 || E2

Cierta si E1 o E2 son ciertas


(OR)

!E

Cierta si E es falsa; falsa si E


es cierta (NOT)

Se pueden agrupar expresiones booleanas con parntesis.


Ejemplo:
( a>0 && a<10 ) || a==20
cierto si a est entre 1 y 9 (ambos inclusive), o vale 20.

Operadores booleanos
Los operadores booleanos (AND, NOT, OR, XOR) localizan registros que contienen los
terminos coincidentes en uno de los campos especificados o en todos los campos
especificados. Utilizar operadores booleanos para conectar palabras o frases entre ms de un
campo de texto, o utilizar operadores booleanos para conectar palabras o frases dentro de un
campo de texto.

Utilizar el operador AND para localizar registros que contengan todos los trminos de
bsqueda especificados. Por ejemplo, si se busca por "perros AND gatos", la
biblioteca-e localiza registros que contengan todos los trminos especificados.

Utilizar el operador ORpara localizar registros que contengan cualquiera o todos los
trminos especificados. Por ejemplo, si se busca por "perros OR gatos", la bibliotecae localiza registros que contengan el primer trmino o el segundo.

Utilizar el operador NOT para localizar registros que contengan el primer trmino de
bsqueda pero no el segundo. Por ejemplo, si se busca por "perros NOT gatos", la
biblioteca-e localiza registros que contienen el primer trmino pero no el segundo.

Utilizar el operador XOR (o exclusivo) para localizar registros que contengan cualquiera
de los trminos especificados pero no todos los trminos especificados. Por ejemplo, si
se busca por "perros XOR gatos", la biblioteca-e localiza registros que contienen
cualquiera de los trminos especificados pero no todos los trminos especificados.

Operadores avanzados
Los operadores de incremento, decremento y asignacin
compuesta permiten modificar el contenido de una variable de forma
eficiente y abreviada.
Operadore Significado
s
A++, ++A Incrementa en 1 el valor de A
(A=A+1)
A--, --A Disminuye en 1 el valor de A (A=A1)
A+=x
A=A+x
A-=x
A=A-x
A*=x
A=A*x
A/=x
A=A/x
Operadores pre y post y valor devuelto

Si el operador ++ o -- se coloca a la izquierda, se


llama preincremento o predecremento, respectivamente. Si se coloca a la
derecha, se llama postincremento o postdecremento.
Cuando se escriben estas expresiones dentro de expresiones ms complejas, el
valor que se devuelve es:
Operaciones pre: El valor nuevo de la variable afectada
Operaciones post: el valor anterior de la variable afectada
Ejemplo:
x=1;
A = ++x;
// preincremento:
// A valdr 2, x valdr 2
x=1;
A = x++;
// postincremento:
// A valdr 1, x valdr 2
Las asignaciones compuestas devuelven el nuevo valor de la variable:
x=2; A=(x*=3)+1; // x valdr 6, A valdr 7

Entrada y salida de datos


Funcin printf
Funcin scanf

El preprocesador del C
En C existe un preprocesador, previo al compilador, que
reconoce unas rdenes bsicas para manipular constantes y
macros, incluir varios ficheros en el fuente y dirigir la
compilacin posterior.
Este preprocesador tiene su propio lenguaje, muy sencillo, y
es independiente del lenguaje C , aunque es absolutamente
estndar.

IMPORTANTE: el preprocesador es independiente y ajeno al


C, tan slo es un editor de textos.

Todas las rdenes al preprocesador comienzan con un


carcter # en la primera columna del texto.

Y por qu trabajaron en un nuevo lenguaje de


programacin? Realmente la motivacin no est clara y se barajan dos
hiptesis. Por un lado, se dice que ambos creadores queran jugar al
juego Space Travel en uno de los mainframesde la compaa pero,
debido a la carga de este sistema, decidieron llevarse el juego a un PDP7 que no se utilizaba porque no tena sistema operativo as que
decidieron llevarse el del PDP-11 al PDP-7, algo que no se poda hacer al
estar escrito en ensamblador. Pensando en poder llevarlo, y tener
agilidad en la tarea, se cree que arrancaron el proyecto del lenguaje C.
La otra causa apunta a que se buscaba crear un sistema que
automatizase el archivo de patentes de los Laboratorios Bell y, dado que
la versin original de Unix se desarroll en ensamblador, se us C para
rescribir el sistema operativo. De hecho, en 1973, C era tan potente que
la mayor parte del ncleo de Unix estaba ya escrito en C.

Vous aimerez peut-être aussi