Sunteți pe pagina 1din 5

page_05 OCW UNED

Pgina 1 de 5

ltima modificacin 20/03/2007 09:00

CAPITULO 1
Expresiones y operadores en C
En una expresin van a tomar parte variables, constantes y operadores. Los operadores establecen la
relacin entre las variables y las constantes a la hora de evaluar la expresin. Los parntesis tambin
pueden formar parte de una expresin y se emplean para modificar la precedencia de los operadores.

Operadores aritmticos
Los posibles operadores aritmticos son los que se muestran en la Tabla 1.3

Operador

Accin

Resta

Suma

Multiplicacin

Divisin

Resto de la divisin

--

Decremento

++

Incremento

Tabla 1.3: Operadores aritmticos


Las expresiones aritmticas se evalan de izquierda a derecha. Si en una expresin aritmtica intervienen
variables o constantes de diferentes tipos, el tipo del resultado va a coincidir con el tipo mayor que

http://ocw.innova.uned.es/ocwuniversia/Ing_tecnico_infor_sistemas/SO_II/contenidos... 17/09/2014

page_05 OCW UNED

Pgina 2 de 5

aparezca en la expresin. Por ejemplo, si se multiplica una variable float por una variable int, el resultado
ser float.
La suma y la diferencia sobre una misma variable tienen una representacin simplificada mediante los
operadores ++ y --.
1. Ejemplo 1.16:
int x;
++x; /* Es equivalente a x=x+1. Preincremento*/
x++; /* Es equivalente a x=x+1. Postincremento*/
--x; /* Es equivalente a x=x-1. Predecremento*/
x--; /* Es equivalente a x=x-1. Postdecremento*/
La diferencia entre la posicin prefija y la posicin sufija de los operadores anteriores queda puesta de
manifiesto en las siguientes sentencias:
x=10;
printf("%d\n",++x); /*Incrementa "x" en 1, por lo que imprime 11*/;
x=10;
printf("%d\n",x++); /*Imprime 10 e incrementa x en 1*/;

Operadores de relacin y lgicos


Tanto los operadores de relacin como los operadores lgicos se emplean para formar expresiones
booleanas. Recurdese que una expresin booleana nicamente puede tomar dos valores: Verdadero
(TRUE) o Falso (FALSE). En el lenguaje C, por convenio se considera que si una expresin booleana da como
resultado 0 entonces su valor lgico es Falso. Por el contrario si al evaluarla su valor es distinto de 0,
entonces su valor lgico es Verdadero. En la Tabla 1.4 y 1.5 se muestran los operadores lgicos y los
operadores de relacin, respectivamente.

Operador

Significado

&&

AND lgica

||

OR lgica

Negacin lgica

http://ocw.innova.uned.es/ocwuniversia/Ing_tecnico_infor_sistemas/SO_II/contenidos... 17/09/2014

page_05 OCW UNED

Pgina 3 de 5

Tabla 1.4: Operadores lgicos

Operador

Relacin

>

Mayor

>=

Mayor o igual

<

Menor

<=

Menor o igual

==

Igual

!=

Distinto

Tabla 1.5: Operadores de relacin

Operadores para el manejo de bits


El lenguaje C dispone de operadores para la manipulacin de bits o constantes enteras. Se debe tener
mucho cuidado de no confundir las operaciones a nivel de bit con las operaciones lgicas. En la Tabla 1.6
se muestran los operadores para el manejo de bits.

Operador

Significado

Ejemplo

&

AND

1001&0011=>0001

OR

1001|0011=>1011

XOR

1001^0011=>1010

Complemento a 1

1001=
0110

http://ocw.innova.uned.es/ocwuniversia/Ing_tecnico_infor_sistemas/SO_II/contenidos... 17/09/2014

page_05 OCW UNED

Pgina 4 de 5

<<

Desplazamiento a la izquierda

0110<<1=>1100

>>

Desplazamiento a la derecha

0110>>1=>0011
1011>>1=>1101

Tabla 1.6: Operadores para el manejo de bits

Expresin abreviada

Expresin equivalente

X+=y

x=x+y

x-=y

x=x-y

x*=y

x=x*y

x/=y

x=x/y

x&=y

x=x&y

x|=y

x=x|y

x^=y

x=x^y

x<<=y

x=x<<y

x>>=y

x=x>>y

Tabla 1.7: Expresiones abreviadas

Expresiones abreviadas
El lenguaje C permite utilizar algunas expresiones abreviadas para indicar ciertas operaciones. En la Tabla
1.7 se muestran las expresiones abreviadas ms comunes.

http://ocw.innova.uned.es/ocwuniversia/Ing_tecnico_infor_sistemas/SO_II/contenidos... 17/09/2014

page_05 OCW UNED

Pgina 5 de 5

http://ocw.innova.uned.es/ocwuniversia/Ing_tecnico_infor_sistemas/SO_II/contenidos... 17/09/2014

S-ar putea să vă placă și