lunedì 20 dicembre 2010

Corso Linguaggio C #3: Operatori logici, Costrutti di Controllo e Cicli



In questo terzo numero studieremo i Costrutti di Controllo e i Cicli che sono fondamentali per scrivere qualsiasi programma in C.

Prima di introdurre questi due nuovi argomenti, andiamo a vedere quali sono gli Operatori logici. (da usare senza gli apici '...')
> maggiore
>= maggiore o uguale
<= minore o uguale
== uguale (di verifica e non di assegnazione)
!= diverso
Con questi semplici ma fondamentali operatori logici saremo in grado di utilizzare qualsiasi ciclo o costrutto di controllo.


Iniziamo a vedere i Costrutti di Controllo:

IF-ELSE: questa istruzione viene usata per esprimere una scelta tra due blocchi di istruzioni. Esempio:
if(a==1)
{
esegui questa istruzione
}
else
{
esegui quest'altra istruzione
}
Come potete vedere l'istruzione if-else è molto semplice da usare. Ecco un semplice programma con if-else:
#include <stdio.h>
void main ()
{
int eta;
printf("Quanti anni hai? ");
scanf("%d",&eta);
if(eta>=18)
{
printf("Sei maggiorenne!!");
}
else
{
printf("Sei ancora minorenne..");
}
getch();
}
Questo semplice programma è in grado di determinare se siete o no maggiorenni. Una volta avviato vi chiederà la vostra età e vi darà subito la risposta esatta. Se vogliamo più predicati tra le parentesi basta utilizzare && (and) o || (or).

SWITCH: Questa istruzione ci permette di dare un output diverso per ogni input ricevuto. Esempio:
switch (p)
{
case 0: printf("Risposta\n"); break;
case 1: printf("Risposta2\n"); break;
case 2: printf("Risposta3\n"); break;
case 3: printf("Risposta4\n"); break;
case 4: printf("Risposta5\n"); break;
default: printf("Risposta6\n"); break;
}
In base al valore della variabile p il programma da una determinata risposta. (Se inserite 1 dara la risposta 1, se inserite 2 darà la risposta 2 e così via). L'ultimo rigo, quello dove c'è scritto default, viene utilizzato dal programma solo se inserite un valore che diverso da tutti quelli precedenti.

Adesso passiamo ai Cicli:

Con il termine ciclo intendiamo un'operazione che si ripete per un determinato numero di volte.

FOR: usiamo questo ciclo per ripetere n volte una determinata operazione. Esempio:
#include <stdio.h>
void
main()
{
int
i;
for(i=1;i<=10;i++) {
printf
("Il valore della variabile i e' uguale a %d\n",i);
}
getch();
}
Questo semplice programma mostra il funzionamento del ciclo for. Dichiariamo una variabile e facendola partire dal valore 1 la facciamo arrivare al valore 10. Questo programma stamperà sullo schermo:
Il valore della variabile i e' uguale a 1
Il valore della variabile i e' uguale a 2
Il valore della variabile i e' uguale a 3
........
Per ripetere l'operazione 20 volte basta scrivere 20 al posto di 10. Per partire dal numero 5 basta scrivere for(i=5;i<=10;i++).

DO
e DO-WHILE: infine abbiamo questi ultimi due cicli che sono molto simili. Esempio:
#include <stdio.h>
void
main()
{
int
a=0;
do
{
printf("Ciao!\n");
a=a+1;
} while (a<=10);
getch();
}
Questa è la struttura del do-while. In pratica esegue il blocco mentre a è minore o uguale di 10, nel momento in cui a diventa maggiore di 10 esce dal ciclo. In poche parole il ciclo si ripete quando il while è vero.

Il ciclo while è praticamente uguale solo che si scrive cosi:
#include <stdio.h>
void
main()
{

int
a=0;
while (a<=10) {
printf
("Ciao!\n");
a=a+1;
}
getch();
}
Qual'è la differenza tra il do-while e il while? Il primo viene eseguito almeno una volta mentre il secondo no.

Con questo finisce il terzo numero di questa guida. A breve ci sarà un nuovo numero.

0 commenti:

Posta un commento

Altri articoli interessanti