Tema 4b Operadores
Operadores Transforman valores. Requieren operandos Un operando: operador unario. Dos operandos: operador binario. Tres operandos: operador ternario. Varían su comportamiento con los tipos de datos. Requieren operadores del mismo tipo (o similar).
Operadores Tipo Asignación Aritméticos Lógicos Otros…
Operador de asignación = variable = expresion ; El resultado de “expresion” debe ser del mismo tipo que la variable Existen conversiones implícitas Se puede perder información
Operador de asignación void main(){ char c; int i=260; float f=10.89; c=i; printf("%d\n",c); //4 i=f; f=i; printf("%f\n",f); //10.000000 }
Operadores aritméticos Generalmente binarios Sus operadores son enteros y reales
Operadores aritméticos - Resta + Suma * Multiplicación / División % Módulo
Operadores aritméticos void main(){ int i,j=10; float f=10.89; i=10+0x10; f=f/i; i=i+1; j= i % j; printf("%d %f %d\n",i,f,j); //27 0.418846 7 }
Operadores aritméticos Incremento: ++ [o decremento: -- ] void main(){ int i=10,j; j=i; i=i+1; printf("%d %d\n",i,j); } void main(){ int i=10,j; j=i++; printf("%d %d\n",i,j); } void main(){ int i=10,j; i=i+1; j=i; printf("%d %d\n",i,j); } void main(){ int i=10,j; j=++i; printf("%d %d\n",i,j); }
Operadores aritméticos Precedencia ( ) ++ -- - * / % + -
Operadores lógicos Devuelven “verdadero” o “falso” Estos se denominan valores booleanos En C no existe el tipo de datos booleano Valor verdadero: Cualquier valor numérico distinto de cero Valor falso: El valor numérico cero. Usualmente se utiliza 1 para verdadero y 0 para falso.
Operadores lógicos En lógica booleana En C “y”, “o”, “no” “&&”, “||”, “!” p q p&&q p||q !p 1
Operadores relacionales Denotan una relación entre dos valores También devuelven valores booleanos
Operadores relacionales > Mayor >= Mayor o igual < Menor <= Menor o igual == Igual != Distinto
Operadores lógicos y relacionales Precedencia ! > >= < <= == != && ||
Operadores lógicos y relacionales (variable >0) ((variable >-10)&&(variable<10)) ((variable <=-10)||(variable>=10)) (variable==0) (variable!=0) (variable) (!variable)
Operadores void main(){ int i=0,j=10,k; i=((!j)||((j+1)>10)); k=((j % 2)==0); printf("%d %d %d\n",i,j,k); //1 10 1 }
Fin tema 4b Operadores