Tip:
Highlight text to annotate it
X
[Powered by Google Translate] TOMMY MacWilliam: Pojďme se bavit o smyčkách, jeden z společný
programování konstruuje uvidíme celé CS50.
Budeme používat smyčky, když chceme provést
úkol více než jednou.
Například bychom mohli chtít tisknout "Hi" 100 krát nebo tisk
z všech písmen abecedy.
V obou těchto případech, máme jednu věc, kterou chcete udělat
vícekrát, vytisknout něco.
Avšak to, co jsme vytisknout pokaždé se může lišit.
Takže, co můžeme udělat něco trochu jiného na sebe
iterace, nebo spustit přes ze smyčky.
Uvidíme tři různé typy smyček v C, zatímco
smyčky, pro smyčky, a dělat while.
Ačkoli tyto tři typy smyček mají jinou syntaxi,
nápady za nimi jsou stejné.
Budeme definovat některé blok kódu uvnitř složených závorek,
volal tělo smyčky, že chceme být provedeny
nějaké číslo, kolikrát chcete.
Změnou hodnot proměnných používaných v těle, jsme
může naše loop dělat něco jiného pokaždé to spustit.
S trochou smyčky píšeme, budeme také muset rozhodnout, kdy
smyčka se přestanou zobrazovat.
Pokud to neuděláme, pak náš věrný počítač bude pokračovat
běžet tu smyčku, dokud jsme zabít program.
V Scratch, mohli bychom použít opakování n krát
zablokovat vytvořit smyčku.
Všechny kousky uvnitř bloku, který uvedl opakování 10
by být spuštěn 10 krát.
A pak bychom přejít na kousky po tomto vedení.
Takže naše zastávka stav byl prostě, tento blok byl
spustit 10 krát.
Takže pojďme znovu to v C. Aby Scratch zajištění
že kusy v rámci opakování bloku jsou prováděny
přesně 10 krát, Scratch je třeba sledovat každý
provedení opakovaného bloku.
Chcete-li mít přehled o tom, kolikrát naše tělo cyklu byla
popraven, pojďme vytvořit proměnnou s názvem i.
Začneme i off na nule, protože naše vedení
nebyl spuštěn ještě.
OK
Nyní budeme používat, zatímco klíčové slovo začít náš smyčku.
Teď budeme muset přijít na to, když se naše smyčka se zastaví, ale
nechme to pro teď a pak se vrá*** k němu.
Dobrá.
Uvnitř naší smyčky, pojďme jen vytisknout zprávu, podobně jako
"Hi". Můžeme použít printf funkce pro toto.
Dobrá.
Takže teď budeme zjišťovat, že iterace smyčky těla má
byl proveden.
Můžeme to udělat, že přidáním 1, nebo zvyšování, naše counter
variabilní, i.
Chcete-li to, že můžeme říct, že jsem se rovná i plus 1, nebo více
jednoduše, i plus plus.
Skvělé.
Takže teď můžeme vidět, že pokaždé, když naše smyčka běží, naše
čítač proměnnou zvedne o jednu.
Takže přesně víme, kolik iterací jsme běžet tak daleko.
Po jedné iterace smyčky, naše hodnoty
i-bude 1.
Po dvou iteracích, budu 2.
A po 10 iteracích, budu 10.
Takže, pokud chceme spustit tuto smyčku přesně 10 krát, pak
to je, když chceme zastavit.
Takže chceme spustit tuto smyčku, zatímco i je menší než 10, a
to je přesně to, co budeme psát, když jsem
je menší než 10.
Tato podmínka vypadá stejně jako podmínek jsme použili v případě,
else bloky.
Po tělo našeho smyčky byl proveden, náš program
se skočit zpět do stavu smyčky.
Je-li podmínka pravdivá, pak tělo
Smyčka bude znovu spuštěn.
Je-li podmínka již neplatí, pak se naše smyčka nebude
utíkat a přesunout na další řádek kódu
pod naší smyčky.
Dobrá.
Takže pojďme se podívat na druhý typ
smyčka, pro smyčce.
Vedle zatímco klíčové slovo, v závorce, jsme měli jednu věc,
podmínka, že musel být pravdivý pro
Tělo cyklu se má spustit.
To znamená, že museli vytvořit naši čítače proměnnou mimo
ze smyčky a nezapomeňte zvýšit ji na nějakém místě
uvnitř smyčky.
Záhlaví pro naše pro smyčku, na druhé straně, má tři
díly, z nichž každý se oddělují středníkem.
V naší první třetině, můžeme prohlásit jakýkoliv pult nebo pomocníka
proměnné bychom chtěli využít v našem smyčce.
V praxi to může být opravdu užitečné.
Opravdu nepotřebujeme tuto proměnnou, i, po našem chvíli
smyčka běží, tak to jsme opravdu neměli prohlásit ho
mimo smyčky.
Druhé třetině bude podmínka, že musí být pravda
pro subjekt, který bude proveden znovu, stejně jako
v našem smyčce while.
V našem poslední třetině, můžeme spustit prohlášení, že bude
spuštěn po každé iteraci smyčky, takže nemáme
ji postavit do smyčky těla.
Takže pojďme napsat pro smyčce, která počítá se 5-1.
Začneme s pro klíčové slovo.
Můžeme vytvořit čítače proměnnou první, které budeme
nastaven na 5 tentokrát protože jsme odpočítávání,
následovaný středníkem.
Dále je naše podmínka, která se vrátíme do.
Zatřetí, rádi bychom decrement náš pult proměnnou po
každé opakování smyčky.
Takže spíše než říct, že jsem plus plus, budeme říkat i minus minus.
Dobrá.
Takže chceme tělo cyklu se spouští, když i je stále
větší než 0.
V těle smyčky, pojďme vytisknout hodnotu i.
Chcete-li tak učinit, budeme používat funkci printf, pomocí% d
zástupný symbol.
Pamatuj, že symbol nahrazen
hodnota i.
Nakonec dodejme, prohlášení po našich pro smyčce.
Když jsme se spustit tuto smyčku, bude i začít na 5,
takže 5 budou vytištěny.
Jakmile jsem se dostane do 0, pokračování podmínka, i je
větší než 0, bude již držet.
Takže naše smyčka se zastaví provádění, a uvidíme
prohlášení po smyčce.
Takže pojďme spuštěním tohoto kódu.
Za prvé, budeme sestavovat
countdown.c s make odpočítávání.
Nyní můžeme spustit tento kód s. / Odpočítávání.
V obou while a smyčky, naše pokračování
stav bude kontrolován před tělem
z smyčky je spuštěn.
To znamená, že v případě náš stav není zpočátku
pravda, pak tělo našeho vedení bude pracovat v žádném případě.
Takže je to někdy užitečné zkontrolovat stav po
tělo smyčky, spíše než před ním.
Takže pojďme napsat smyčku vyzvat uživatele k zadání čísla
dokud kladné číslo je součástí dodávky.
Pokud uživatelské vstupy zá***é číslo, budeme chtít požádat je
pro jiné číslo.
Takže budeme chtít tuto výzvu, aby se uvnitř
Tělo mimo smyčku.
Nicméně, je-li smyčka běžet poprvé, uživatel
nám nedal číslo ještě.
Takže to nemá smysl a zkontrolujte, jestli je to pozitivní.
Místo toho chceme zkontrolovat číslo po těle
smyčky je spuštěn.
Můžeme to udělat s DO smyčce while.
Nejprve si vytvoříme proměnnou, n, které budou držet
uživatelského vstupu.
Nyní budeme používat DO klíčové slovo, následuje složených závorek, které
odstartuje tělo našeho smyčky.
V těle, můžeme vyzvat uživatele k zadání čísla s
GetInt funkci.
Nyní, budeme chtít tělo této smyčky spustit znovu, pokud
uživatel zadali zá***é číslo, takže budeme říkat, když n
je menší než 0.
Všimněte si, že středník zde po while.
Takže pojďme spuštěním tohoto kódu.
Za prvé, budeme kompilovat to s make pozitivní.
Nyní můžeme spustit program s. / Pozitivní.
Dáme-li tento program zá***é číslo, jako negativní
4, pak budeme vyzváni znovu pro číslo od
Stav našeho dělat, když smyčka byla pravda.
Jakmile dáváme kladné číslo, jako 8, pak
Stav našeho dělat, když smyčka již nebude pravda.
Takže smyčka nebudou provedeny znovu.
A to je pro tři typy smyček budeme používat v C.
Mé jméno je Tommy, a to je CS50.