Tema 4 b Operadores Operadores Transforman valores Requieren
Tema 4 b 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("%dn", c); //4 i=f; f=i; printf("%fn", 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+0 x 10; f=f/i; i=i+1; j= i % j; printf("%d %f %dn", 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 %dn", i, j); } void main(){ int i=10, j; j=i++; printf("%d %dn", i, j); } void main(){ int i=10, j; i=i+1; j=i; printf("%d %dn", i, j); } void main(){ int i=10, j; j=++i; printf("%d %dn", 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 p q p&&q p||q !p – “y”, “o”, “no” 0 0 1 0 1 1 1 0 0 1 1 1 1 0 • En C – “&&”, “||”, “!”
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 %dn", i, j, k); //1 10 1 }
Fin tema 4 b Operadores
- Slides: 18