Control de flujo condicional if
¶
Es una sentencia en la que se evalúa una condición y, solo si es verdad, se ejecuta un conjunto de sentencias asociadas.
if (condicion)
{
bloque de sentencias;
}
Las llaves { … }
delimitan el conjunto de sentencias afectadas por la condición if
.
Ejemplo
/*----------------------------------------------------*/
/* Este programa transforma temperaturas de */
/* grados celsius a grados kelvin */
/* Comprueba si la temperatura tiene existencia real */
/*----------------------------------------------------*/
#include <iostream>
using namespace std;
int main()
{
double centig;
cout << "Introduzca grados celsius: ";
cin >> centig;
if (centig >= -273.)
{
double kelvin = centig + 273.; // Inicializacion
cout << centig << " grados celsius son " << kelvin
<< " grados kelvin\n";
}
}
Edita, compila y ejecuta el código
Nótese en el ejemplo anterior que las dos sentencias asociadas a la sentencia if
se
ejecutan en función de si la expresión entre paréntesis centig >= -273.
es evaluada
como cierta o falsa.
Consideraciones respecto a la sintaxis
Cuando el bloque está formado por una única sentencia, pueden omitirse las llaves.
Así,
if (a != 0)
{
a = 1/a;
}
es equivalente a:
if (a != 0)
a = 1/a;
Siguiendo con el ejemplo anterior, es habitual escribirlo como:
if (a) // a != 0 <-> a
a = 1/a;
dado que cualquier valor no nulo será siempre evaluado como cierto.
Advertencia
El siguiente fragmento ilustra un error habitual.
a = 5;
if (a = 1) //¡¡ERROR!!
cout << "La variable vale 1\n";
¡Se esta asignando en lugar de comparando!