Sentencias en c++

Solo disponible en BuenasTareas
  • Páginas : 8 (1793 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de enero de 2011
Leer documento completo
Vista previa del texto
SENTENCIAS DE SELECCIÓN
Existen dos tipos, if y switch. Además, el operador "?" es una alternativa para if en ciertas situaciones. if y switch. Además, el operador "?" es una alternativa para if en ciertas situaciones.
IF
La forma general es:
if
(expresión) sentencia;
else sentencia;
Donde sentencia puede ser una sentencia simple, un bloque de sentencias o nada (en el caso de sentenciasvacías). La cláusula else es opcional. Si la expresión del if es cierta (cualquier valor que no sea 0), se ejecuta la sentencia o el bloque de sentencias que constituye el objetivo del if; en cualquier otro caso se ejecuta la sentencia o bloque de sentencias que constituye el objetivo del else, si existe. Siempre se ejecuta el código asociado al if o al else, nunca ambos.
Un if anidado es un if quees el objeto de otro if o else. Son muy comunes en la programación. Un sentencia else siempre se refiere al if más próximo que esté en el mismo bloque que el else y que no esté asociado con un if. Por ejemplo: else es opcional. Si la expresión del if es cierta (cualquier valor que no sea 0), se ejecuta la sentencia o el bloque de sentencias que constituye el objetivo del if; en cualquier otrocaso se ejecuta la sentencia o bloque de sentencias que constituye el objetivo del else, si existe. Siempre se ejecuta el código asociado al if o al else, nunca ambos.
if(i) {
if(j) sentencia 1;
if(k) sentencia 2; /* este if esta */
else sentencia 3; /* asociado con este else */
}
El estándar ANSI específica que al menos se deben permitir 15 niveles de anidamiento. En la práctica, la mayoría delos compiladores permiten bastantes más. La alternativa ?
Se puede usar el operador "?" para reemplazar las sentencias if-else con la forma general:
general:if(condición) Expresión1;
else Expresión2;
la ? es un operador ternario, ya que necesita tres operandos y tiene la forma general: Condición ? Expresión1 : Expresión2;Donde Condición, Expresión1 y Expresión2 son expresiones. El valor deuna expresión con ? se determina de esta forma, se evalúa Condición, si es cierta se evalúa Expresión1 y se convierte en el valor de la expresión completa. Si Condición es falsa, se evalúa Expresión2 y su valor se convierte en el valor de la expresión completa. Por ejemplo:
x = 10;
y = x >9 ? 100 : 200;
En el ejemplo a "y" se le esta asignando el valor 100.
SWITCH
Es una sentencia de selecciónmúltiple, que compara sucesivamente el valor de una expresión con una lista de constantes enteras o de caracteres. Cuando se encuentra una16-correspondencia, se ejecutan las sentencias asociadas con la constante. La forma general es:
-correspondencia, se ejecutan las sentencias asociadas con la constante. La forma general es:
switch (expresión) {
case constante1:
secuencia de sentencias;break;
¿..
¿..
default:
secuencia de sentencias;
}
Se comprueba el valor de la expresión, por orden, con los valores de las constantes especificadas en las sentencias case. Cuando se encuentra una correspondencia, se ejecuta la secuencia de sentencias asociada con ese case, hasta que se encuentra la sentencia break o el final de la sentencia switch. Si no se incluye la sentencia break, siguebuscando más correspondencias en las siguientes sentencias case. La sentencia sentencia break o el final de la sentencia switch. Si no se incluye la sentencia break, El estándar ANSI específica que una sentencia switch debe permitir al menos 257 sentencias case. En la práctica el número empleado es menor por razones de eficiencia.
Aunque case es una sentencia de etiqueta, no tiene calidad por símisma fuera de un case. En la práctica el número empleado es menor por razones de eficiencia.
Aunque case es una sentencia de etiqueta, no tiene calidad por sí misma fuera de un case es una sentencia de etiqueta, no tiene calidad por sí misma fuera de un switch.
La sentencia switch se diferencia de la sentencia if en que sólo puede comparar la igualdad, mientras que if puede evaluar expresiones...
tracking img