OPERADORES Y EXPRESIONES
Sugerencias y herramientas para crear para crear y presentar diapositivas en
formato panorámico
Contenido
 Operadores y expresiones
 Operadores de asignación
 Operadores aritméticos
 Operadores de incrementación y decrementacion
 Operadores relacionales
 Operadores lógicos
 Operadores de manipulación de bits
 Operador condicional
 Operador coma
 Operadores especiales
 El operador sizeof
 Conversión de tipos
 Prioridad y asociatividad
 Ejercicios
Operadores y expresiones
 Sintaxis
   Variable = expresión
   Variable; identificador valido C declarado como variable
   Expresión; una constante, otra variable a l que se h
   E                                     bl     la         ha
   asignado previamente un valor o una formula que se ha
   evaluado y cuyo tipo es el de variable
   Una expresión es un elemento de un programa que toma un
   valor. En algunos casos puede también realizar una
   operación
Operadores de asignación
Operadores de asignación
Operadores aritméticos




Cual es el resultado de la siguiente expresión 7*10-5%3*4+9?
Operadores de incrementación y decrementacion




 Si los operadores ++ y – están de prefijos, la operación de
 incremento o decremento se efectúa antes que la operación de
 asignación; si están de sufijos la asignación se efectúa en primer
 lugar y l incrementación o d
 l       la                 decrementacion a continuación
Ejemplos
 /*prueba de operadores ++ y --*/
 #include <stdio.h>
 #include <stdlib.h>
 int main ()
 {
     int m=99,n;
     n=++m;
     printf("m=%d, n=%dn",m,n);
     n=m++;
     printf("m=%d, n%dn",m,n);
     printf("m=%dn",m++);
     printf("m=%dn",++m);
     system ("PAUSE");
     return 0;
 }
Operadores relacionales




expresión 1 operador_relacional expresión 2
Operadores lógicos




 El operador ! Tiene prioridad mas alta que &&, que a su vez tiene mayor
 p
 prioridad que II
           q
Ejemplo
 /*prueba de operadores lógicos*/
 #include <stdio.h>
           stdio.h
 #include <stdlib.h>
 int main ()
 {
     int edad MayorDeEdad juvenil;
         edad, MayorDeEdad,
     printf("ingrese la edadn");
     scanf("%d",&edad);
     MayorDeEdad = (edad>18);
     juvenil = (edad>15)&&(edad<=18);
     j    il ( d d>15)&&( d d< 18)
     printf("MayorDeEdad=%dn",MayorDeEdad);
     system ("PAUSE");
     return 0;
 }
Operadores de manipulación de BITS
Operadores de asignación adicionales
Operador condicional
 El operador condicional, ?;, es un operador
 ternario que devuelve un resultado cuyo valor
 depende de la condición comprobada Tiene
                             comprobada.
 asosiatividad a derechas (derecha a izquierda).
 expresión ? expresión_v: expresión_f;
        ió         ió           ió f
 (ventas>15000) ? comisión=100 : comisión=0
Operador coma
 El operador coma permite combinar dos o mas
 expresiones separadas por comas en una sola
 línea.
 línea Se evalúa primero la expresión de la
 izquierda y luego las restantes expresiones de
 izquierda a derecha
 expresión 1, expresión 2, expresión 3
Operadores especiales () []
                      (),[]
 El operador () es el operador de llamada a funciones
                                            funciones.
 Sirve para encerrar los argumentos de una función,
 efectuar conversiones explicitas de tipo, resolver
 conflictos de prioridad entre operadores.
 El operador [] sirve para dimensionar los arrays y
 designar un elemento de un array
   Double v[20]; define un array de 20 elementos
   Printf(“v[2]=%e”,v[2]); escribe el elemento 2 de v
El operador SIZEOF
 Con frecuencia si su programa necesita conocer el
 tamaño en bytes de un tipo de dato o variable. C
 proporciona el operador sizeof, que toma un
 argumento,
 argumento bien un tipo de dato o bien el nombre de
 una variable (escalar, array, registro, etc.)
 sizeof (nombre de la variable)
        (                       )
 sizeof (tipo_dato)
 Sizeof (expresión)
Ejemplo
 /*imprime el tamano de valores de coma
 flotante y double*//
 #include <stdio.h>
 #include <stdlib.h>
 int main ()
 {
     printf("el tamano de variables de coma
 flotante es %dn",sizeof(float));
     p
     printf("el tamano de variables de doble
           (
 presicion es %dn",sizeof (double));
     system ("PAUSE");
     return 0;
 }
Conversión de tipos
 Conversión implícita           Conversión explicita
                                              p
   Los tipos fundamentales        C fuerza la conversión
   (básicos) pueden ser
   mezclados, libremente en       explicita de tipos
   asignaciones y                 mediante el operador de
   expresiones. La conversión     molde (cast)
   se ejecuta
   automáticamente: los
          ái         l            (float)i;
                                  (fl t)i convierte i a fl t
                                                i t      float
   operadnos de tipo mas
   bajo se convierten en los      (int)3.4; convierte 3.4 a
   de tipo mas alto               entero 3
Prioridad y asociatividad
Deber
 Escriba un programa que lea dos enteros en las
 variables x e y, y a continuación obtenga los valores
 de x/y x%y
     x/y, x%y.
 Escribir un programa que solicite al usuario la
 longitud
 l it d y anchura d una h bit ió y a
                   h       de          habitación
 continuació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)




       4x3

16x9

Clase 5

  • 1.
    OPERADORES Y EXPRESIONES Sugerenciasy herramientas para crear para crear y presentar diapositivas en formato panorámico
  • 2.
    Contenido Operadores yexpresiones Operadores de asignación Operadores aritméticos Operadores de incrementación y decrementacion Operadores relacionales Operadores lógicos Operadores de manipulación de bits Operador condicional Operador coma Operadores especiales El operador sizeof Conversión de tipos Prioridad y asociatividad Ejercicios
  • 3.
    Operadores y expresiones Sintaxis Variable = expresión Variable; identificador valido C declarado como variable Expresión; una constante, otra variable a l que se h E bl la ha asignado previamente un valor o una formula que se ha evaluado y cuyo tipo es el de variable Una expresión es un elemento de un programa que toma un valor. En algunos casos puede también realizar una operación
  • 4.
  • 5.
  • 6.
    Operadores aritméticos Cual esel resultado de la siguiente expresión 7*10-5%3*4+9?
  • 7.
    Operadores de incrementacióny decrementacion Si los operadores ++ y – están de prefijos, la operación de incremento o decremento se efectúa antes que la operación de asignación; si están de sufijos la asignación se efectúa en primer lugar y l incrementación o d l la decrementacion a continuación
  • 8.
    Ejemplos /*prueba deoperadores ++ y --*/ #include <stdio.h> #include <stdlib.h> int main () { int m=99,n; n=++m; printf("m=%d, n=%dn",m,n); n=m++; printf("m=%d, n%dn",m,n); printf("m=%dn",m++); printf("m=%dn",++m); system ("PAUSE"); return 0; }
  • 9.
    Operadores relacionales expresión 1operador_relacional expresión 2
  • 10.
    Operadores lógicos Eloperador ! Tiene prioridad mas alta que &&, que a su vez tiene mayor p prioridad que II q
  • 11.
    Ejemplo /*prueba deoperadores lógicos*/ #include <stdio.h> stdio.h #include <stdlib.h> int main () { int edad MayorDeEdad juvenil; edad, MayorDeEdad, printf("ingrese la edadn"); scanf("%d",&edad); MayorDeEdad = (edad>18); juvenil = (edad>15)&&(edad<=18); j il ( d d>15)&&( d d< 18) printf("MayorDeEdad=%dn",MayorDeEdad); system ("PAUSE"); return 0; }
  • 12.
  • 13.
  • 14.
    Operador condicional Eloperador condicional, ?;, es un operador ternario que devuelve un resultado cuyo valor depende de la condición comprobada Tiene comprobada. asosiatividad a derechas (derecha a izquierda). expresión ? expresión_v: expresión_f; ió ió ió f (ventas>15000) ? comisión=100 : comisión=0
  • 15.
    Operador coma Eloperador coma permite combinar dos o mas expresiones separadas por comas en una sola línea. línea Se evalúa primero la expresión de la izquierda y luego las restantes expresiones de izquierda a derecha expresión 1, expresión 2, expresión 3
  • 16.
    Operadores especiales ()[] (),[] El operador () es el operador de llamada a funciones funciones. Sirve para encerrar los argumentos de una función, efectuar conversiones explicitas de tipo, resolver conflictos de prioridad entre operadores. El operador [] sirve para dimensionar los arrays y designar un elemento de un array Double v[20]; define un array de 20 elementos Printf(“v[2]=%e”,v[2]); escribe el elemento 2 de v
  • 17.
    El operador SIZEOF Con frecuencia si su programa necesita conocer el tamaño en bytes de un tipo de dato o variable. C proporciona el operador sizeof, que toma un argumento, argumento bien un tipo de dato o bien el nombre de una variable (escalar, array, registro, etc.) sizeof (nombre de la variable) ( ) sizeof (tipo_dato) Sizeof (expresión)
  • 18.
    Ejemplo /*imprime eltamano de valores de coma flotante y double*// #include <stdio.h> #include <stdlib.h> int main () { printf("el tamano de variables de coma flotante es %dn",sizeof(float)); p printf("el tamano de variables de doble ( presicion es %dn",sizeof (double)); system ("PAUSE"); return 0; }
  • 19.
    Conversión de tipos Conversión implícita Conversión explicita p Los tipos fundamentales C fuerza la conversión (básicos) pueden ser mezclados, libremente en explicita de tipos asignaciones y mediante el operador de expresiones. La conversión molde (cast) se ejecuta automáticamente: los ái l (float)i; (fl t)i convierte i a fl t i t float operadnos de tipo mas bajo se convierten en los (int)3.4; convierte 3.4 a de tipo mas alto entero 3
  • 20.
  • 21.
    Deber Escriba unprograma que lea dos enteros en las variables x e y, y a continuación obtenga los valores de x/y x%y x/y, x%y. Escribir un programa que solicite al usuario la longitud l it d y anchura d una h bit ió y a h de habitación continuación visualice su superficie con 4 decimales
  • 22.
    Patrón de pruebade pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9