Tutorial de la línea de comandos de C 6 – Sangría de código, operadores de incremento/decremento, bucles do-while y for, y más

Hasta ahora hemos cubierto un total de 5 tutoriales de programación en C. Cada tutorial se ha centrado en algo específico. En el proceso de permanecer cerca del tema, algunos conceptos genéricos quedaron sin tocar. Algunos de esos conceptos los trataremos aquí en este tutorial.

Así que empecemos.

1. La indentación del código

Siempre debes sangrar adecuadamente tu código. Para empezar, la indentación es una práctica en la que se colocan espacios/pestañas/líneas nuevas para que el código parezca más legible. Normalmente, las líneas de código asociadas a un bloque o bucle se colocan con el mismo espacio. Por ejemplo, aquí hay un código sin indentar:

#include <stdio.h>

int main (void)
{
int c =0, counter=0;
c = getchar();
while(c != EOF)
{
c = getchar();
if(c == '\n')
counter = counter+1;
}
printf("The input contains %d lines", counter+1);
return 0;
}

Y aquí está el mismo código con sangría aplicada:

#include <stdio.h>

int main (void)
{
int c =0, counter=0;
c = getchar();

while(c != EOF)
{
c = getchar();

if(c == '\n')
counter = counter+1;
}

printf("The input contains %d lines", counter+1);

return 0;
}

Como puedes ver, el código indentado parece ordenado y fácil de leer y revisar.

2. Operadores de incremento y decremento

Te habrás dado cuenta de que en tutoriales anteriores hemos utilizado la siguiente forma de incrementar una variable:

a = a+1;

Aunque no hay nada malo en esta forma, hay otra que es muy popular y se utiliza mucho. Se trata de utilizar un operador de incremento.

a++

Utilizando esta forma, el valor de ‘a’ se incrementa en 1. Ten en cuenta que se trata de un post-incremento. También hay un operador de preincremento:

++a

La diferencia entre ambos es que en el postincremento, primero se utiliza la variable y luego se incrementa su valor. En cambio, en el preincremento, primero se incrementa el valor y luego se utiliza la variable.

El siguiente fragmento de código explicará mejor la diferencia.

#include <stdio.h>

int main (void)
{
int a =0, b=0;

printf("a = %d", a++);
printf("\n b = %d", ++b);

return 0;
}

La salida de este programa es:

a = 0
b = 1

Como puedes ver, mientras que el postincremento no se refleja inmediatamente, el preincremento sí.

La misma lógica se aplica también a los operadores de decremento.

#include <stdio.h>

int main (void)
{
int a =1, b=1;

printf("a = %d", a--);
printf("\n b = %d", --b);

return 0;
}

La salida es

a = 1
b = 0

3. Comentarios

Hay dos formas de comentar el código en C. Una es utilizando ‘//’. De esta manera, sólo puedes comentar una sola línea a la vez.

// int a = 10;
// a = 9;

La otra forma es poner /* …. */ alrededor de las líneas. Esto te permite comentar varias líneas a la vez.

/* int a = 10;
a = 9; */

3. Bucle for y do-while

Hasta ahora, sólo hemos tocado el bucle while, en el que la ejecución del código sólo entra en el bloque while si la condición es verdadera.

while(condition)

{

/*

   line of code

   line of code

   ...

*/

}

También existe el bucle do-while, en el que el bloque de código se ejecuta una vez por primera vez y luego se comprueba la condición del while.

 do
{

// few lines of code

} while (condition);

Ahora, la pregunta es ¿cuándo utilizar el do-while? Te pondré un ejemplo. Supón que quieres que el usuario introduzca un valor mayor que 10, y el requisito es seguir pidiéndole al usuario que introduzca dicho valor hasta que el programa obtenga uno. Entonces, el bucle do-while te será útil en ese caso:

do
{
printf("Please enter a number greater than 10: ");
scanf("%d", &n);

}while(n<=10);

El siguiente es el bucle ‘for’, que al igual que el ‘while’ tiene una condición que comprobar, pero también tiene una sentencia de incremento o decremento que es útil en muchos casos.

for(initialization; condition; increment/decrement)
{
// lines of code here
}  

Aquí tienes un código de ejemplo que imprime todos los números pares entre 0 y 20.

#include <stdio.h>

int main()
{
int i;

for(i=0;i<=20;i=i+2)
printf(" %d ", i);

return 0;
}

Por supuesto, hay muchos consejos y trucos relacionados con el bucle ‘for’, pero los iremos comentando poco a poco en nuestros futuros tutoriales.

Conclusión

En este tutorial hemos aprendido algunos buenos consejos y nuevos conceptos. Los ampliaremos en los próximos tutoriales. Hasta entonces, practica todo lo que hemos discutido hoy aquí, y deja un comentario en caso de que tengas alguna duda o consulta.

También te podría gustar...