Logo C AnsiIn C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice, altrimenti sarebbe oggettivamente impossibile comunicare al nostro programma cosa vogliamo da lui.

Nello scrivere un espressione, dobbiamo ricordarci di mettere il ; in fondo, in modo da trasformarla in un istruzione. In questo modo,

x = 0;

Per creare un blocco (o istruzione composta) dobbiamo invece raggruppare dichiarazioni ed istruzioni all’interno di parentesi graffe { }. Il contenuto di due parentesi graffe viene letto come una singola istruzione, come un blocco unico. Ad esempio:

{ x = 0;
y = 1;}

Importante, alla fine di un blocco, con relativa graffa } non serve mettere un punto e virgola (facendo un confronto, basti notare che non serve mettere il ; neanche alla fine di un elenco di istruzioni in un CSS, prima della graffa)

L’istruzione if-else ci permette di porre una condizione (if) al verificarsi della quale avremo un determinato comportamento,oppure (else) avremo un comportamento diverso. Di seguito il costrutto base:

if (espressione)
   istruzione1
else
   istruzione2

Se il valore di espressione è diverso da zero, il programma eseguirà l’istruzione1, altrimenti l’istruzione2.

E’ importante ricordare, i compilatori abbinano else al più vicino if che non ne ha già uno assegnato.

Nel caso di istruzioni nidificate, come queste:

if quelchevuoi1
   if quelchevuoi2
   else

il compilatore assegnerà else a quelchevuoi2. E se invece volessimo assegnarlo a quelchevuoi1? dobbiamo utilizzare le parentesi graffe, così:

if (espressione) {
   if quelchevuoi2
      }
else

Il costrutto else-if complica un po’ le cose, dato che aumenta le variabili in gioco e le relative istruzioni. Nonostante ciò è estremamente intuitivo e facile da realizzare, guardiamolo insieme:

if (espressione1)
   istruzione1
else if (espressione2)
   istruzione2
else if (espressione3)
   istruzione3
else
  istruzione4

E così via, si potrebbe continuare mettendo un infinità di else-if, ma per l’esempio attuale bastano ed avanzano questi. La traduzione è la seguente:

se espressione1 è vera esegui l’istruzione1, altrimenti, se l’espressione2 è vera esegui istruzione2, altrimenti se espressione3 è vera esegui espressione 3, oppure, se nessuna delle precedenti espressioni è vera, esegui istruzione4.

L’istruzione switch ragiona in modo simile, ma ha alcune differenze, ad esempio, il seguente costrutto

switch (espressione) {
   case x1
   istruzione x1
   break
   case x2
   istruzione x2
   break
   case x3
   istruzione x3
   break
   default
   istruzione x4
   break
}

significa:

Valuta l’espressione, se è uguale al caso x1 esegui istruzione x1, altrimenti passa a caso successivo (break) e valuta il caso x2, nel caso in cui coincida esegui l’istruzione x2, altrimenti passa al caso x3, se coincide esegui l’istruzione x3. Nel caso in cui nessuna di queste istruzioni coincidano esegui l’istruzione x4 contenuta nel default quindi esci dal costrutto switch.

Questo costrutto è detto a cascata perché ogni volta che finisce di eseguire il codice relativo ad un caso, passa al caso successivo.

E anche per oggi è andata, di questo passo fra solo 2.134.234 giorni circa, avremo finito :-D

Interagisci con l'articolo !
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Print
  • Technorati
  • Twitter
  • Live
  • Wikio IT
  • email
  • Add to favorites
  • FriendFeed
  • RSS
  • LinkedIn
  • Tumblr

Articoli correlati