Vous êtes sur la page 1sur 5

CAPÍTULO 2

SENTENCIAS DE CONTROL

2.1. SENTENCIA if DE BIFURCACIÓN

Formatos generales

si... entonces una instrucción

if(condición) instrucción; if(j>0) printf("Positivo\n");

si ... entonces varias instrucciones

if(condición){ if(j>0)
instrucción_1; {
..... printf("Positivo\n");
instrucción_n; j=0;
} }

si ... entonces una instrucción


sino una sola instrucción

if(condición) instrucción_1; if(j>0) printf("Positivo\n");


else instrucción_2; else printf("Negativo\n");

si ... entonces varias instrucciones


sino una sola instrucción

if(condición){ if(j>0) {
instrucción_1; printf("Positivo\n");
..... j=0;
instrucción_n; }
} else
else instrucción; printf("j negativo\n");

si ... entonces varias instrucciones


sino varias instrucciones

if(condición){ if(j>0)
instrucción_1; {
..... printf("Positivo\n");
instrucción_n; j=0;
} }
else { else
instrucción_11; {
.... printf("Negativo\n");
instrucción_1n; j=1;
} }
20 Preparado por Juan Ignacio Huircán

Condiciones anidadas

En una condición de anidamiento, el else siempre hace referencia al último if realizado.

2.2. SENTENCIA switch DE SELECCIÓN

La sentencia switch direcciona distintas instrucciones según el valor qur tome una variable de control.
El formato general es el siguiente:

switch(i)
{
case 1 :...
break;
case 2 :...
break;
........
default:....
}

La sentencia switch realizará el case correspondiente al número que tome la variable de control i. El
selector del switch debe ser un número entero o un caracter. La instrucción break es la única que permite salir
del switch.

EJ 2.1. Imprime en pantalla la tecla presionada si esta es A, B o C.

#include<conio.h>
#include<stdio.h>

void main()
{
char c;
c=getch();
switch(c)
{
case 0x41: printf("%c \n", c);
break;
case 0x42: printf("%c \n", c);
break;
case 0x43: printf("%c \n", c);
break;
defaults: printf("NO CORRESPONDE \n");
}
}
Herramientas de Programación 21

2.3. LAZO while Y do while

Ambas instrucciones permiten realizar bucles evaluando una condición.

Lazo while ( Bucles mientras que)

Mientras sea cierta la condición expresada entre los paréntesis, se efectuará la (o las) instruccion (es). La
condición se evalúa cada vez antes de que se ejecute la primera instrucción del bucle. Se formato es el siguiente:

while(condición) instrucción; while(condición) {


instrucción_1;
...
instrucción_n;
}

Ej 2.2. Uso del while()

#include<stdio.h>
void main()
{
int i=0;
while(i<10)
{
printf("%d ",i);
i++;
}
}

Lazo do while (Bucles hacer ..... mientras)

En este caso la condición se evalúa al final del bucle, así por lo menos las instrucciones se ejecutarán una
vez. El formato es el siguiente:

do instrucción; do {
while(condición); instrucción_1;
...
instrucción_n;
} while(condición);

Ej 2.3. Uso do while

#include<conio.h>
void main()
{
char c=0;
do
{
c=getch();
} while(c != 27); /* Lee una tecla hasta que sea igual a ESC */
} /* cuyo código es 27 o 0x1b */
22 Preparado por Juan Ignacio Huircán

2.4. LAZO for

Este permite hacer un número fijo de repeticiones. Su formato es el siguiente:

for(expr_1;expr_2;expr_3)instrucción; for(expr_1;expr_2;expr_3)
{
instrucción_1;
...
instrucción_n;
}

Descripción

expr_1 Condición de comienzo, pueden haber varias inicializaciones separadas por coma.

expr_2 Se efectuará el bucle mientras se cumpla esta condición, se evalúa la condición antes de entrar al
bucle.

expr_3 Indica lo que hay que hacer cada vez que se termina el bucle, puede haber varias instrucciones
separadas por una coma.

Tabla 2.1. Descripción de expr_n.

Ej 2.4. Uso del for

#include<stdio.h> #include<stdio.h>
void main() void main()
{ {
int i; int i=0;
for(i=0;i<10;i++) printf("%d ",i ); for(;i<10; )
} {
i++;
printf("%d ", i);
}
}

2.5. SENTENCIAS break Y Continue

Para salir directamente de un bucle puede utilizar la sentencia break. La instrucción continue permite
pasar a la iteración siguiente.
Herramientas de Programación 23

Ej 2.5. Uso del break y continue .

void main() #include<stdio.h>


{ void main()
int j=0, i; {
for(i=0;i<10; i++) int i;
{ for(i=0;i<10; i++)
j=j+i; {
if(j>= 5) break; if(i== 5) continue; /* No imprime i=5 */
} printf("%d ", i);
} }
}

Vous aimerez peut-être aussi