Algoritmos
Dada la definición anterior, resulta evidente que pueden existir infinitas sentencias distintas, e innumerables criterios para su clasificación. Una de las posibles, que ademáscoincide con la clasificación del Estándar, distingue las siguientes clases de sentencia:
* De etiqueta
* De expresión
* Compuestas
* De selección
* De iteración
* De salto
*De declaración
* Bloques de intento
Además de las anteriores, por sus características especiales podríamos considerar las siguientes clases adicionales:
* Sentencias de preproceso
*Sentencias ensamblador
§2.1 Sentencias de etiqueta
En C++ existen tres clases de sentencias etiquetadas: las etiquetas directas ( 4.10.1a), las sentencias case ( 4.10.1b) y las default ( 4.10.1c), estasúltimas se utilizan en conjunción con las sentencias switch.
§2.2 Sentencias de expresión
Podríamos decir que son las que no pertenecen a ninguno de los otros grupos y que, en la práctica, son lasmás abundantes. Generalmente son asignaciones o invocaciones de funciones. Ejemplo:
pint = &x;
foo(c);
§2.3 Sentencias compuestas
Las sentencias compuestas, también denominadas bloques (1.3.1) se utilizan en aquellas situaciones en que la sintaxis espera una sentencia pero se necesita usar varias. Ejemplo:
if (first) ++x;
else {
--x; z = a;
}
En caso de cumplirse la condiciónhay que incrementar x, lo que puede hacerse en una sola sentencia, pero si la condición resulta falsa, se precisan dos computaciones. Para que se comporten como una sola frente a else, se recurre aenglobarlas en un bloque entre llaves { ... }. Las sentencias dentro del bloque se comportan como una sola y constituyen un ámbito léxico. Los identificadores definidos en su interior eclipsan a losexteriores y las variables automáticas creadas en él son destruidas al salir del ámbito.
§2.4 Sentencias de selección
Las sentencias de selección o de control de flujo, pueden decidir entre varios...
Regístrate para leer el documento completo.