Las estructuras de control en C son muy similares a las condiciones y bucles que hemos visto en pseudocódigo, cambiando ligeramente la notación empleada. Vamos a limitarnos a presentar su sintaxis en C: si desea información más detallada sobre su comportamiento, vea los artículos correspondientes a pseudocódigo (aquí).
if (condición) { acciones }
He aquí un pequeño ejemplo:
int a; scanf("%i", &a); if (a % 2 == 0) { printf("El número introducido es par"); }
Observe que, en C, la condición debe escribirse entre paréntesis y que no se emplea la palabra “entonces”.
if (condición) { acciones-1 } else { acciones-2 }
Ejemplo:
int a; scanf("%i", &a); if (a > 0) { printf("El número es positivo"); } else { printf("El número es negativo o cero"); }
Vea cómo cada bloque tiene su propio inicio (símbolo { ) y su propio fin (símbolo } ). No hay nada equivalente al “end-if” de otros lenguajes (por eso tampoco lo usábamos en pseudocódigo)
switch (expresión) { case valor1: acciones-1; break; case valor2: acciones-2; break; case valor3: acciones-3; break; ... case valorN: acciones-N; break; default: acciones-si_no; }
Ahí va un ejemplo:
int a; scanf("%i", &a); switch (a) { case 1: printf("Enero"); break; case 2: pritnf("Febrero"); break; case 3: printf("Marzo"); break; ...etc... case 12:printf("Diciembre"); break; default:printf("Número incorrecto"); }
Esta estructura presenta algunas peculiaridades, a saber:
•La expresión discriminante debe escribirse entre paréntesis y ser de un tipo ordinal (int, char o similar). No pueden usarse cadenas ni números reales.
•Los valores no pueden ser expresiones, sino constantes, es decir, números o caracteres fijos.
•¡Cuidado! Las acciones no son bloques de instrucciones, es decir, no van encerradas entre { y }. Eso quiere decir que, si se ejecutan las acciones-2, después se ejecutarán automáticamente las acciones-3, luego las acciones-4, etc. La forma de evitar esto es insertar la instrucción break al final de cada bloque de instrucciones.
Biblografia:http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Instrucciones_de_control
+6 extra. Es ANSI C con s.
ResponderEliminar