Clase 5
Transcript of Clase 5
OPERADORES Y EXPRESIONESSugerencias y herramientas para crear para crear y presentar diapositivas en formato panorámico
Contenido Contenido Operadores y expresionesOperadores de asignaciónOperadores aritméticosOperadores de incrementación y decrementacionOperadores relacionalesOperadores relacionalesOperadores lógicosOperadores de manipulación de bitsOperador condicionalOperador comaOperadores especialesEl operador sizeofConversión de tiposConversión de tiposPrioridad y asociatividadEjercicios
Operadores y expresionesOperadores y expresionesSintaxis
Variable = expresiónVariable; identificador valido C declarado como variableE bl l hExpresión; una constante, otra variable a la que se haasignado previamente un valor o una formula que se haevaluado y cuyo tipo es el de variableUna expresión es un elemento de un programa que toma unvalor. En algunos casos puede también realizar unaoperaciónoperación
Operadores de asignación Operadores de asignación
Operadores de asignación Operadores de asignación
Operadores aritméticos Operadores aritméticos
Cual es el resultado de la siguiente expresión 7*10-5%3*4+9?
Operadores de incrementación y decrementacionOperadores de incrementación y decrementacion
Si los operadores ++ y – están de prefijos, la operación deincremento o decremento se efectúa antes que la operación deasignación; si están de sufijos la asignación se efectúa en primerl l dlugar y la incrementación o decrementacion a continuación
Ejemplos Ejemplos /*prueba de operadores ++ y --*/
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int m=99,n;
n=++m;
printf("m=%d, n=%d\n",m,n);
n=m++;
printf("m=%d, n%d\n",m,n);
printf("m=%d\n",m++);
printf("m=%d\n",++m);
system ("PAUSE");
return 0;
}
Operadores relacionales Operadores relacionales
expresión 1 operador_relacional expresión 2
Operadores lógicos Operadores lógicos
El operador ! Tiene prioridad mas alta que &&, que a su vez tiene mayor prioridad que II p q
Ejemplo Ejemplo /*prueba de operadores lógicos*/
#include <stdio.h>#include stdio.h
#include <stdlib.h>
int main ()
{
int edad MayorDeEdad juvenil;int edad, MayorDeEdad, juvenil;
printf("ingrese la edad\n");
scanf("%d",&edad);
MayorDeEdad = (edad>18);
j il ( d d>15)&&( d d< 18)juvenil = (edad>15)&&(edad<=18);
printf("MayorDeEdad=%d\n",MayorDeEdad);
system ("PAUSE");
return 0;
}
Operadores de manipulación de BITSOperadores de manipulación de BITS
Operadores de asignación adicionales Operadores de asignación adicionales
Operador condicional Operador condicional
El operador condicional, ?;, es un operadorEl operador condicional, ?;, es un operadorternario que devuelve un resultado cuyo valordepende de la condición comprobada Tienedepende de la condición comprobada. Tieneasosiatividad a derechas (derecha a izquierda).
ió ? ió ió fexpresión ? expresión_v: expresión_f;(ventas>15000) ? comisión=100 : comisión=0
Operador coma Operador coma
El operador coma permite combinar dos o masEl operador coma permite combinar dos o masexpresiones separadas por comas en una solalínea Se evalúa primero la expresión de lalínea. Se evalúa primero la expresión de laizquierda y luego las restantes expresiones deizquierda a derechaizquierda a derechaexpresión 1, expresión 2, expresión 3
Operadores especiales () []Operadores especiales (),[]
El operador () es el operador de llamada a funcionesEl operador () es el operador de llamada a funciones.Sirve para encerrar los argumentos de una función,efectuar conversiones explicitas de tipo, resolverconflictos de prioridad entre operadores.El operador [] sirve para dimensionar los arrays ydesignar un elemento de un array
Double v[20]; define un array de 20 elementosPrintf(“v[2]=%e”,v[2]); escribe el elemento 2 de v
El operador SIZEOFEl operador SIZEOFCon frecuencia si su programa necesita conocer eltamaño en bytes de un tipo de dato o variable. Cproporciona el operador sizeof, que toma unargumento bien un tipo de dato o bien el nombre deargumento, bien un tipo de dato o bien el nombre deuna variable (escalar, array, registro, etc.)sizeof (nombre de la variable)( )sizeof (tipo_dato)Sizeof (expresión)
Ejemplo Ejemplo /*imprime el tamano de valores de coma flotante y double*/y /#include <stdio.h>#include <stdlib.h>int main (){
printf("el tamano de variables de coma flotante es %d\n",sizeof(float));
printf("el tamano de variables de doble p (presicion es %d\n",sizeof (double));
system ("PAUSE");return 0;
}}
Conversión de tipos Conversión de tipos Conversión implícita Conversión explicita
Los tipos fundamentales (básicos) pueden ser mezclados, libremente en
pC fuerza la conversión explicita de tipos
asignaciones y expresiones. La conversión se ejecuta
á i l
mediante el operador de molde (cast)(fl t)i i t i fl tautomáticamente: los
operadnos de tipo mas bajo se convierten en los de tipo mas alto
(float)i; convierte i a float(int)3.4; convierte 3.4 a entero 3 de tipo mas alto entero 3
Prioridad y asociatividadPrioridad y asociatividad
Deber Deber
Escriba un programa que lea dos enteros en lasEscriba un programa que lea dos enteros en lasvariables x e y, y a continuación obtenga los valoresde x/y x%yde x/y, x%y.Escribir un programa que solicite al usuario lal it d h d h bit iólongitud y anchura de una habitación y acontinuación visualice su superficie con 4 decimales
Patrón de prueba de pantalla panorámica (16:9)
Prueba de la relación de
aspecto
(Debe parecer circular)
16x9
4x3