Tip:
Highlight text to annotate it
X
[Powered by Google Translate] TOMMY MacWilliam: Parliamo di cicli, uno dei comuni
costrutti di programmazione vedremo tutta CS50.
Useremo cicli quando si vuole eseguire un
compito più di una volta.
Per esempio, si potrebbe desiderare di stampare "ciao" 100 volte o stampa
tutte le lettere dell'alfabeto.
In entrambi i casi, abbiamo una cosa che vogliamo fare
più volte, stampare qualcosa.
Tuttavia, ciò che stampiamo ogni tempo può variare.
Così siamo in grado di fare qualcosa di leggermente diverso per ogni
iterazione, o attraversano, del ciclo.
Staremo a vedere tre diversi tipi di cicli in C, mentre
cicli, cicli for, while e turistiche.
Anche se questi tre tipi di cicli hanno una sintassi diversa,
le idee di fondo sono la stessa cosa.
Si definisca un certo blocco di codice tra parentesi graffe,
detto corpo del ciclo, che vogliamo eseguire
un certo numero di volte.
Modificando i valori delle variabili utilizzate nel corpo, abbiamo
può rendere il nostro ciclo fare qualcosa di diverso ogni volta che viene eseguito.
Con qualsiasi anello che scriviamo, abbiamo bisogno anche di decidere quando il
ciclo viene interrotta.
Se non facciamo questo, allora il nostro computer fidato continuerà
per eseguire questo loop fino a quando non termina il programma.
In Scratch, potremmo usare la ripetizione n volte
blocco per creare un loop.
Tutti i pezzi all'interno di un blocco 10 che detta ripetizione
sarebbe stato eseguito 10 volte.
E poi, ci piacerebbe passare ai pezzi dopo quel ciclo.
Quindi la nostra condizione di arresto era semplicemente, questo blocco è stato
eseguire 10 volte.
Quindi cerchiamo di ricreare questo in C. Al fine di garantire Scratch
che i pezzi all'interno del blocco di ripetizione vengono eseguiti
esattamente 10 volte, Scratch deve tenere traccia di ciascun
esecuzione del blocco di ripetizione.
Per tenere traccia di quante volte il nostro corpo del ciclo è stato
eseguito, creiamo una variabile denominata i.
Ci ho iniziare da zero, dato che il nostro ciclo
non è stato ancora eseguito.
Bene
Ora useremo la parola chiave, mentre per iniziare il nostro ciclo.
Ora abbiamo bisogno di capire quando il nostro ciclo si ferma, ma
lasciamo questo per ora e poi tornare ad esso.
Bene.
All'interno del nostro ciclo, diciamo solo stampare un messaggio di fuori, come
"Hi". Possiamo usare la funzione printf per questo.
Bene.
Così ora ci registrare che una iterazione del corpo del ciclo è
stato eseguito.
Possiamo farlo con l'aggiunta di 1, o incrementare, il nostro contatore
variabile, i.
Per fare questo, si può dire i è uguale a i + 1, o più
semplicemente, i plus plus.
Grande.
Così ora possiamo vedere che ogni volta che il nostro ciclo viene eseguito, il nostro
variabile contatore aumenta di uno.
Così sappiamo esattamente quante iterazioni che abbiamo eseguito fino ad ora.
Dopo una iterazione del ciclo, il nostro valore
di i sarà 1.
Dopo due iterazioni, sarò 2.
E dopo 10 iterazioni, sarò 10.
Quindi, se si desidera eseguire questo ciclo esattamente 10 volte, poi
questo è quando si vuole fermare.
Quindi vogliamo eseguire questo ciclo quando i è inferiore a 10, e
questo è esattamente ciò che scriveremo, mentre i
è inferiore a 10.
Questa condizione sembra proprio come le condizioni che abbiamo usato in se
blocchi else.
Dopo che il corpo del nostro ciclo è stato eseguito, il nostro programma
tornerà alla condizione di loop.
Se la condizione è vera, allora il corpo del
ciclo sarà eseguito di nuovo.
Se la condizione non è più vero, allora il nostro ciclo non sarà
più correre e passare alla riga successiva di codice
sotto il nostro loop.
Bene.
Quindi diamo un'occhiata a un secondo tipo di
ciclo, il ciclo for.
Accanto alla parola chiave, mentre, tra parentesi, abbiamo avuto una cosa,
la condizione che doveva essere vero per la
corpo del ciclo da eseguire.
Questo significa che abbiamo dovuto creare la nostra variabile contatore esterno
del loop e ricordarsi di incrementarlo a un certo punto
all'interno del ciclo.
L'intestazione per il nostro ciclo for, invece, ha tre
parti, ciascuna delle quali sarà separato con una virgola.
Nel nostro primo terzo, siamo in grado di dichiarare ogni contatore o helper
variabili vorremmo utilizzare nel nostro ciclo.
In pratica, questo può essere davvero utile.
Abbiamo davvero non hanno bisogno di tale variabile, i, mentre dopo la nostra
ciclo è stato eseguito, quindi non dovrebbe avere di dichiararla
fuori del ciclo.
Il secondo terzo sarà la condizione che deve essere vera
per il corpo che deve essere eseguito di nuovo, proprio come
nel nostro ciclo while.
Nel nostro ultimo terzo, siamo in grado di eseguire una dichiarazione che sarà
eseguito dopo ogni iterazione del ciclo, quindi non abbiamo
di costruire in corpo del ciclo.
Quindi cerchiamo di scrivere un ciclo for che conta alla rovescia da 5 a 1.
Inizieremo con la parola chiave per.
Siamo in grado di creare una variabile contatore prima, che faremo
impostato su 5 questa volta dal momento che siamo il conto alla rovescia,
seguita da una virgola.
Prossima è la nostra condizione, che torneremo a.
In terzo luogo, ci piacerebbe per diminuire la nostra variabile contatore dopo
ogni iterazione del ciclo.
Quindi, piuttosto che dire i plus plus, diremo che i meno meno.
Bene.
Quindi vogliamo che il corpo del ciclo di funzionare mentre i è ancora
maggiore di 0.
Nel corpo del ciclo, facciamo stampare il valore di i.
Per farlo, useremo la funzione printf, utilizzando il% d
segnaposto.
Ricordate, segnaposto che sarà sostituito con il
valore di i.
Infine, aggiungiamo una dichiarazione dopo il nostro ciclo for.
Quando si esegue questo ciclo, io iniziare a 5,
5 così verrà stampato.
Una volta mi arriva a 0, la condizione di continuazione, i è
maggiore di 0, non avranno più.
Così il nostro ciclo si ferma l'esecuzione, e vedremo la
istruzione dopo il ciclo.
Quindi cerchiamo di eseguire questo codice.
In primo luogo, ti sottoporremo un
countdown.c con make conto alla rovescia.
Ora, siamo in grado di eseguire questo codice con. / Conto alla rovescia.
In entrambi i cicli while e for, la continuazione
condizioni verranno controllate prima che il corpo
del ciclo viene eseguito.
Ciò significa che, se la nostra condizione non è inizialmente
vero, allora il corpo del nostro ciclo non verrà mai eseguito.
Quindi a volte è utile per verificare la condizione dopo l'
corpo del ciclo anziché prima.
Quindi cerchiamo di scrivere un ciclo per richiedere all'utente un numero
finché un numero positivo è fornito.
Se l'utente inserisce un numero negativo, dobbiamo provare a chiedere loro
per un altro numero.
Quindi dobbiamo provare questa richiesta sia all'interno del
corpo fuori del ciclo.
Tuttavia, quando il ciclo viene eseguito per la prima volta, l'utente
non ci ha dato il numero ancora.
Quindi non ha senso per verificare se è positivo.
Invece, dobbiamo provare a controllare il numero dopo che il corpo di
il ciclo viene eseguito.
Siamo in grado di fare questo con un do while.
In primo luogo, si creerà una variabile, n, che conterrà
dell'utente ingresso.
Ora useremo la parola chiave do, seguito da parentesi graffe che
partirà il corpo del nostro ciclo.
Nel corpo, si può richiedere all'utente un numero con il
GetInt funzione.
Ora, ci vuole il corpo di questo ciclo da eseguire di nuovo se
l'utente ha digitato un numero negativo, quindi diremo mentre n
è minore di 0.
Si noti il punto e virgola qui dopo l'istruzione while.
Quindi cerchiamo di eseguire questo codice.
In primo luogo, ti sottoporremo questo con fare positivo.
Ora siamo in grado di eseguire il programma con. / Positivo.
Se diamo questo programma un numero negativo, come negativo
4, quindi ci verrà chiesto di nuovo per un numero in quanto il
condizione della nostra do while era vero.
Una volta che dare un numero positivo, come 8, allora la
condizione della nostra do while non sarà più vero.
Quindi, il ciclo non viene eseguito di nuovo.
E questo è tutto per i tre tipi di cicli che verranno utilizzati in C.
Il mio nome è Tommy, e questo è CS50.