Casa Finanza personale Rottura di un loop infinito nel programma in linguaggio C - dummies

Rottura di un loop infinito nel programma in linguaggio C - dummies

Video: TEDxTokyo - Hiroshi Ishii - The Last Farewell - [English] 2025

Video: TEDxTokyo - Hiroshi Ishii - The Last Farewell - [English] 2025
Anonim

Quando inizi a programmare loop nel linguaggio C, scopri le gioie e i timori di infiniti, o infiniti , cicli. Questi cicli continuano per sempre perché il programmatore ha dimenticato di includere un modo per uscire dal ciclo o la condizione di uscita non è mai stata soddisfatta. In ogni caso, i loop infiniti sono un dolore.

Ma a volte un programma C contiene un loop infinito di proposito. Questo tipo di costrutto può sembrare strano, tuttavia la base di molti programmi moderni è che si siedono e girano mentre aspettano che accada qualcosa. Il ciclo potrebbe essere simile a questo:

per (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}

Si noti che le condizioni tra parentesi dopo la parola chiave for sono mancanti, il che va bene. Il risultato è un ciclo infinito in cui le istruzioni vengono controllate ripetutamente, una dopo l'altra: il programma sta cercando attività da qualche parte. Quando viene trovata un'attività, il programma si attiva e fa qualcosa di interessante. Ma la maggior parte delle volte, il programma si trova in questo tipo di loop, in attesa che accada qualcosa. (Il tipico word processor può eseguire migliaia di questi loop mentre attende tra una sequenza di tasti mentre stai digitando.)

Inserire questo codice sorgente e salvarlo su disco. Quindi compilare ed eseguire il programma:

#include int main () {char ch; puts ("Programma di battitura"); puts ("Type away:"); for (;;) {ch = getchar ();} return (0);}

Sì, è possibile digitare. E puoi vedere il tuo testo sullo schermo. Ma come ti fermi?

Per interrompere, devi interrompere il ciclo infinito, che può essere fatto premendo Ctrl + C. Ma questo non è il modo in cui vuoi che i tuoi programmi funzionino. Invece, deve essere definita una condizione di uscita per il ciclo, che è il punto in cui entra in gioco la parola chiave break.

Gli sviluppatori di linguaggio C sapevano che, in alcuni casi, un ciclo deve essere interrotto in base a condizioni che non potevano essere previste o impostate all'interno dell'istruzione for. Quindi, nella loro saggezza, hanno introdotto la parola chiave break.

L'interruzione consiste nel chiudere immediatamente un ciclo (qualsiasi ciclo di linguaggio C, non solo per cicli). Quando il computer vede un'interruzione, presume solo che il ciclo sia terminato e continua come se la condizione finale del ciclo fosse soddisfatta:

#include int main () {char ch; puts ("Programma di battitura"); puts ("Digita away; premi '~' per uscire:"); for (;;) {ch = getchar (); if (ch == '~') {break;}} return (0);}

Ora è definita una condizione di uscita. Il confronto se nella riga 12 controlla se viene inserito un carattere ~ (tilde). In tal caso, il ciclo viene fermato dall'istruzione break.

Cambia il tuo codice sorgente in modo che corrisponda a ciò che è stato appena mostrato. Compilare e correre. Ora puoi fermare il programma digitando il carattere ~.

Si noti che l'istruzione if può anche essere scritta senza le parentesi:

if (ch == '~') break;

Questa linea potrebbe essere un po 'più leggibile rispetto all'utilizzo di parentesi graffe.

Rottura di un loop infinito nel programma in linguaggio C - dummies

Scelta dell'editore

Vantaggi di base della rete - manichini

Vantaggi di base della rete - manichini

Se la verità viene detta, le reti di computer sono un problema da impostare. Perché i vantaggi di avere una rete rendono la pena di crearne uno utile. Non è necessario essere un dottorato di ricerca per comprendere i vantaggi del networking. Le reti riguardano esclusivamente la condivisione. Nello specifico, le reti riguardano la condivisione di tre elementi: informazioni, risorse, ...

Biometria L'accettazione, la privacy e la legge - manichini

Biometria L'accettazione, la privacy e la legge - manichini

La tecnologia biometrica non è affatto universalmente accettata da tutti gli utenti. Ci sono una serie di considerazioni sociali e legali che danno ad ogni organizzazione una pausa prima di fare il salto a capofitto nell'implementazione di un sistema biometrico. Le persone sono più a loro agio con i sistemi di raccolta biometrici che sono i meno intrusivi. Scanner per retina e nasi elettronici sono ...

Biometria Nozioni di base - manichini

Biometria Nozioni di base - manichini

La biometria non è roba da fantascienza. Puoi trovare una dozzina di modi più o meno efficaci per utilizzare la biometria per identificare qualcuno, ognuno dei quali si divide in due classi: la biometria fisiologica misura una parte specifica della struttura o della forma di una porzione del corpo di un soggetto. La biometria comportamentale è più interessata a come ...

Scelta dell'editore

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

In Excel 2007, è possibile creare dizionari personalizzati da utilizzare quando si esegue il controllo ortografico dei fogli di lavoro. Utilizzare il pulsante Aggiungi al dizionario nella finestra di dialogo Controllo ortografico per aggiungere parole sconosciute a un dizionario personalizzato. Per impostazione predefinita, Excel aggiunge queste parole a un file dizionario personalizzato denominato CUSTOM. DIC, ma è possibile creare una nuova personalizzazione ...

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Sebbene sia possibile convertire qualsiasi cartella di lavoro di Excel in un componente aggiuntivo, non tutte le cartelle di lavoro traggono vantaggio da questa conversione. Una cartella di lavoro senza macro rende un componente aggiuntivo inutile. In effetti, gli unici tipi di cartelle di lavoro che traggono vantaggio dall'essere convertiti in un componente aggiuntivo sono quelli con macro. Ad esempio, una cartella di lavoro costituita da macro generiche (Sub ...

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Se si lavora in Microsoft Excel 2010 e vuoi iniziare a lavorare in un nuovo file di cartella di lavoro di Excel, puoi facilmente creare una nuova cartella di lavoro. Per fare ciò, puoi usare un comando nella scheda File o una scorciatoia da tastiera. Fare clic sulla scheda File. Excel visualizza la visualizzazione Backstage, in cui è possibile accedere ai comandi relativi ai file. ...

Scelta dell'editore

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Adobe Illustrator Creative Suite 5 (Adobe CS5) Illustrator è utilizzato per rimuovere rapidamente aree di grafica con la stessa facilità con cui si cancellano i pixel in Photoshop, accarezzando con il mouse su qualsiasi forma o gruppo di forme. Facendo doppio clic sullo strumento Gomma, è possibile definire il diametro, l'angolo e la rotondità della gomma. Se stai usando un ...

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

I più popolari strumenti di trasformazione in Adobe Creative Suite 5 (Adobe CS5) Illustrator - Rifletti, scala, inclina, rimodella e Trasformazione libera: sono facili da usare e modificano rapidamente la tua illustrazione. Lo strumento Rifletti Niente è simmetrico, giusto? Forse no, ma gli oggetti non creati simmetricamente in Illustrator possono sembrare off-kilter. Utilizzando lo strumento Rifletti, si ...

Quando utilizzare Adobe CS5 Illustrator - dummies

Quando utilizzare Adobe CS5 Illustrator - dummies

Utilizzando Adobe Creative Suite 5 (Adobe CS5) Illustrator anziché Photoshop , ottieni diversi benefici. Potresti aver sentito che Illustrator è migliore per la grafica vettoriale, ma perché e che altro porta? Illustrator può salvare ed esportare immagini nella maggior parte dei formati di file. Scegliendo di salvare o esportare, è possibile creare un ...