SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs OPERADORES Y EXPRESIONES
3.5. Operador Condicional
Objetivos
1. Conocer el operador condicional de C.
Se pueden efectuar operaciones condicionales simples con el operador condicional
(? :). Una expresión que hace uso del operador condicional se denomina expresión con-
dicional. Se puede escribir una instrucción de este tipo en lugar de la instrucción más
tradicional if-else, que se tratará más adelante. Una expresión condicional se escribe
de la forma siguiente:
expresión 1 ? expresión 2 : expresión 3
Cuando se evalúa una expresión condicional, expresión 1 es evaluada primero. Si
expresión 1 es verdadera (si, su valor es no nulo), entonces expresión 2 es evaluada
y éste es el valor de la expresión condicional. Sin embargo, si expresión 1 es falsa (si
su valor es cero), entonces se evalúa expresión 3 y éste es el valor de la expresión
condicional.
Nótese que sólo se evalúa una de las expresiones (expresión 2 o expresión 3) cuan-
do se determina el valor de una expresión condicional.
EJEMPLO 3.1. En la expresión condicional que se muestra a continuación, suponga-
mos que i es una variable entera.
(i < 0)?0 : 100
Se evalúa primero la expresión (i < 0). Si es verdadera (si el valor de i es menor que
0), el valor de toda la expresión condicional es 0. En cualquier otro caso (si el valor de i
no es menor que 0), el valor de toda la expresión condicional es 100.
Supongamos que f y g son variables en coma flotante en la siguiente expresión con-
dicional.
(f < g)?f : g
Esta expresión condicional toma el valor de f si f es menor que g; de otra forma,
la expresión condicional toma el valor de g. En otras palabras, la expresión condicional
devuelve el valor de la menor de las dos variables.
Si los operandos (expresión 2 y expresión 3) son de tipos diferentes, el tipo de
datos de la expresión condicional se determinará de acuerdo con las reglas dadas en la
secciones anteriores.
Pedro Ramírez <pedroramirez22@gmail.com> 1
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs OPERADORES Y EXPRESIONES
EJEMPLO 3.2 Supongamos ahora que i es una variable entera y que f y g son
variables en coma flotante. En la expresión condicional
(f < g)?i : f
aparecen operandos de tipo entero y en coma flotante. El tipo de dato de la expresión
condicional será en coma flotante, aun cuando se seleccione el valor de i como valor de
la expresión.
Las expresiones condicionales suelen aparecer en la parte derecha de una instrucción
de asignación simple. Se le asigna al identificador de la izquierda el valor resultante de
la expresión condicional.
EJEMPLO 3.3 La siguiente es una instrucción de asignación que contiene una expre-
sión condicional en la parte de la derecha.
indicador = (i < 0)?0 : 100
Si el valor de i es negativo, se le asignará a indicador el valor 0. Si i no es negativo,
se le asignará a indicador el valor 100.
La siguiente es otra instrucción de asignación que contiene una expresión condicional
en la parte derecha.
min = (f < g)?f : g
Esta instrucción hace que se le asigne a min el menor valor de f y g.
El operador condicional tiene su propia precedencia, justamente superior a los ope-
radores de asignación. La asociatividad es de derecha a izquierda.
La Tabla resume las precedencias de todos los operadores tratados en este capítulo.
Categoría de operador Operadores Asociatividad
operadores unarios − ++ −− ! sizeof(tipo) D → I
multiplicación, división y resto ∗ / % I → D
suma y resta + − I → D
operadores relacionales < <= > >= I → D
operadores de igualdad == ! = I → D
y lógica && I → D
o lógica || I → D
operador condicional ? : D → I
operadores de asignación = + = − = ∗ = / = % = D → I
EJEMPLO 3.4 En la siguiente instrucción de asignación, a, b y c se suponen variables
enteras. En la instrucción aparecen operadores de seis grupos de precedencia distintos.
c+ = (a > 0&&a <= 10)? + +a : a/b;
Pedro Ramírez <pedroramirez22@gmail.com> 2
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs OPERADORES Y EXPRESIONES
La instrucción comienza por la evaluación de la expresión compuesta
(a > 0&&a <= 10)
Si esta expresión es cierta, se evalúa la expresión + + a. Si no es así, se evalúa la
expresión a/b.
Finalmente se efectúa la operación de asignación (+ = ) , haciendo que se incremente
c en el valor de la expresión condicional.
Si, por ejemplo, a, b y c tienen los valores 1, 2 y 3, respectivamente, entonces el valor
de la expresión condicional será 2 (porque será evaluada la expresión + + a) y a c se le
asignará el valor 5 (c = 3 + 2).
Por otro lado, si los valores de a, b y c fuesen 50, 10 y 20, respectivamente, entonces
el valor de la expresión condicional sería 5 (porque se evaluaría la expresión a/b) y el
valor de c pasaría a ser 25 (c = 20 + 5).
Cuestiones de Repaso
1. Describir el uso del operador condicional para formar expresiones condicionales.
¿Cómo se evalúa una expresión condicional?
2. ¿Cómo se determina el tipo de una expresión condicional cuando sus operandos
son de tipos diferentes?
3. ¿Cuál es la precedencia del operador condicional en relación con los otros operadores
descritos en este capítulo? ¿Cuál es su asociatividad?
Problemas
1. Un programa en C contiene las siguientes declaraciones y asignaciones iniciales:
int i = 8, j = 5, k;
float x = 0.005, y = -0.01, z;
char a, b, c = ’c’, d = ’d’;
Determinar el valor de cada una de las siguientes expresiones de asignación. Utilizar
para cada expresión el valor inicial asignado a las variables.
a) k = (j == 5)?i : j
b) k = (j > 5)?i : j
c) z = (x >= 0)?x : 0
d) z = (y >= 0)?y : 0
e) a = (c < d)?c : d
f ) i− = (j > 0)?j : 0
Pedro Ramírez <pedroramirez22@gmail.com> 3

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Jhohan ruiz
Jhohan ruizJhohan ruiz
Jhohan ruiz
 
Presentacion integrales indefinidas
Presentacion integrales indefinidasPresentacion integrales indefinidas
Presentacion integrales indefinidas
 
Ultimo trabajo
Ultimo trabajoUltimo trabajo
Ultimo trabajo
 
Integrales impropias
Integrales impropiasIntegrales impropias
Integrales impropias
 
Actividad 2. foro
Actividad 2. foroActividad 2. foro
Actividad 2. foro
 
Integrales impropias y técnicas de integración
Integrales impropias y técnicas de integración Integrales impropias y técnicas de integración
Integrales impropias y técnicas de integración
 
Expresiones aritmetica
Expresiones aritmeticaExpresiones aritmetica
Expresiones aritmetica
 
Expresiones algorítmicas
Expresiones algorítmicasExpresiones algorítmicas
Expresiones algorítmicas
 
Integrales
IntegralesIntegrales
Integrales
 
Trabajo de matematica
Trabajo de matematicaTrabajo de matematica
Trabajo de matematica
 
Calculo integral
Calculo integralCalculo integral
Calculo integral
 
Derivada de las Funciones Trigonométricas Inversas (trabajo final)
Derivada de las Funciones Trigonométricas Inversas (trabajo final)Derivada de las Funciones Trigonométricas Inversas (trabajo final)
Derivada de las Funciones Trigonométricas Inversas (trabajo final)
 
FUNCIONES IMPLICITAS
FUNCIONES IMPLICITASFUNCIONES IMPLICITAS
FUNCIONES IMPLICITAS
 
INTEGRALES IMPROPIAS
INTEGRALES IMPROPIASINTEGRALES IMPROPIAS
INTEGRALES IMPROPIAS
 
INTRODUCCIÓN ADSI - PARTE 2
INTRODUCCIÓN ADSI - PARTE 2INTRODUCCIÓN ADSI - PARTE 2
INTRODUCCIÓN ADSI - PARTE 2
 
Temas que comprenden la Unidad I y II
Temas que comprenden la Unidad I y IITemas que comprenden la Unidad I y II
Temas que comprenden la Unidad I y II
 
Temas teoricos primer parcial 2018
Temas teoricos primer parcial 2018Temas teoricos primer parcial 2018
Temas teoricos primer parcial 2018
 
Matematica forma indeterminada
Matematica forma indeterminadaMatematica forma indeterminada
Matematica forma indeterminada
 

Similar a 3.5 operador condicional

Similar a 3.5 operador condicional (20)

Unidad II Datos y Entidades Primitivas - Expresiones
Unidad II Datos y Entidades Primitivas - ExpresionesUnidad II Datos y Entidades Primitivas - Expresiones
Unidad II Datos y Entidades Primitivas - Expresiones
 
tutorial y Guia de fundamentos drscheme
tutorial y Guia de fundamentos drschemetutorial y Guia de fundamentos drscheme
tutorial y Guia de fundamentos drscheme
 
tutorial de drscheme
tutorial de drscheme tutorial de drscheme
tutorial de drscheme
 
Operaciones y expresiones
Operaciones y expresionesOperaciones y expresiones
Operaciones y expresiones
 
9 operadores
9  operadores9  operadores
9 operadores
 
9 operadores
9 operadores9 operadores
9 operadores
 
Definici+¦n de antiderivada radhames canigiani
Definici+¦n de antiderivada radhames canigianiDefinici+¦n de antiderivada radhames canigiani
Definici+¦n de antiderivada radhames canigiani
 
TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++
 
TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++
 
Trabajo De Matematicas
Trabajo De MatematicasTrabajo De Matematicas
Trabajo De Matematicas
 
Trabajo De Matematicas
Trabajo De MatematicasTrabajo De Matematicas
Trabajo De Matematicas
 
Actividad N° 7 - Unidad 4
Actividad N° 7 - Unidad 4 Actividad N° 7 - Unidad 4
Actividad N° 7 - Unidad 4
 
Operadores C SHARP
Operadores C SHARPOperadores C SHARP
Operadores C SHARP
 
Operadores en c_ (1)
Operadores en c_ (1)Operadores en c_ (1)
Operadores en c_ (1)
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Grupo 03
Grupo 03Grupo 03
Grupo 03
 
ESTRUCTURAS CONDICIONALES
ESTRUCTURAS CONDICIONALESESTRUCTURAS CONDICIONALES
ESTRUCTURAS CONDICIONALES
 
Introducción a la programación
Introducción  a la programaciónIntroducción  a la programación
Introducción a la programación
 
Tipo de operadores
Tipo de operadoresTipo de operadores
Tipo de operadores
 
Tipo de operadores
Tipo de operadoresTipo de operadores
Tipo de operadores
 

Más de SNPP

RR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfRR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfSNPP
 
RR_TAYI.pdf
RR_TAYI.pdfRR_TAYI.pdf
RR_TAYI.pdfSNPP
 
1. panel de le ds
1. panel de le ds1. panel de le ds
1. panel de le dsSNPP
 
7. incubadora de huevos
7. incubadora de huevos7. incubadora de huevos
7. incubadora de huevosSNPP
 
6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo realSNPP
 
5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feederSNPP
 
3. radar medidor de velocidad
3. radar medidor de velocidad3. radar medidor de velocidad
3. radar medidor de velocidadSNPP
 
2. soft starter monofasico
2. soft starter monofasico2. soft starter monofasico
2. soft starter monofasicoSNPP
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesSNPP
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteresSNPP
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectoresSNPP
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion forSNPP
 
5.4 instruccion do-while
5.4 instruccion do-while5.4 instruccion do-while
5.4 instruccion do-whileSNPP
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion whileSNPP
 
5.2 instruccion switch
5.2  instruccion switch5.2  instruccion switch
5.2 instruccion switchSNPP
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-elseSNPP
 
4. entrada y salida de datos
4. entrada y salida de datos4. entrada y salida de datos
4. entrada y salida de datosSNPP
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de bibliotecaSNPP
 
2.10 entrada y salida
2.10 entrada y salida2.10 entrada y salida
2.10 entrada y salidaSNPP
 
2.9 variables
2.9 variables2.9 variables
2.9 variablesSNPP
 

Más de SNPP (20)

RR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfRR00X_RESUMEN.pdf
RR00X_RESUMEN.pdf
 
RR_TAYI.pdf
RR_TAYI.pdfRR_TAYI.pdf
RR_TAYI.pdf
 
1. panel de le ds
1. panel de le ds1. panel de le ds
1. panel de le ds
 
7. incubadora de huevos
7. incubadora de huevos7. incubadora de huevos
7. incubadora de huevos
 
6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real
 
5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder
 
3. radar medidor de velocidad
3. radar medidor de velocidad3. radar medidor de velocidad
3. radar medidor de velocidad
 
2. soft starter monofasico
2. soft starter monofasico2. soft starter monofasico
2. soft starter monofasico
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteres
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectores
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion for
 
5.4 instruccion do-while
5.4 instruccion do-while5.4 instruccion do-while
5.4 instruccion do-while
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
 
5.2 instruccion switch
5.2  instruccion switch5.2  instruccion switch
5.2 instruccion switch
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
 
4. entrada y salida de datos
4. entrada y salida de datos4. entrada y salida de datos
4. entrada y salida de datos
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de biblioteca
 
2.10 entrada y salida
2.10 entrada y salida2.10 entrada y salida
2.10 entrada y salida
 
2.9 variables
2.9 variables2.9 variables
2.9 variables
 

Último

PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresSegundo Silva Maguiña
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxTEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxYEDSONJACINTOBUSTAMA
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxluisvalero46
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 

Último (20)

PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y Vectores
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxTEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptx
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 

3.5 operador condicional

  • 1. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs OPERADORES Y EXPRESIONES 3.5. Operador Condicional Objetivos 1. Conocer el operador condicional de C. Se pueden efectuar operaciones condicionales simples con el operador condicional (? :). Una expresión que hace uso del operador condicional se denomina expresión con- dicional. Se puede escribir una instrucción de este tipo en lugar de la instrucción más tradicional if-else, que se tratará más adelante. Una expresión condicional se escribe de la forma siguiente: expresión 1 ? expresión 2 : expresión 3 Cuando se evalúa una expresión condicional, expresión 1 es evaluada primero. Si expresión 1 es verdadera (si, su valor es no nulo), entonces expresión 2 es evaluada y éste es el valor de la expresión condicional. Sin embargo, si expresión 1 es falsa (si su valor es cero), entonces se evalúa expresión 3 y éste es el valor de la expresión condicional. Nótese que sólo se evalúa una de las expresiones (expresión 2 o expresión 3) cuan- do se determina el valor de una expresión condicional. EJEMPLO 3.1. En la expresión condicional que se muestra a continuación, suponga- mos que i es una variable entera. (i < 0)?0 : 100 Se evalúa primero la expresión (i < 0). Si es verdadera (si el valor de i es menor que 0), el valor de toda la expresión condicional es 0. En cualquier otro caso (si el valor de i no es menor que 0), el valor de toda la expresión condicional es 100. Supongamos que f y g son variables en coma flotante en la siguiente expresión con- dicional. (f < g)?f : g Esta expresión condicional toma el valor de f si f es menor que g; de otra forma, la expresión condicional toma el valor de g. En otras palabras, la expresión condicional devuelve el valor de la menor de las dos variables. Si los operandos (expresión 2 y expresión 3) son de tipos diferentes, el tipo de datos de la expresión condicional se determinará de acuerdo con las reglas dadas en la secciones anteriores. Pedro Ramírez <pedroramirez22@gmail.com> 1
  • 2. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs OPERADORES Y EXPRESIONES EJEMPLO 3.2 Supongamos ahora que i es una variable entera y que f y g son variables en coma flotante. En la expresión condicional (f < g)?i : f aparecen operandos de tipo entero y en coma flotante. El tipo de dato de la expresión condicional será en coma flotante, aun cuando se seleccione el valor de i como valor de la expresión. Las expresiones condicionales suelen aparecer en la parte derecha de una instrucción de asignación simple. Se le asigna al identificador de la izquierda el valor resultante de la expresión condicional. EJEMPLO 3.3 La siguiente es una instrucción de asignación que contiene una expre- sión condicional en la parte de la derecha. indicador = (i < 0)?0 : 100 Si el valor de i es negativo, se le asignará a indicador el valor 0. Si i no es negativo, se le asignará a indicador el valor 100. La siguiente es otra instrucción de asignación que contiene una expresión condicional en la parte derecha. min = (f < g)?f : g Esta instrucción hace que se le asigne a min el menor valor de f y g. El operador condicional tiene su propia precedencia, justamente superior a los ope- radores de asignación. La asociatividad es de derecha a izquierda. La Tabla resume las precedencias de todos los operadores tratados en este capítulo. Categoría de operador Operadores Asociatividad operadores unarios − ++ −− ! sizeof(tipo) D → I multiplicación, división y resto ∗ / % I → D suma y resta + − I → D operadores relacionales < <= > >= I → D operadores de igualdad == ! = I → D y lógica && I → D o lógica || I → D operador condicional ? : D → I operadores de asignación = + = − = ∗ = / = % = D → I EJEMPLO 3.4 En la siguiente instrucción de asignación, a, b y c se suponen variables enteras. En la instrucción aparecen operadores de seis grupos de precedencia distintos. c+ = (a > 0&&a <= 10)? + +a : a/b; Pedro Ramírez <pedroramirez22@gmail.com> 2
  • 3. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs OPERADORES Y EXPRESIONES La instrucción comienza por la evaluación de la expresión compuesta (a > 0&&a <= 10) Si esta expresión es cierta, se evalúa la expresión + + a. Si no es así, se evalúa la expresión a/b. Finalmente se efectúa la operación de asignación (+ = ) , haciendo que se incremente c en el valor de la expresión condicional. Si, por ejemplo, a, b y c tienen los valores 1, 2 y 3, respectivamente, entonces el valor de la expresión condicional será 2 (porque será evaluada la expresión + + a) y a c se le asignará el valor 5 (c = 3 + 2). Por otro lado, si los valores de a, b y c fuesen 50, 10 y 20, respectivamente, entonces el valor de la expresión condicional sería 5 (porque se evaluaría la expresión a/b) y el valor de c pasaría a ser 25 (c = 20 + 5). Cuestiones de Repaso 1. Describir el uso del operador condicional para formar expresiones condicionales. ¿Cómo se evalúa una expresión condicional? 2. ¿Cómo se determina el tipo de una expresión condicional cuando sus operandos son de tipos diferentes? 3. ¿Cuál es la precedencia del operador condicional en relación con los otros operadores descritos en este capítulo? ¿Cuál es su asociatividad? Problemas 1. Un programa en C contiene las siguientes declaraciones y asignaciones iniciales: int i = 8, j = 5, k; float x = 0.005, y = -0.01, z; char a, b, c = ’c’, d = ’d’; Determinar el valor de cada una de las siguientes expresiones de asignación. Utilizar para cada expresión el valor inicial asignado a las variables. a) k = (j == 5)?i : j b) k = (j > 5)?i : j c) z = (x >= 0)?x : 0 d) z = (y >= 0)?y : 0 e) a = (c < d)?c : d f ) i− = (j > 0)?j : 0 Pedro Ramírez <pedroramirez22@gmail.com> 3