jueves, 8 de junio de 2017

Tabla de prioridades de operadores.
Lo que sigue es la lista de operadores de C, ordenados según su prioridad. En caso de que una expresión contenga más de un operador de igual prioridad, la evaluación se realizará según el orden que se indica en la columna central. Por ejemplo, si se encuentran dos operadores de desplazamiento (>> y <<), la evaluación se hará de izquierda a derecha. Pero si se encuentran dos operadores de suma con asignación (+=), entonces la evaluación se realizará de derecha a izquierda (se evalúa primero la expresión situada más a la derecha). 



Grupo de operadoresOrden de evaluaciónComentarios
() [] -> .de izquierda a derechaEste es el grupo de operadores con mayor prioridad.
! ~ ++ -- + - (tipo) * & sizeofde derecha a izquierdaLa refundición de tipos y sizeof son operadores unarios.
* / %de izquierda a derechaEl símbolo "%" denota el operador módulo, que produce el resto entero obtenido al dividir el primer operando por el segundo.
+ -de izquierda a derechaLos operadores aditivos tienen menor prioridad que los multiplicativos.
<< >>de izquierda a derechaEstos son los operadores de desplazamiento bit a bit (q.v.)
< <= > >=de izquierda a derecha
== !=de izquierda a derecha
&de izquierda a derechaEste operador y los dos siguientes realizan operaciones lógicas bit a bit, considerando bits individuales de sus operandos.
^de izquierda a derecha
|de izquierda a derecha
&&de izquierda a derechaEste operador y el siguiente producen resultados lógicos, pero no consideran bits individuales sino el valor global del operando.
||de izquierda a derecha
?:de derecha a izquierda
= += -= *= /= %= &= ^= |= <<= >>=de derecha a izquierda
,de izquierda a derechaEste es el operador de menor prioridad en C. Sirve para separar una colección de expresiones, que se irán evaluando de izquierda a derecha. El resultado es el producido por la expresión situada en último lugar (más a la derecha), y tiene por tanto el tipo y valor de esta última expresión. Se emplea a veces en expresiones de control; un ejemplo sería la cláusula de iniciación de un for o la cláusula de mantenimiento de iteración de un while.

No hay comentarios:

Publicar un comentario