Tip:
Highlight text to annotate it
X
[Powered by Google Translate] TOMMY MacWilliam: Poďme sa baviť o slučkách, jeden z spoločný
programovanie konštruuje uvidíme celej CS50.
Budeme používať slučky, keď chceme vykonať
úloha viac ako raz.
Napríklad by sme mohli chcieť tlačiť "Hi" 100 krát alebo tlač
z všetkých písmen abecedy.
V oboch týchto prípadoch, máme jednu vec, ktorú chcete urobiť
viackrát, vytlačiť niečo.
Avšak to, čo sme vytlačiť zakaždým sa môže líšiť.
Takže, čo môžeme urobiť niečo trochu iného na seba
iterácie, alebo spustiť cez zo slučky.
Uvidíme tri rôzne typy slučiek v C, zatiaľ čo
slučky, pre slučky, a robiť while.
Hoci tieto tri typy slučiek majú inú syntax,
nápady za nimi sú rovnaké.
Budeme definovať niektoré blok kódu vnútri zložených zátvoriek,
volal telo slučky, že chceme byť vykonané
nejaké číslo, koľkokrát chcete.
Zmenou hodnoty premenných použitých v tele, sme
môže naša loop robiť niečo iné zakaždým to spustiť.
S trochou slučky píšeme, budeme tiež musieť rozhodnúť, kedy
slučka sa prestanú zobrazovať.
Ak to neurobíme, potom náš verný počítač bude pokračovať
bežať tú slučku, kým sme zabiť program.
V Scratch, mohli by sme použiť opakovanie n krát
zablokovať vytvoriť slučku.
Všetky kúsky vnútri bloku, ktorý uviedol opakovanie 10
by byť spustený 10 krát.
A potom by sme prejsť na kúsky po tomto vedení.
Takže naša zastávka stav bol jednoducho, tento blok bol
spustiť 10 krát.
Takže poďme znova to v C. Aby Scratch zabezpečenie
že kusy v rámci opakovanie bloku sú vykonávané
presne 10 krát, Scratch je potrebné sledovať každý
prevedenie opakovaného bloku.
Ak chcete sledovať, koľkokrát naše telo cyklu bola
popravený, poďme vytvoriť premennú s názvom i
Začneme aj off na nule, pretože naše vedenie
nebol spustený ešte.
OK
Teraz budeme používať, zatiaľ čo kľúčové slovo začať náš slučku.
Teraz budeme musieť prísť na to, keď sa naša slučka sa zastaví, ale
nechajme to na teraz a potom sa vrátiť k nemu.
Dobrá.
Vnútri našej slučky, poďme len vytlačiť správu, podobne ako
"Hi". Môžeme použiť printf funkcie pre toto.
Dobrá.
Takže teraz budeme zisťovať, že iterácie slučky tela má
bol vykonaný.
Môžeme to urobiť, že pridaním 1, alebo zvyšovanie, naše counter
variabilné, i
Ak chcete to, že môžeme povedať, že som sa rovná aj plus 1, alebo viac
jednoducho, aj plus plus.
Great.
Takže teraz môžeme vidieť, že zakaždým, keď naše slučka beží, naše
čítač premennú zdvihne o jednu.
Takže presne vieme, koľko iterácií sme bežať tak ďaleko.
Po jednej iterácie slučky, naše hodnoty
i-bude 1.
Po dvoch iteráciách, budem 2.
A po 10 iteráciách, budem 10.
Takže, ak chceme spustiť túto slučku presne 10 krát, potom
to je, keď chceme zastaviť.
Takže chceme spustiť túto slučku, kým ja je menej ako 10, a
to je presne to, čo budeme písať, keď som
je menší ako 10.
Táto podmienka vyzerá rovnako ako podmienok sme použili v prípade,
else bloky.
Po telo nášho slučky bol vykonaný, náš program
sa skočiť späť do stavu slučky.
Ak je podmienka pravdivá, potom telo z
Slučka bude znovu spustený.
Ak je podmienka už neplatí, potom sa naša slučka nebude
utekať a presunúť na ďalší riadok kódu
pod našou slučky.
Dobrá.
Takže poďme sa pozrieť na druhý typ
slučka, pre sláčiky.
Vedľa zatiaľ čo kľúčové slovo, v zátvorke, sme mali jednu vec,
podmienka, že musel byť pravdivý pre
Telo cyklu sa má spustiť.
To znamená, že museli vytvoriť našu čítače premennú mimo
zo slučky a nezabudnite zvýšiť ju na nejakom mieste
vnútri slučky.
Hlavička pre naše pre slučku, na druhej strane, má tri
diely, z ktorých každý sa oddeľujú bodkočiarkou.
V našej prvej tretine, môžeme vyhlásiť akýkoľvek pult alebo pomocníka
premenné by sme chceli využiť v našom slučke.
V praxi to môže byť naozaj užitočné.
Naozaj nepotrebujeme túto premennú, aj, po našom chvíľu
slučka beží, tak to sme naozaj nemali vyhlásiť ju
mimo slučky.
Druhej tretine bude podmienka, že musí byť pravda
pre subjekt, ktorý bude vykonaný znova, rovnako ako
v našom slučke while.
V našom poslednej tretine, môžeme spustiť vyhlásenie, že bude
spustený po každej iterácii slučky, takže nemáme
ju postaviť do slučky tela.
Takže poďme napísať pre sláčiky, ktorá počíta so 5-1.
Začneme s pre kľúčové slovo.
Môžeme vytvoriť čítača premennú prvé, ktoré budeme
nastavený na 5 tentoraz pretože sme odpočítavanie,
nasledovaný bodkočiarkou.
Ďalej je naša podmienka, ktorá sa vrátime do.
Po tretie, radi by sme decrement náš pult premennú po
každé opakovanie slučky.
Takže skôr než povedať, že som plus plus, budeme hovoriť aj mínus mínus.
Dobrá.
Takže chceme, aby telo cyklu bežať, keď aj je stále
väčší ako 0.
V tele slučky, poďme vytlačiť hodnotu i
Ak chcete tak urobiť, budeme používať funkciu printf, pomocou% d
zástupný symbol.
Pamätaj, že symbol nahradený
hodnota i
Nakoniec dodajme, vyhlásenie po našich pre sláčiky.
Keď sme sa spustiť túto slučku, bude aj začať na 5,
takže 5 budú vytlačené.
Akonáhle som sa dostane do 0, pokračovanie podmienka, aj je
väčšie ako 0, bude už držať.
Takže naša slučka sa zastaví vykonávanie, a budeme vidieť
vyhlásenie po slučke.
Takže poďme spustením tohto kódu.
Po prvé, budeme zostavovať
countdown.c s make odpočítavanie.
Teraz môžeme spustiť tento kód s / Odpočítavanie.
V oboch while a slučky, naše pokračovanie
stav bude kontrolovaný pred telom
z slučky je spustený.
To znamená, že v prípade náš stav nie je spočiatku
pravda, potom telo nášho vedenia bude pracovať v žiadnom prípade.
Takže je to niekedy užitočné skontrolovať stav po
telo slučky, skôr než pred ním.
Takže poďme napísať slučku vyzvať užívateľa na zadanie čísla
kým kladné číslo je súčasťou dodávky.
Ak užívateľské vstupy zá***é číslo, budeme chcieť požiadať je
pre iné číslo.
Takže budeme chcieť túto výzvu byť vnútri
Telo mimo slučku.
Avšak, ak je slučka bežať prvýkrát, užívateľ
nám nedal číslo ešte.
Takže to nemá zmysel a skontrolujte, či je to pozitívne.
Namiesto toho chceme skontrolovať číslo po tele
slučky je spustený.
Môžeme to urobiť s DO slučke while.
Najprv si vytvoríme premennú, n, ktoré budú držať
užívateľského vstupu.
Teraz budeme používať DO kľúčové slovo, nasleduje zložených zátvoriek, ktoré
odštartuje telo nášho slučky.
V tele, môžeme vyzvať užívateľa na zadanie čísla s
GetInt funkciu.
Teraz, budeme chcieť telo tejto slučky spustiť znova, ak
užívateľ zadali zá***é číslo, takže budeme hovoriť, keď n
je menšia ako 0.
Všimnite si, že bodkočiarka tu po while.
Takže poďme spustením tohto kódu.
Po prvé, budeme kompilovat to s make pozitívne.
Teraz môžeme spustiť program s / Pozitívne.
Ak dáme tento program zá***é číslo, ako negatívne
4, potom budeme vyzvaní znova pre číslo od
Stav nášho robiť, keď slučka bola pravda.
Akonáhle dávame kladné číslo, ako 8, potom
Stav nášho robiť, keď slučka už nebude pravda.
Takže slučka nebudú vykonané znovu.
A to je pre tri typy slučiek budeme používať v C.
Moje meno je Tommy, a to je CS50.