Lenguaje C

Los distintos operadores permiten formar expresiones tanto aritmticas como lgicas. Los operadores aritmticos y lgicos son:

Operadores Descripcin
+, - Suma, resta
++, -- Incremento, decremento
*, /, % Multiplicacin, divisin, mdulo
>>, << Rotacin de bits a la derecha, izquierda.
& AND booleano
| OR booleano
^ XOR booleano
~ Complemento a 1
! Complemento a 2, NOT lgico
==, != Igualdad, desigualdad
&&, || AND, OR lgico
<, <= Menor, menor o igual
>, >= Mayor, mayor o igual

En estos operadores deben tenerse en cuenta la precedencia de operadores y las reglas de asociatividad, que son las normales en la mayora de lenguajes. Se debe consultar el manual de referencia para obtener una explicacin detallada. Adems hay toda una serie de operadores aritmticos con asignacin, como pueden ser += y ^=.

En la evaluacin de expresiones lgicas, los compiladores normalmente utilizan tcnicas de evaluacin rpida. Para decidir si una expresin lgica es cierta o falsa muchas veces no es necesario evaluarla completamente. Por ejemplo una expresin formada <exp1> || <exp2>, el compilador evala primero <exp1> y si es cierta, no evala <exp2>. Por ello se deben evitar construcciones en las que se modifiquen valores de datos en la propia expresin, pues su comportamiento puede depender de la implementacin del compilador o de la optimizacin utilizada en una compilacin o en otra. Estos son errores que se pueden cometer fcilmente en C ya que una asignacin es tambin una expresin.

Debemos evitar: if (( x++ > 3 ) || ( x < y ))

y escribir en su lugar: x++; if (( x > 3 ) || ( x < y ))

Hay un tipo especial de expresin en C que se denomina expresin condicional y est representada por los operadores ? : . Su utilizacin es como sigue: <e> ? <x> : <y>. Se evala si e entonces x; si no, y.

int mayor ( int a, int b ) {
  return ( a > b ) ? TRUE : FALSE;
}

waste_time () {
  float a, b = 0.0;
  ( b > 0.0 ) ? sin(M_PI / 8) : cos(M_PI / 4);
}

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.