Documentos de Académico
Documentos de Profesional
Documentos de Cultura
sentencia-1 sentencia-n+1
sentencia-2 sentencia-n+2
... ...
sentencia-n sentencia-m
En C
Este eselun
valor falso
error se representa
común y difícil por un 0, y el cierto por un número distinto
dededetectar
0. Por tanto
TENGAes correcto escribir:
CUIDADO!!
if (0) if (945)
printf(“NO se ejecuta nunca”); printf(“Se ejecuta siempre”);
else else
printf(“Se ejecuta siempre”); printf(“NO se ejecuta nunca”);
Curso 05-06. Práctica 2 5
Estructuras de Control
Selectivas
Reflexiones
En una sentencia if donde NO utilizamos llaves para determinar el bloque de
código al que afecta el if, sólo se ve afectada la primera instrucción tras el if
if (x==0) if (x==0)
printf(“se ejecuta si x es igual a 0\n”); EQUIVALE printf(“se ejecuta si x es igual a 0\n”);
printf(“se ejecuta siempre\n”); printf(“se ejecuta siempre\n”);
Tenga presente también que en la sección else sucede lo mismo.
LEA C
i := 0 i=0;
mientras i < MAXIMO while (i < MAXIMO)
i := i + 1 {
escribir i i++;
escribir i*i printf ("%d", i);
fmientras printf (“%d”, i*i);
}
LEA C
desde i:=1 hasta MAXIMO for (i=1; i<=MAXIMO; i++)
escribir i {
escribir i*i printf ("%d", i);
fdesde printf (“%d”, i*i);
}
Si añadimos un punto y coma tras una sentencia for haremos que el bucle no
ejecute ninguna instrucción sea cual sea el código que escribamos detrás, pero
no será un bucle infinito:
for (i = 0; i < 10; i++) ; ¡ Sentencia vacía!
printf(“Si me ejecuto”);
El for iterará 10 veces ejecutando la instrucción nula y después ejecutará el
printf.
Curso 05-06. Práctica 2 14
Estructuras de Control
Ejemplo (parte 1)
#include <stdio.h>
#define MAXINTENTOS 4
void main(void)
{
int r=-1;
int contador=0,base,altura;
printf ("¿Desea calcular el área de un rectángulo (0) o
de un triángulo (1)?\n");