Operadores Relacionales y lógicas

En C existen varios tipos de operadores, como los siguientes:

Los operadores aritméticos que maneja lenguaje C se describen en la siguiente tabla:

OperadorOperaciónUsoResultado
+Suma125.78+62.5188.28
*Resta65.3-32.3332.97
*Multiplicación8.27*757.75
n
/División15/43.75
%Módulo4%20

Los operadores lógicos a nivel de bits que maneja el lenguaje C se describen en la siguiente tabla:

OperadorOperaciónUsoResultado
>>Corrimiento a la derecha8>>22
<<Corrimiento a la izquierda8<<116
&Operador AND5&44
|Operador OR3|23
~Complemento ar-1~21

Los operandos que difieren en el tipo pueden sufrir una conversión de tipo antes de que la expresión alcance su valor final. En general, el resultado final se expresará con la mayor precisión posible, de forma consistente con los tipos de datos de los operandos.

Si los dos operandos son tipos en punto flotante con precisión distinta (por ejemplo, un float y un double), el operando de menor precisión se transformará a la precisión del otro operando y el resultado se expresará con esta mayor precisión.

Conversión de tipos o cast

Si se desea, se puede convertir el valor resultante de una expresión a un tipo de datos diferente. Para hacer esto, la expresión debe ir precedida por el nombre del tipo de datos deseado, encerrado con paréntesis; esto es:

Este tipo de construcción se denomina conversión de tipos (cast).

Ejemplo:

Código operadores

Precedencia de operadores

Los operadores de C se agrupan jerárquicamente de acuerdo a su precedencia (su orden de evaluación). Las operaciones con mayor precedencia se efectúan antes que las que tienen menor precedencia; sin embargo, se puede alterar el orden natural de evaluación mediante el uso de paréntesis.

Los operadores aritméticos, *, / y % se encuentran dentro de un mismo grupo de precedencia, y + y – se encuentran en otro. El primer grupo tiene mayor precedencia que el segundo.

Por lo tanto, las operaciones de multiplicación, división y resto se efectuarán antes que las de suma y resta.

Otra consideración importante a tener en cuenta es el orden en que se efectuarán operaciones consecutivas dentro del mismo grupo de precedencia. Esto se conoce como asociatividad. Dentro de cada uno de los grupos de precedencia descrito anteriormente, la asociatividad es de izquierda a derecha.

En otras palabras…

La precedencia natural de las operaciones se puede alterar mediante el uso de paréntesis, permitiendo estos que se puedan efectuar operaciones aritméticas de una expresión en el orden que se desee. También se pueden anidar los paréntesis, es decir, un par dentro de otro. En estos casos se efectúan primero las operaciones más internas.

Operadores unarios

C incluye una clase de operadores que actúan sobre un solo operando para producir un nuevo valor. Estos operadores se denominan operadores unarios o monarios. Los operadores unarios suelen preceder a su único operando, aunque algunos operadores unarios se escriben detrás de su operando.

El operador unario de uso más frecuente es el menos unario, que consiste en un signo menos – delante de una constante numérica, una variable o una expresión. La operación menos unaria es distinta del operador aritmético que representa la resta (-). El operador resta requiere dos operandos.

Ejemplo:

Otros dos operadores unarios de uso frecuente son el operador incremento, + +, y el operador decremento, – -.

El operador incremento hace que su operando se incremente en uno, mientras que el operador decremento hace que su operando se decremente en uno. El operando utilizado con cada uno de estos operadores debe ser una variable simple.

Los operadores incremento y decremento se pueden utilizar de dos formas distintas, dependiendo de si el operador se escribe delante o detrás del operando.

Si el operador precede al operando (por ejemplo ++i), el valor del operando se modificará antes de que se utilice con otro propósito.

Sin embargo, si el operador sigue al operando (por ejemplo, i++), entonces el valor del operando se modificará después de ser utilizado.

Ejemplos:

Scroll al inicio