Fundamentos de la programación 3A GradoenIngenieríaInformática GradoenIngenieríadelSoftware GradoenIngenieríadeComputadores LuisHernándezYáñez FacultaddeInformática UniversidadComplutense Luis Hernández Yáñez Expresióncondicional Condición Exp1 ? Dosalternativas — Condición:Expresiónlógica — Exp1 yExp2:Expresiones SiCondición seevalúaatrue, elresultadoesExp1; siCondición seevalúaafalse, elresultadoesExp2. + ‐ int a = 5, b = 3, c; < <= > >= c = (a + b == 10) ? 2 : 3; == != c = ( 8 || == 10) ? 2 : 3; c = false ? 2 : 3; : Exp2 Operadores (prioridad) ++ ‐‐ (postfijos) Llamadasafunciones Moldes ++ ‐‐ (prefijos) ! ‐ (cambiodesigno) * / % && ?: = += ‐= *= /= %= c = 3; Fundamentos de la programación: Tipos e instrucciones II (Anexo I) Página 399 Equivalenciaconunif‐else c = (a + b == 10) ? 2 : 3; Esequivalentea: if (a + b == 10) c = 2; else c = 3; Sepuedenconcatenar: cout << (nota == 10 ? "MH" : (nota >= 9 ? "SB" : (nota >= 7 ? "NT" : (nota >= 5 ? "AP" : "SS")))) Luis Hernández Yáñez Estoesequivalentealaescalaif‐else‐if delasiguientesección. Fundamentos de la programación: Tipos e instrucciones II (Anexo I) Página 400 Escalaif ...else if ...equivalente cout << (nota == 10 ? "MH" : (nota >= 9 ? "SB" : (nota >= 7 ? "NT" : (nota >= 5 ? "AP" : "SS")))) Luis Hernández Yáñez Sinota == 10 entoncesMH sino,sinota >= 9 entoncesSB sino,sinota >= 7 entoncesNT sino,sinota >= 5 entoncesAP sinoSS double nota; cin >> nota; if (nota == 10) { cout << "MH"; } else if (nota >= 9) { cout << "SB"; } else if (nota >= 7) { cout << "NT"; } else if (nota >= 5) { cout << "AP"; } else { cout << "SS"; } true "MH" == 10 false true "SB" >= 9 false true "NT" >= 7 false true >= 5 "AP" false Fundamentos de la programación: Tipos e instrucciones II (Anexo I) "SS" Página 401