Operadores en C

by - agosto 30, 2020



Operadores relaciónales y lógicos 

 Los operadores relaciónales y lógicos de C, ordenados de mayor a menor prioridad son:



Los operadores relaciónales y lógicos tiene menor prioridad que los operadores aritméticos antes descritos, así , escribir 10>3+9 es equivalente a escribir 10>(3+9).

Operador de asignación 

El lenguaje C, a diferencia de otros lenguajes tales como Pascal, no diferencia la asignación de cualquier otro operador del lenguaje. Para C, la asignación es un operador, el llamado operador asignación (=), el cual posee la prioridad más baja de todos los operadores. Es por ello que en C podemos escribir expresiones del tipo:

        if ((c=a*b)<0) /* if es la comprobación condicional de C, que  se vera con posterioridad */ 

Esta expresión asigna a la variable c el valor de a*b y devuelve su valor para compararlo con el valor constante 0. Los paréntesis son necesarios pues el operador asignación tiene la prioridad mas baja de todos los operadores.

Operador sizeof. 

El operador sizeof es un operador en tiempo de compilación. El operador sizeof devuelve el tamaño de una variable o tipo de dato durante la compilación, no durante la ejecución del programa. Veamos algunos ejemplos:
         sizeof(int) devuelve el valor 2 en los sistemas operativos de 16 bits y 4 en los de 32 bits. 
Si tenemos:
    char a[20], sizeof(a) devuelve el valor 20;
y si tenemos:
    float a[6], sizeof(a) devuelve el valor 24 (4*6).

 Operadores sobre bits.

El lenguaje C posee operadores que actúan a nivel de bits sobre los datos, estos operadores son:
Los operadores &, | y ^ actúan sobre dos operandos, mientras que ∼ ,<< y >> actúan sobre un solo operando. Veamos su actuación sobre dos valores cualquiera:
Donde los números que acompañan a los operadores << y >> indican cuantas posiciones se desplaza el operando. La prioridad de los operadores sobre bits es: 
  • El operador ∼ tiene la misma prioridad que los operadores ++ y .--. 
  • Los operadores << y >> tienen la prioridad situada entre los operadores aritméticos y los operadores relaciónales y lógicos. 
  • Los operadores &, ^ y | tienen la prioridad situada entre los operadores relaciónales y los operadores lógicos (&& y ||). 

 El operador ? / ternario 

El operador ? se usa para reemplazar las sentencias if/else (que veremos con posterioridad) de formato general:
     if (condición) 
         expresión; 
    else expresión;
Donde expresión debe ser una expresión sencilla y no otra sentencia de C.
El operador ? es un operador ternario cuyo formato general es: 
Exp1 ? Exp2 : Exp3; 
Donde Exp1, Exp2 y Exp3 son expresiones. 
El operador ? evalúa la expresión Exp1, si es cierta se evalúa Exp2 y si es falsa se evalúa Exp3. Veamos algunos ejemplos: 
   
     int x,y; y=(x>10) ? 100 : 200;
 Asignara el valor 100 a y si x es mayor de 10, y el valor 200 en caso contrario. 
    
     int t; (t) ? f1(t)+f2() : printf(“t vale cero”); 
Ejecutara las funciones f1() y f2() si t es distinto de cero, y la función printf si t vale cero.

Puede interesarte

0 comentarios

Facebook