test di verificaDomanda
Qual l'output di questo programma?
immagine del test



1 / 5 domande



Vuoi visualizzarlo sul tuo sito?

Goto ( linguaggio C )

Nel linguaggio C l'istruzione goto compie un salto incondizionato verso un'etichetta.

La sintassi

goto etichetta

E' detto salto incondizionato perché il flusso di elaborazione passa da un punto a un altro del programma senza essere legato a una condizione.

Un esempio pratico

Un esempio pratico di utilizzo dell'istruzione goto nel linguaggio C

un esempio di salto incondizionato

L'istruzione goto fine ( linea blu ) salta l'istruzione successiva se la variabile i è maggiore di 10.

Il flusso di elaborazione passa all'etichetta finale ( fine: ) e termina il programma.

Viceversa, l'istruzione goto inizio ( linea rossa ) sposta indietro il flusso di elaborazione fino all'etichetta iniziale ( inizio: ).

Nota. Nel linguaggio c le etichette sono stringhe alfanumeriche terminate con il simbolo dei due punti. Ad esempio, inizio: e fine:

L'output del programma è il seguente:

012345678910fine

Il programma ha stampato i primi dieci numeri e la parola "fine".

Pro e contro dei salti incondizionati

I salti incondizionati derivano dalla vecchia programmazione non strutturata degli anni '60.

Cos'è la programmazione non strutturata. Nella programmazione non strutturata il codice sorgente del programma è composto da un unico blocco di istruzioni detto main. Le istruzioni sono eseguite in ordine sequenziale. Non sono presenti strutture di controllo. Quindi, le uniche possibilità di compiere dei salti nel codice sono le istruzioni di salto incondizionato ( es. goto ).

Questa pratica riduce la leggibilità del codice sorgente e rende più complessa la manutenzione del codice.

Per questa ragione l'istruzione goto è ormai deprecata come tecnica di sviluppo.

la differenza tra la programmazione non strutturata e strutturata

I salti incondizionati sono stati eliminati nella programmazione strutturata.

Qualsiasi istruzione goto può essere sostituita con una struttura iterativa di controllo, sviluppando il codice secondo i principi della programmazione strutturata.

Il risultato in output è lo stesso:

012345678910fine

Tuttavia, il codice della programmazione strutturata è più leggibile.

Nota. Pur essendo deprecata l'istruzione goto è ancora presente nel linguaggio C. In alcuni casi eccezionali è ancora usata se migliora l'efficienza del programma, perché un salto incondizionato non richiede l'utilizzo di variabili. Pertanto, consuma un minore spazio di memoria rispetto alle strutture di controllo.

https://www.okpedia.it/goto-salti-incondizionati-linguaggio-c


Segnala un errore o invia un suggerimento per migliorare la pagina


Le iterazioni nel linguaggio C

Le interruzioni del ciclo


FacebookTwitterLinkedinLinkedin