Tema 4 Operadores y Expresiones. Fundamentos de Informática

Tema 4 Operadores y Expresiones  Fundamentos de Informática Contenidos • • • • • • • Introducción Operador de asignación Operadores aritméticos Operadores monarios Operadores relacionales Operadores lógicos Funciones de biblioteca Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 2 1 Introducción Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 3 Introducción • OPERADOR: Entidades que actúan sobre los datos para modificarlos. 1. 2. 3. 4. 5. Operador de asignación Operadores aritméticos Operadores monarios Operadores relacionales Operadores lógicos • OPERANDOS: Datos sobre los que actúan los operadores. ‐ Variables, constantes,... • EXPRESIONES: Distintas formas de agrupar Operandos y Operadores. Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 4 4 2 Operador de Asignación Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 5 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 Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 6 Operador de asignación • Suponiendo i y j variables enteras y j=5 Expresión i = j i = j / 2 i = 2 * j / 2 i = 2 * (j / 2) Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Valor almacenado en i 5 2 5 4 Tema 4: Operadores  y Expresiones 7 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. Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 8 3 Operadores Aritméticos Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 9 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. Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 10 Operadores aritméticos “ Si a=10 b=3 (enteros) expresión a + b a ‐ b a * b a / b a % b resultado 13 7 30 3 1 Si a=‘P’ b=‘T’ ASCII ‘P’=80 ASCII ‘T’=84 ASCII ‘5’=53 “ Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI “ Si a=12.5 b=2.0 (reales) expresión a + b a ‐ b a * b a / b a % b resultado 14.5 10.5 25.0 6.25 TIPOS INCORRECTOS expresión resultado a 80 a + b 164 a + b + 5 169 a + b + ’5’ 217 Tema 4: Operadores  y Expresiones 11 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) • Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 12 Operadores aritméticos Si i = 7 (entera)  f = 5.5 (coma flotante double)   c = ‘w’ (char) expresión resultado tipo 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 Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 13 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 2 de precedencia Grupo 1 de precedencia * / % + ‐ • Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 14 4 Operadores Monarios Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 15 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 Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI Tema 4: Operadores  y Expresiones 16 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”, i); printf (“i = %d\n”, i++); printf (“i = %d\n”, i); Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI La salida por pantalla es: i = 1 i = 2 i = 2 i = 3; i = 4; i = 5; La salida por pantalla es: i = 1 i = 1 i = 2 Tema 4: Operadores  y Expresiones 17 Operadores monarios • • • • Si se ha declarado: int i; char c; float x; double d; La salida del siguiente programa: printf (“Entero: %d\n”, sizeof(i)); ó printf(“Entero: %d\n”, sizeof i);  printf (“\nComa flotante: %d\n”, sizeof(x)); printf (“\nDoble precision: %d\n” sizeof(d)); printf (“\nCaracter: %d\n”, sizeof (c)); Sería: Entero: 4 Coma flotante: 4 Doble precision: 8 Caracter: 1 Se podría haber utilizado también el tipo del dato: printf (“Entero: %d\n”, sizeof (int));  (no se puede usar printf(“Entero:%d”, sizeof int); pues es un error de  compilación). printf (“Coma flotante: %d\n”, sizeof (float)); printf (“Doble precisión: %d\n” sizeof (double)); printf (“Carácter: %d\n”, sizeof (char)); Dep

0 downloads 63 Views 234KB Size

Recommend Stories


Tema 4. Fundamentos de programación de VB.NET
Desarrollo de Aplicaciones Informáticas – Diseño y realización de servicios de presentación en entornos gráficos Tema 4. Fundamentos de programación

4 EXPRESIONES ALGEBRAICAS
4 EXPRESIONES ALGEBRAICAS E J E R C I C I O S P R O P U E S T O S 4.1 Indicamos con la letra l el lado de un hexágono regular. a) ¿Cómo expresarías

Story Transcript

Tema 4 Operadores y Expresiones 

Fundamentos de Informática

Contenidos • • • • • • •

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

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

2

1 Introducción

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

3

Introducción •

OPERADOR: Entidades que actúan sobre los datos para modificarlos. 1. 2. 3. 4. 5.

Operador de asignación Operadores aritméticos Operadores monarios Operadores relacionales Operadores lógicos



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



EXPRESIONES: Distintas formas de agrupar Operandos y Operadores.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

4 4

2 Operador de Asignación

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

5

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 Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

6

Operador de asignación •

Suponiendo i y j variables enteras y j=5 Expresión i = j i = j / 2 i = 2 * j / 2 i = 2 * (j / 2)

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Valor almacenado en i 5 2 5 4

Tema 4: Operadores  y Expresiones

7

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.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

8

3 Operadores Aritméticos

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

9

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.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

10

Operadores aritméticos “

Si a=10 b=3 (enteros)

expresión a + b a ‐ b a * b a / b a % b

resultado 13 7 30 3 1

Si a=‘P’ b=‘T’ ASCII ‘P’=80 ASCII ‘T’=84 ASCII ‘5’=53 “

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

“

Si a=12.5 b=2.0 (reales)

expresión a + b a ‐ b a * b a / b a % b

resultado 14.5 10.5 25.0 6.25 TIPOS INCORRECTOS

expresión

resultado

a

80

a + b

164

a + b + 5

169

a + b + ’5’

217

Tema 4: Operadores  y Expresiones

11

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) •

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

12

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

expresión

resultado

tipo

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

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

13

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 2 de precedencia Grupo 1 de precedencia * / % + ‐ •

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

14

4 Operadores Monarios

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

15

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

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

16

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”, i); printf (“i = %d\n”, i++); printf (“i = %d\n”, i);

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

La salida por pantalla es: i = 1 i = 2 i = 2 i = 3; i = 4; i = 5;

La salida por pantalla es: i = 1 i = 1 i = 2

Tema 4: Operadores  y Expresiones

17

Operadores monarios •







Si se ha declarado: int i; char c; float x; double d; La salida del siguiente programa: printf (“Entero: %d\n”, sizeof(i)); ó printf(“Entero: %d\n”, sizeof i);  printf (“\nComa flotante: %d\n”, sizeof(x)); printf (“\nDoble precision: %d\n” sizeof(d)); printf (“\nCaracter: %d\n”, sizeof (c)); Sería: Entero: 4 Coma flotante: 4 Doble precision: 8 Caracter: 1 Se podría haber utilizado también el tipo del dato: printf (“Entero: %d\n”, sizeof (int));  (no se puede usar printf(“Entero:%d”, sizeof int); pues es un error de  compilación). printf (“Coma flotante: %d\n”, sizeof (float)); printf (“Doble precisión: %d\n” sizeof (double)); printf (“Carácter: %d\n”, sizeof (char));

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

18

5 Operadores Relacionales

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

19

Operadores relacionales •

Características:

El resultado siempre es un valor lógico: VERDADERO (>=1) o FALSO (0). Los operadores se utilizan para formar expresiones lógicas Los operadores relacionales tienen menor precedencia que los  operadores monarios y aritméticos Los operadores relacionales tienen mayor precedencia que los  operadores de igualdad Asociatividad de izquierda a derecha dentro de una expresión

Operador Relacional

Función

Operador de Igualdad

Función

<

menor que

==

igual que



mayor que

>=

mayor o igual que

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

20

Operadores relacionales •

Si i=1, j=2, k=3 variables enteras

expresión

interpretación

Valor

i= k

cierto

1 ó !=0

(j+k)>(i+5)

falso

0

k!=3

falso

0

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

21

6 Operadores Lógicos

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 4: Operadores  y Expresiones

22

Operadores lógicos •

Características: Actúan sobre operandos que son expresiones lógicas Permiten combinar expresiones lógicas sencillas para generar  expresiones lógicas más complejas Operadores lógicos de dos  operandos: && AND lógico || OR lógico Operadores lógicos de un  solo operando (monarios) ! Negación Cualquier valor no nulo se  considera cierto.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Operador && ||

Significado y o

!

Negación

p

TABLAS DE VERDAD q p && q p || q

!p

Falso

Falso

Falso

Falso

Cierto

Falso

Cierto

Falso

Cierto

Cierto

Cierto

Falso

Falso

Cierto

Falso

Cierto

Cierto

Cierto

Cierto

Falso

Tema 4: Operadores  y Expresiones

23

Operadores lógicos •

Si i=7 (entero) f=5.5 (float) y c=‘w’ (char) (ASCII 119)

expresión



interpretación

Valor

(i >= 6) && (c == ‘w’)

cierto

1

(i >= 6) || (c == 119)

cierto

1

(f  100)

falso

0

(c != ‘p’) || ((i+f) = 6) || (c == 65)

cierto

1

Ejercicios (5 == 5) || (6 == 7) (5 == 8) || (6 != 7) (8 >= 5) && (! (5

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.