Você está na página 1de 3

CAPITULO 4 Operadores I

Los operadores son elementos que disparan ciertos c�lculos cuando son aplicados a
variables o a otros objetos en una expresi�n.
Existe una divisi�n en los operadores atendiendo al n�mero de operandos que
afectan.
Seg�n esta clasificaci�n pueden ser unitarios, binarios o ternarios, los primeros
afectan a
un solo operando, los segundos a dos y los ternarios a siete, �perd�n!, a tres.
Hay varios tipos de operadores, clasificados seg�n el tipo de objetos sobre los que
act�an.
Operadores aritm�ticos
Son usados para crear expresiones matem�ticas. Existen dos operadores aritm�ticos
unitarios, '+' y '-' que tienen la siguiente sintaxis:

+ <expresi�n>
- <expresi�n>

Asignan valores positivos o negativos a la expresi�n a la que se aplican.


En cuanto a los operadores binarios existen siete. '+', '-', '*' y '/', tienen un
comportamiento an�logo, en cuanto a los operandos, ya que admiten enteros y de coma
flotante. Sintaxis:

<expresi�n> + <expresi�n>
<expresi�n> - <expresi�n>
<expresi�n> * <expresi�n>
<expresi�n> / <expresi�n>

Evidentemente se trata de las conocid�simas operaciones aritm�ticas de suma, resta,


multiplicaci�n y divisi�n, que espero que ya domines a su nivel tradicional, es
decir,
sobre el papel. El operador de m�dulo '%', devuelve el resto de la divisi�n entera
del
primer operando entre el segundo. Por esta raz�n no puede ser aplicado a operandos
en
coma flotante.

<expresi�n> % <expresi�n>

Por �ltimo otros dos operadores unitarios. Se trata de operadores un tanto


especiales, ya
que s�lo pueden trabajar sobre variables, pues implican una asignaci�n. Se trata de
los
operadores '++' y '--'. El primero incrementa el valor del operando y el segundo lo
decrementa, ambos en una unidad. Existen dos modalidades, dependiendo de que se use
el operador en la forma de prefijo o de sufijo.

Sintaxis:

<variable> ++ (post-incremento)
++ <variable> (pre-incremento)
<variable>-- (post-decremento)
-- <variable> (pre-decremento)

En su forma de prefijo, el operador es aplicado antes de que se eval�e el resto de


la
expresi�n; en la forma de sufijo, se aplica despu�s de que se eval�e el resto de la
expresi�n. Veamos un ejemplo, en las siguientes expresiones "a" vale 100 y "b" vale
10:
c = a + ++b;

En este primer ejemplo primero se aplica el pre-incremento, y b valdr� 11 a


continuaci�n se eval�a la expresi�n "a+b", que dar� como resultado 111, y por
�ltimo se
asignar� este valor a c, que valdr� 111.

c = a + b--;

En este segundo ejemplo primero se aval�a la expresi�n "a+b", que dar� como
resultado
110, y se asignar� este valor a c, que valdr� 110. Finalmente se aplica en
postdecremento,
y b valdr� 9. Esto tambi�n proporciona una explicaci�n de por qu� la
versi�n mejorada del lenguaje C se llama C++, es simplemente el C mejorado o
incrementado. Y ya que estamos, el lenguaje C se llama as� porque las personas que
lo
desarrollaron crearon dos prototipos de lenguajes de programaci�n con anterioridad
a
los que llamaron A y B.

Operadores de asignaci�n

Existen varios operadores de asignaci�n, el m�s evidente y el m�s usado es el "=",


pero
no es el �nico.
Aqu� hay una lista: "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", " ^=" y
"|=".
Y la sintaxis es:

<variable> <operador de asignaci�n> <expresi�n>

En general, para todos los operadores mixtos la expresi�n

E1 op= E2

Tiene el mismo efecto que la expresi�n

E1 = E1 op E2

El funcionamiento es siempre el mismo, primero se eval�a la expresi�n de la


derecha, se
aplica el operador mixto, si existe y se asigna el valor obtenido a la variable de
la
izquierda.

Operador coma

La coma tiene una doble funci�n, por una parte separa elementos de una lista de
argumentos de una funci�n. Por otra, puede ser usado como separador en expresiones
"de coma". Ambas funciones pueden ser mezcladas, pero hay que a�adir par�ntesis
para
resolver las ambig�edades. Sintaxis:
E1, E2, ..., En
En una expresi�n "de coma", cada operando es evaluado como una expresi�n, pero los
resultados obtenidos anteriormente se tienen en cuenta en las subsiguientes
evaluaciones. Por ejemplo:
func(i, (j = 1, j + 4), k);
Llamar� a la funci�n con tres argumentos: (i, 5, k). La expresi�n de coma (j = 1,
j+4), se
eval�a de izquierda a derecha, y el resultado se pasar� como argumento a la
funci�n.

Operadores de igualdad

Los operadores de igualdad son "==", (dos signos = seguidos) y "!=", que comprueban
la igualdad o desigualdad entre dos valores aritm�ticos.

Sintaxis:

<expresi�n1> == <expresi�n2>
<expresi�n1> != <expresi�n2>

Se trata de operadores de expresiones l�gicas, es decir, el resultado es "true" o


"false".
En el primer caso, si las expresiones 1 y 2 son iguales el resultado es "true", en
el
segundo, si las expresiones son diferentes, el "true".
Nota: Cuando se hacen comparaciones entre una constante y una variable, es
recomendable poner en primer lugar la constante, por ejemplo:

if(123 == a) ...
if(a == 123) ...

Si nos equivocamos al escribir estas expresiones, y ponemos s�lo un signo '=', en


el
primer caso obtendremos un error del compilador, ya que estaremos intentando
cambiar
el valor de una constante, lo cual no es posible. En el segundo caso, el valor de
la
variable cambia, y adem�s el resultado de evaluar la expresi�n no depender� de una
comparaci�n, sino de una asignaci�n, y siempre ser� "true", salvo que el valor
asignado
sea 0.

Por ejemplo:

if(a = 0) ... // siempre ser� "false"


if(a = 123)... // siempre ser� "true", ya que 123 es distinto de 0

Operadores relacionales

El significado de cada operador es evidente:

> mayor que


< menor que
>= mayor o igual que
<= menor o igual que

En la expresi�n "E1 <operador> E2", los operandos tienen algunas restricciones,


pero
de momento nos conformaremos con que E1 y E2 sean de tipo aritm�tico. El resto de
las restricciones las veremos cuando conozcamos los punteros y los objetos.

Você também pode gostar