04b Operadores
Operadores
Operadores
• Transforman valores.
• Requieren operandos
– Un operando: operador unario.
– Dos operandos: operador binario.
– Tres operandos: operador ternario.
• Varían sucomportamiento 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;
floatf=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(){
inti=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
p
q
p&&q p||q
!p
– “y”, “o”, “no”
0
0
0
0
1
0
1
0
1
1
1
0
0
1
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...
Regístrate para leer el documento completo.