La selezione

  • Per la selezione multipla occorre invece un selettore, vale a dire un'espressione che dia come risultato in un valore intero o un valore di un tipo enumerativo
  • Per ogni valore del selettore verrà eseguito un diverso blocco.
  • Nel caso del C la sintassi è la seguente:
    switch (<selettore>) { case <valore> : [<istruzione>]... [case <valore> : [<istruzione>]...]... [default: [<istruzione>]...] [case <valore> : [<istruzione>]...]...}
  • L'esecuzione verrà proseguitadall'istruzione che segue il case <valore> : il cui valore corrispondea quello assunto dal <selettore>
  • Se nessun case <valore> : corrisponde al valore del <selettore>, allora l'esecuzione riprenderà dall'istruzione seguente il default:
  • È da notare che nel C si può inserire una serie di istruzioni tra un case ed il successivo.
  • Il case non definisce un gruppo di istruzioni da eseguire, ma bensì una posizione da raggiungere, dalla quale riprenderà la sequenza
  • Se non si vogliono eseguire tutte le istruzioni che seguono (se ad esempio si vogliono eseguire per un case <valore> : le sole istruzioni che vanno da quel case <valore> : al successivo), si deve utilizzare una di quelle istruzioni che infrangono la struttura (il break) di cui parleremo più avanti

© Ing. Stefano Salvi - All rights reserved