Continuamos con esta
serie de posts donde vemos las diferencias y equivalencias entre C y C++, con
objeto de entrar de lleno en la programación avanzada sin necesidad de pasar
por una nueva introducción, en este post veremos entre otras cosas las
sentencias de control de flujo.
Foto tomada de freedigitalphotos.net |
Constantes.
Las constantes en C++ no
cambian con respecto a C, se sigue utilizando la palabra Const.
Estructuras
condicionales.
La estructura condicional
if y switch no sufre ningún cambio con respecto a C, de tal forma que sigue su
estructura y construcción.
if simple.
if (expresión)
sentencia;
if (expresión)
{
sentencia1;
sentencia2;
....
}
if ... else.
if (expresión)
sentencia;
else
sentenciaelse;
if (expresión)
{
sentencia1;
sentencia2;
....
}
else
{
sentenciaelse1;
sentenciaelse2;
....
}
if ... else if ... else.
if (expresión)
sentencia;
else if (expresión1)
sentenciaelseif;
else
sentenciaelse;
if (expresión)
{
sentencia1;
sentencia2;
....
}
else if (expresión1)
{
sentenciaelseif1;
sentenciaelseif2;
....
}
else
{
sentenciaelse1;
sentenciaelse2;
....
}
Switch.
switch (expresión)
case
valor1:
sentencia;
break;
case valor2:
sentencia;
break;
….
default:
Sentencia;
Estructuras iterativas.
Al igual que las
estructuras de control condicionales, las iterativas no sufren ningún cambio
con respecto a C.
Bucle while.
while (expresión)
{
sentencia1;
sentencia2;
}
Bucle for
for (iniciación; condición; actualización)
{
sentencia1;
sentencia2;
}
Bucle do...while.
Do
{
sentencia1;
sentencia2;
}
while (expresión);
Cabe destacar algunas
expresiones para el control de los bucles que son bastante interesantes:
break: Interrumpe la
ejecución del bucle y se sale de él.
continue: Hace que el
bucle comience su siguiente ciclo, aunque no haya terminado de ejecutarse todo
el bloque.
goto etiqueta: Sitúa el
flujo de ejecución del programa allí donde se haya escrito el nombre de la
etiqueta, por ejemplo:
sentencia1;
if (expresión)
{
sentencia2;
goto nuevo;
sentencia3;
}
sentencia4;
nuevo:
sentencia5;
De ésta forma ejecutaría
sentencia1,2 y 5. La etiqueta “nuevo” termina en “:” para que se pueda
diferenciar entre una etiqueta y una sentencia o instrucción.
Arrays.
A estas alturas podemos
comprobar que el cambio de C a C++ en cuanto a sentencias básicas no es
importante, esto es bastante bueno puesto que una vez aprendido un lenguaje de
programación, los siguientes son coser y cantar en éste sentido.
Con los Arrays nos pasa
absolutamente igual que con el resto de sentencias, no tienen cambios ninguno.
Estructura.
tipo nombre [longitud];
La forma de recorrerlos y
operar con ellos es idéntica. Veamos un ejemplo sencillo.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i,tabla[10];
for (i=0;i<10;i++)
{
tabla[i]=i;
}
for (i=0;i<10;i++)
{
cout << tabla[i] << endl;
}
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
¿Qué otras equivalencias
ves entre C y C++?