cantonada cantonada

Operadores en C y precedencia

 

Veamos los operadores más importantes en C y su precedencia...

Esta es la lista de operadores en C. Cuanto más arriba en la lista significa que tienen más precedencia.

Dentro de cada clase los operadores tienen asociatividad de izquierda a derecha excepto las clases marcadas con ## que tienen asociatividad de derecha a izquierda.

La asociatividad nos indica qué operador tiene más precedencia dentro de una clase.

Por ejemplo, en la sentencia: a+b*4+c*3

Lo primero que se va a ejecutar son los *. Dado que la asociatividad es de izquierda a derecha, primero ejecutaremos b*4 y luego c*3.

En la sentencia i=j=a+b Primero ejecutaremos a+b y luego las dos asignaciones. Dado que las asignaciones tienen asociatividad de derecha a izquierda, primero ejecutaremos j=a+b y luego i=j.

Es decir, copiamos a+b tanto en i como en j. Esto se suele ver en los for's para inicializar dos variables a 0 de golpe for(i=j=0; ....

 

Categoría

Operador

Qué es o qué hace

1. La más alta

()

Paréntesis

 

[]

Acceso a vectores

 

->

Acceso con punteros a campos de estructuras

 

.

Acceso sin punteros a campos de estructuras

2. Unarios

!

Negación lógica

 

~

Negación bit a bit

 

+

Positivo

 

-

Negativo (opuesto)

 

++

Preincremento o postincremento

 

--

Predecremento o postdecremento

 

&

Dirección

 

*

Indirección

 

sizeof

tamaño de operando

3. Multiplicativo

*

Multiplicación

 

/

División

 

%

Resto (módulo)

4. Aditivos

+

Suma

 

-

Resta

5. Rotación

<<

Rotación a la izquierda

 

>>

Rotación a la derecha

6. Relacional

<

Menor que

 

<=

Menor o igual que

 

>

Mayor que

 

>=

Mayor o igual que

7. Igualdad

==

Igual que

&

Y bit a bit

 

9.

^

O exclusiva bit a bit

10.

|

O bit a bit

11.

&&

Y lógico

12.

||

O lógico

13. Condicional

?:

(a ? x : y significa "si a entonces x, sino y")

14. Asignación

=

Asignación simple

 

*=

Multiplica y asigna

 

/=

Divide y asigna

 

%=

Resto y asigna

 

+=

Suma y asigna

 

-=

Resta y asigna

 

&=

Y bit a bit y asigna

 

^=

O exclusiva bit a bit y asigna

 

|=

O bit a bit y asigna

 

<<=

Rota izquierda y asigna

 

>>=

Rota derecha y asigna

15. Coma

,

Evalúa

 

Ir a la Pàgina Principal

Imprimir la web / Enviar a:
Google