Come creare un While Loop in C

October 3

Creare un ciclo mentre ogni volta che il programma di C ha bisogno di iterare su valori o variabili. Con alcune semplici precauzioni, mentre i loop può essere facile e potente.

istruzione

Capire le condizioni

1 Ricordate che ogni ciclo while ha una condizione che determina quando finisce. Il ciclo si ripete fino a quando la condizione è vera. Condizioni di solito comportano il confronto tra le variabili, come:

mentre (temperatura <212) {
temperatura = increase_heat (temperatura);
}

2 Programmare il ciclo per valutare la condizione sia all'inizio o alla fine. Valutare all'inizio è il caso più comune, come nell'esempio precedente. Valutare alla fine assicura che il ciclo avverrà almeno una volta:

fare {
temperatura = next_temperature ();
} While (temperatura <212);

3 Obiettivo per la verità: E 'di vitale importanza che la condizione alla fine diventano vera, per evitare un ciclo infinito. Assicurarsi che il corpo del ciclo, la parte tra parentesi graffe, include qualcosa che cambia le variabili coinvolte nelle condizioni, e che faranno alla fine fanno la condizione falsa.

4 Accettare la capacità di C per includere un incarico all'interno di una condizione, che a volte può rendere il codice più brevi e meno ripetitivo. Per esempio:

while ((temperatura = next_temperature ()) <212) {
update_sensor_logs (temperatura);
}

Rompere fuori dal giro

5 Scoppiare. All'interno del corpo di un ciclo while, si può uscire dal ciclo immediatamente, se la condizione è falsa o meno. Basta usare il comando break:

mentre (temperatura <212) {
Se l'interruzione (sensor_detected ()!);
temperatura = increase_heat (temperatura);
}

6 Forza il ciclo per tornare indietro alla condizione e ri-valutare usando il comando continua:

mentre (temperatura <212) {
temperatura = next_temperature ();
if (sensor_error ()) continua;
sensor_changes ++;
}

Consigli e avvertenze

  • Il ciclo for è solo una scorciatoia per un ciclo while con una inizializzazione precedente e un passo di iterazione integrale. La maggior parte dei compilatori C creano lo stesso codice e while.
  • Di solito, l'ottimizzazione di un programma per la velocità significa concentrarsi su ciò che accade all'interno dei passanti mentre, in particolare quelli che sono annidati.
  • Un ciclo while la cui condizione non diventa mai falsa può bloccare il programma e l'intero computer su cui sta girando.
  • Evitare i loop che non fanno altro mentre aspettano per una condizione da rispettare, chiamato "busy-wait loop". Questi possono macinare tutti gli altri programmi a una battuta d'arresto e prevenire la condizione che stanno aspettando da sempre accade, una condizione chiamata "deadlock". Se il sistema operativo non è in grado di creare un trigger di evento, almeno utilizzare le sue funzioni per cedere il controllo di nuovo esso all'interno del corpo del ciclo.