# data[].attributes.body
Para acceder a un elemento es necesario indicar la posición dentro del arreglo.

# data[].attributes.body
m [0][0]  // Primer elemento
m [0][1] // Segundo elemento
m [1][0] // Tercer elemento
m [1][1] // Cuartp elemento

# data[].attributes.body
int n [5][5];
char m [2][3];

# data[].attributes.body
Tipo: Tipo de dato (int, char, float, etc.
Nombre de variable.
Fila: Determina la cantidad de localidades.
Columna: Determina la cantidad de localidades.

# data[].attributes.body
<tipo> nombre_variable [fila][columna];

# data[].attributes.body
Almacena datos de forma matricial.

# data[].attributes.body
arreglo [0] // Primer elemento
arreglo [1] // Segundo elemento

# data[].attributes.body
Para acceder a un elemento es necesario indicar la posición dentro del arreglo.

# data[].attributes.body
int n[5] = {1, 3, 4, 5, 6, 7,}
char cadena [ ] = "arreglos";
char cadena [20];

# data[].attributes.body
Tipo: Tipo de dato (int, char, float, etc.
Nombre de variable.
Longitud: Determina la cantidad de localidades.

# data[].attributes.body
<tipo> nombre_variable [longitud];

# data[].attributes.body
Es un grupo consecutivo de localidades de memoria relacionadas por el hecho de que guardan variables con el mismo nombre y tipo de dato.

# data[].attributes.body
Expresión 1: Se utiliza para inicializar un parámetro que controla la repetición de la sentencia.
Expresión 2: Representa una condición que debe ser satisfecha para que se continúe la ejecución de la sentencia.
Expresión 3: Se utiliza para modificar el valor del parámetro inicialmente asignado por la expresión 1.

# data[].attributes.body
for(expresión1; expresión 2; expresión 3)
{
Sentencia
.....
}

# data[].attributes.body
Se ejecutará la sentencia una vez, después se evaluará la condición. Si es verdadera, se seguirá ejecutando la sentencia, si es falsa, continuará con el programa.

# data[].attributes.body
do
{
Sentencia
.....
.....
}
while (condición)

# data[].attributes.body
Una instrucción de repetición permite al programador especificar que una acción se va repetir mientras una condición sea verdadera.

# data[].attributes.body
Mientras que la condición es verdadera, se ejecutará la sentencia.
Si la condición es falsa, se ignora la sentencia.

# data[].attributes.body
while (condición)
{
Sentencia
.....
.....
}

# data[].attributes.body
Dependiendo del valor de la condición, se ejecutará la sentencia de ese caso.
Si el valor es 1, se ejecutará la sentencia 1, si el valor es 2, se ejecutar;a la sentencia 2, y así sucesivamente.
Cuando el valor sea diferente al de los casos, se ejecutará sentencia final.

# data[].attributes.body
switch (condición)
{
case valor condición 1:     Sentencia 1
......
break;
case valor condición 2:
Sentencia 2
.....
break;
case valor condición n:
Sentencia n
.....
break;
default:
Sentencia final
.....
}

# data[].attributes.body
Permite definir múltiples casos que puede llegar a cumplir una variable.

# data[].attributes.body
Si la condición es verdadera, ejecuta la primer sentencia.
Si es falsa, se evalúa la siguiente condición, si esta es verdadera, se ejecuta, si no lo es, se ejecuta la sentencia en else.

# data[].attributes.body
if (condición 1)
{
Sentencia 1
.....
}
else if (condición n)
{
Sentencia n
.....
}
else
{
Sentencia n+1
.....
}

# data[].attributes.body
Si la condición es verdadera, ejecuta la primer sentencia.
Si es falsa, se ejecuta la segunda sentencia.

# data[].attributes.body
if (condición)
{
Sentencia 1
.....
}
else
{
Sentencia 2
.....
}

# data[].attributes.body
Si la condición es verdadera, ejecuta la sentencia.
Si es falsa no se ejecuta nada.

# data[].attributes.body
if (condición)
{
Sentencia       .....
.....
}

# data[].attributes.body
Se utiliza para realizar una comprobación lógica y a continuación llevar a cabo una de dos posibles acciones, dependiendo del resultado de la comprobación (si es verdadera o falsa).

# data[].attributes.body
Las estructuras de contol se utilizan para elegir entre diversos cursos de acción.