![]() |
Índex |
Estructura condicional | Estructura alternativa |
if <condició>
acció 1; |
if <condició>
acció 1; else acció 2; |
Les accions 1 i 2 poden ser simples o compostes.
#include <stdio.h>
#include <conio.h> void main(void)
clrscr(); printf("¨Quieres que ponga un palíndromo
en la pantalla (s/n) ");
|
#include <stdio.h>
#include <conio.h> void main(void)
clrscr(); printf("\nEscriu un número sencer ");
|
Abans de dinar | Després de dinar | |
Bon temps | Ves a la platja | Fes un passeig amb els amics |
Mal temps | Llegeix un llibre a casa | Fes la migdiada |
#include <stdio.h>
void main(void) { char hora,temps; printf("Fa bo o mal temps (b/m) ");
printf("Ja has dinat? (s/n) ");
if ((temps == 'b') && (hora == 'n'))
if ((temps == 'b') && (hora == 's'))
if ((temps == 'm') && (hora == 'n'))
if ((temps == 'm') && (hora == 's'))
|
#include <stdio.h>
void main(void) { int tecla; printf("Vols que escrigui algunes coses de l'ordinador? (s/n)"); tecla=getchar(); if ((tecla=='s' )|| (tecla=='S'))
printf("\nAdéu\n");
|
#include <stdio.h>
int main(void)
if (num % 2 == 0)
|
#include <stdio.h>
int main(void)
if ((tecla >= '0') && (tecla < '3'))
return 0;
|
Encara que es poden fer aquests tipus d'estructures i fer-les tant llargues com voldrem, no és convenient abusar, car el codi es fa il·legible i es perd la facilitat per trobar errades.
#include <stdio.h>
void main(void) { char opcio = ' '; int i; printf("\nAquest és mi primer menú\n\n");
switch (opcio)
|
switch (<expressió>) { case expressió constant1: instruccions; break; case expressió constant2: instruccions; break; case expressió constant3: instruccions; break; default: instruccions; }De manera que tenim un bloc complet d'instruccions que comença amb la primera clau { i acaba en la segona clau }. Si el programa es troba amb la sentència break dins del bloc salta totes les instruccions posteriors al break del bloc i continua a la primera instrucció posterior al bloc. En general la sentència break inclosa dins d'una estructura de control de flux del programa actua de la mateixa manera.
#include <stdio.h>
#include <conio.h> #include <stdlib.h> #include <time.h> void main(void)
int i;
for (i=1;i<21;i++) numero[i]=1+(rand()%20);
for (i=1;i<21;i++)
if (trobat) printf("\nEl primer numero 5 es troba
a la posició %d \n",i);
|
#include <stdio.h>
#include <conio.h> void main(void)
int tecles=0;
|
#include <stdio.h>
#include <conio.h> #include <ctype.h> void main(void)
float mitjana, num, suma=0;
|
#include <stdio.h>
#include <conio.h> #include <stdlib.h> #include <time.h> void main(void)
int i;
srand((unsigned) time(&t));
for(i=1; (i<21)&& (numero[i] != 5); i++); if (numero[i] == 5) printf("\nEl primer numero 5
es troba a la posició %d\n",i);
|
#include <stdio.h>
#include <conio.h> void main(void)
int tecles = 0;
|
#include <stdio.h>
#include <conio.h> void main(void)
float mitjana, num, suma = 0;
printf("Càlcul de la mitja aritmètica
de números positius\n");
|
... while (opcio) { for( i=1; i<=100; i++) { for( j=1; j<=100; j++) { moltes línies de programa; if (tremendo problema) goto socors; més línies de programa; } més sentències; } encara més sentències; } i encara més sentències; socors: arranjar el problema o anar-se dignament. |