Introducción Al Lenguaje C
Introducción Al Lenguaje C
Introducción Al Lenguaje C
Estructuras de control
La estructura de control condicional if
La sentencia if nos permite elegir si se ejecuta o no un bloque de
instrucciones.
Sintaxis
if (condición)
sentencia;
if (condición) {
bloque
if (condición) {
Sentencia if-else
Se trata de la estructura selectiva simple y doble de los principios de programación
if(expresión)
sentencia1
[else
sentencia2]
sentencia2.
Hay que tener en cuenta que, normalmente la expresión será de tipo lógico, pero puede ser
También hay que tener en cuenta que tanto sentencia1 como sentencia2 pueden ser
una proposición simple o una compuesta. En el segundo caso las sentencias que forman el
if(a ¡= b){
a = b;
b = a;
if(a<b)
c=a;
else
if(a>b)
c=b;
else
c =0;
if(a<b)
if (a==3)
else
SENTENCIA SWITCH
Proporciona la estructura selectiva múltiple. Evalúa una expresión de tipo entero y comprueba
su valor con cada una de las cláusulas case; si coincide ejecuta la sentencia y sigue la
comprobación, en caso contrario pasa a la siguiente cláusula. default incluirá las sentencias
switch(expresión){
default:
sentenciaDefault
es decir, una vez que ha encontrado una coincidencia en el valor de un case, continúa la
comprobación de los otros valores. Para evitar esto se puede incluir una sentencia break
switch(expresión){
default:
sentenciaDefault
Otra característica de la sentencia es que se pueden utilizar varios casos para una misma
sentencia. Si se utilizan varias etiquetas case para una misma sentencia, la sentencia se
switch(i){
case 0:
printf("Es 0\n");
break;
case 1: case 3: case 5: case 7: case 9:
printf("Es un impar menor que 10\n");
break;
case 2: case 4: case 6: case 8:
printf("Es un par menor que 10\n");
break;
default:
printf("Es mayor que 10\n");
}
ESTRUCTURAS REPETITIVAS
Sentencia while
Ejecuta las sentencias del bucle mientras una expresión es verdadera. Tiene la condición de
salida al comienzo de la estructura por lo que las sentencias se ejecutarían de 0 a n veces.
while(expresión)
sentencia;
Si expresión es distinta de 0 (es decir, si es verdadera) ejecuta la sentencia; cuando es 0
finaliza la estructura y el flujo del programa continuaría a la instrucción siguiente. Por ejemplo,
el fragmento de código siguiente escribiría los números entre 0 y 5.
int j=0;
while(j<=5){
printf("%i\n",j);
j++;
}
Sentencia for
La sentencia for también proporciona un bucle que se ejecutará de 0 a n veces pero que
incorpora un mecanismos para la inicialización de variables del bucle, controlar la salida o
modificar la variable del bucle.
for(expresión1;expresión2;expresión3){
sentencia;
La expresión1 se ejecutará antes de entrar en el bucle la primera vez, la expresión3 se
ejecuta al final de cada iteración del bucle y la expresión2 se encargará, al comienzo de
cada iteración de comprobar si deben continuar las repeticiones: si la expresión2 es
verdadera se entra en el bucle y en caso contrario se sale. Cualquiera de las tres puede ser una
expresión de cualquier tipo e incluso se puede omitir cualquiera de las tres. Sin embargo, lo
normal es utilizar la expresión1 para inicializar la variable del bucle, la expresión2 para
comprobar la salida del bucle a partir de la variable y la expresión3 para modificar el valor
de la variable del bucle. El siguiente ejemplo, también escribiría los números entre 0 y 5.
for(j=0;j<=5;j++)
printf("%i\n",j);
El funcionamiento sería exactamente el mismo que el del fragmento de código anterior.
Normalmente se elegirá un bucle for cuando se sepa cuantas veces se debe ejecutar el bucle
antes de entrar en el (bucles controlados por contador), mientras que la sentencia while se
utilizará cuando se desconozca ese dato (bucle controlado por centinela).
Sentencia do-while
Los bucles generados tanto por la sentencia for, como por la sentencia while comprueban
si el bucle debe ejecutarse al comienzo del mismo, pudiendo darse el caso de que el bucle se
repita 0 veces. La sentencia do..while haría la comprobación al final.
do
sentencia
while(expresión);
Primero ejecuta la sentencia y al final del bucle hace la comprobación. Si la expresión es
distinta de 0 (es verdadera) repite la sentencia; en caso contrario se sale del bucle.