tema 4 operadores y expresiones tema 4: operadores y expresiones operadores relacionales •...

Download Tema 4 OPERADORES Y EXPRESIONES Tema 4: Operadores y Expresiones Operadores relacionales • Caracterأ­sticas:

If you can't read please download the document

Post on 19-Aug-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Fundamentos de Informática

    Tema 4 Operadores y Expresiones 

  • 2Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    • Introducción • Operador de asignación • Operadores aritméticos • Operadores monarios • Operadores relacionales • Operadores lógicos • Funciones de biblioteca

    Contenidos

  • 3Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Introducción

    1

  • 4Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    4

    • OPERADOR: Entidades que actúan sobre los datos para modificarlos.

    1. Operador de asignación 2. Operadores aritméticos 3. Operadores monarios 4. Operadores relacionales 5. Operadores lógicos

    • OPERANDOS: Datos sobre los que actúan los operadores. ‐ Variables, constantes,...

    • EXPRESIONES: Distintas formas de agrupar Operandos y Operadores.

    Introducción

  • 5Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operador de Asignación

    2

  • 6Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operador de asignación • Operador asignación simple (=)

    El formato de este operador es: identificador = expresión;

    Cuando la expresión y el operador sean de distinto tipo, el valor de la  expresión de la derecha se convertirá automáticamente al tipo del  identificador de la izquierda Ejemplos: a = 3;  /* Guarda el valor 3 en la variable a */ x = y;  /* Guarda el valor que tenga la variable y en la variable x */ suma = a + b;  /*Guarda la suma de los valores de a y b en la variable suma */ area = longitud * anchura; 

    /*Guarda la multiplicación de los valores de las variables longitud  y anchura en la variable area */

    Variable Un valor final

    Asigna los resultados de la derecha a la variable de la izquierda

  • 7Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operador de asignación • Suponiendo i y j variables enteras y j=5

    i = j 5 i = j / 2 2

    i = 2 * j / 2 5 i = 2 * (j / 2) 4

    Expresión Valor almacenado en i

  • 8Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores de asignación • Operador de asignación múltiple:

    identificador1 = identificador2 = ...... = expresion; Se asigna de derecha a izquierda Equivalente a:  identificador2 = expresión; identificador1 = identificador2;

    Mejor no utilizarlo

    • Operadores de asignación compuestos: +=, ‐=, *=, /=, %=

    Por ejemplo:  identificador += expresion2;

    Es lo mismo que:  identificador = identificador + expresion2;

    Si plantea alguna duda, mejor no utilizarlo.

  • 9Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores Aritméticos

    3

  • 10Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores aritméticos • Realizan operaciones con resultado numérico • Sus operandos deben ser numéricos • Tipos de operadores:

    • Operador suma (+) • Operador resta (‐) • Operador multiplicación (*) • Operador división (/)

    Divisor distinto de cero Si dividendo y divisor son:

    • Enteros: El resultado será un entero truncado. • Float: El resultado será un float. • Entero y float: El resultado será un float.

    • Operador resto de división entera (%) Ambos operadores deben ser enteros y el divisor no nulo Se conserva en el resultado el signo del primer operando Se utiliza mucho para saber si un número es múltiplo de otro (resto 0)

    • El lenguaje C no dispone de operador para realizar potencias Utilizar la función pow() de la biblioteca math.h, pero no para el cuadrado.

  • 11Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores aritméticos

    a + b 13 a ‐ b 7 a * b 30 a / b 3 a % b 1

    expresión resultado

    Si a=12.5 b=2.0 (reales)

    a + b 14.5 a ‐ b 10.5 a * b 25.0 a / b 6.25 a % b TIPOS INCORRECTOS

    expresión resultado

    Si a=‘P’ b=‘T’

    ASCII ‘P’=80

    ASCII ‘T’=84

    ASCII ‘5’=53

    a 80

    a + b 164

    a + b + 5 169

    a + b + ’5’ 217

    expresión resultado

    Si a=10 b=3 (enteros)

  • 12Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores aritméticos • Conversión sobre operandos que difieran en tipo: 

    El resultado final se expresará con la mayor precisión posible y de  forma consistente con los tipos de datos de los operandos.

    • Regla  general  (cuando  ninguno  de  los  operandos  sea  unsigned):  Se  promueve  el  tipo  “inferior” al  tipo  “superior”,  obteniendo  un  resultado que es de tipo “superior”. 

    Si cualquier operando es de tipo long double Se convierte el otro operando a long double

    Si no: Si cualquier operando es de tipo double Se convierte el otro operando a double

    Si no: Si cualquier operando es de tipo float Se convierte el otro operando a float

    Si no: Si cualquier operando es de tipo long int Se convierte el otro operando a long int

    Si no: Se convierte char y short a int (aunque sean los dos del mismo tipo char o short)

  • 13Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores aritméticos

    Si i = 7 (entera)  f = 5.5 (coma flotante double)   c = ‘w’ (char)

    i + f 12.5 doble precisión

    i + c 126 entero

    i + c – ‘0’ 78 entero

    (i + c) – (2 * f / 5) 123.8 doble precisión

    expresión resultado tipo

  • 14Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores aritméticos • Conversión de tipos o "cast":

    Permite transformar el tipo de datos resultado de una expresión a un  tipo de datos específico No modifica el tipo de datos original sino su valor dentro de la expresión.

    (tipo de datos) expresión Al aplicar la conversión de tipos se modifica el valor dentro de la  expresión en la que se encuentra, no se modifica el tipo de datos  original. Si i=7 (entero) f=8.5 (float) (i+f) % 4  : EXPRESIÓN NO VÁLIDA ( (int) (i+f) ) % 4 : EXPRESIÓN VÁLIDA utilizando la conversión

    • Orden de precedencia en los operadores aritméticos: Los operadores con mayor precedencia se evalúan antes que los de menor 

    precedencia. 

    Grupo 1 de precedencia Grupo 2 de precedencia * / % + ‐

  • 15Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores Monarios

    4

  • 16Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores monarios • Características:

    Con un único operando Mayor precedencia que los operadores aritméticos

    • Tipos de operadores monarios: Operador signo (‐) • Cambia de signo el operando

    Operador incremento (++) • Incrementa en uno el operando • Puede ir delante o detrás del operando

    El incremento se realiza antes o después de utilizar el operando con otro fin Operador decremento (‐‐) • Decrementa en uno el operando • Puede ir delante o detrás del operando

    El incremento se realiza antes o después de utilizar el operando con otro fin Operador sizeof () • Devuelve el tamaño de su operando en bytes

    Operando puede ser una variable o un tipo de dato

  • 17Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones

    Operadores monarios • Si i=1

    Dado: printf (“i = %d\n”, i); printf (“i = %d\n”, ++i); printf (“i = %d\n”, i++); printf(““i = %d\n”, i); i++; printf(““i = %d\n”, i); ++i; printf(““i = %d\n”, i);

    • Si i=1 Dado:

    printf (“i = %d\n”, 

Recommended

View more >