Tip:
Highlight text to annotate it
X
[Powered by Google Translate] TOMMY MACWILLIAM: Räägime silmad, üks ühine
programmeerimine konstrueerib näeme kogu CS50.
Me kasutame silmuseid, kui me tahame täita
ülesanne rohkem kui üks kord.
Näiteks, me võime soovida printida "tere" 100 korda või prindi
välja kõik tähestiku tähti.
Mõlemal juhul on meil üks asi, mida me tahame teha
mitu korda, printida midagi välja.
Kuid mida me välja trükkida iga kord võib olla erinev.
Nii saame teha midagi veidi erinev iga
iteratsiooni või joosta, silmus.
Me näeme kolme erinevat tüüpi silmuseid C, samal ajal kui
silmad, sest silmad, ja teha samal ajal silmad.
Kuigi need kolm tüüpi ring on erinev süntaks,
ideed nende taga on samad.
Me määratleda mõned ploki koodi looksulg,
nimetatakse keha kaarde, et me tahame täita
mõned mitu korda.
Muutes väärtused muutujatele, mida kasutatakse keha, me
saab teha meie silmus teha midagi erinevat iga kord kui seda käivitada.
Mis tahes silmus me kirjutame, siis me ka vaja otsustada, millal
loop näitamine lõpetada.
Kui me seda ei tee, siis meie ustav arvuti jätkab
joosta, et silmus enne kui oleme tapnud programm.
Scratch, saaksime kasutada korrata n korda
blokeerida luua loop.
Kõik tükid sees plokk, mis ütles korrata 10
oleks käivitada 10 korda.
Ja siis, me tahaks liikuda tükki pärast selle kontuuri.
Nii et meie peatus tingimus oli lihtsalt see plokk on
käivitada 10 korda.
Nii et olgem taasluua seda C. Et Scratch tagada
et tükid jooksul korrata plokk teostatakse
täpselt 10 korda, Scratch vaja jälgida iga
täitmise korda blokeerida.
Jälgida, mitu korda meie silmus keha on olnud
täidetud, loome muutuja nimega i.
Hakkame i ära nullis, sest meie silmus
ei sõidetud veel.
Korras
Nüüd me kasutame samas märksõna alustad meie silmus.
Nüüd me peame välja mõtlema, kui meie silmus peatub, kuid
jätame selle nüüd ja siis tagasi tulla.
Hea küll.
Toas meie silmus, lähme lihtsalt printida sõnumit, nagu
"Tere." Saame kasutada printf funktsiooni selle eest.
Hea küll.
Nii et nüüd me salvestada et iteratsiooni silmus keha on
hukatud.
Me ei saa seda teha, lisades 1 või incrementing, meie counter
muutuja, i.
Selleks, et võib öelda, i on võrdne i pluss 1 või rohkem
lihtsalt, i pluss pluss.
Suur.
Nüüd näeme, et iga kord, kui meie silmus töötab, meie
counter muutuja läheb ühe võrra ülespoole.
Nii et me teame täpselt, kui palju korduste oleme joosta nii kaugele.
Pärast ühte iteratsiooni silmus, meie väärtus
i on 1.
Pärast kaks iteratsiooni, i on 2.
Ja pärast 10 iteratsiooni, i will be 10.
Niisiis, kui me tahame teha selle ahela täpselt 10 korda, siis
see on, kui tahame lõpetada.
Nii et me tahame teha selle tsükkel while i on väiksem kui 10, ja
see on täpselt see, mida me kirjutame, kui ma
on alla 10.
See tingimus näeb välja nagu tingimustel me kasutada, kui
muud klotsid.
Pärast keha meie silmus on täidetud, meie programm
hüpata tagasi üles silmuseid seisukorras.
Kui tingimus on tõene, siis keha
loop käivitatakse uuesti.
Kui seisund ei ole enam õige, siis meie silmus ei ole
enam joosta ja liikuda edasi järgmisele rida koodi
all meie silmus.
Hea küll.
Võtame pilk Teist tüüpi
loop, loop.
Järgmine samas märksõna, sulgudes, meil oli üks asi,
tingimusel, et on vaja, et olla tõsi
silmus keha juhtida.
See tähendab meil oli luua meie counter muutuja väljaspool
on silmus ja pidage meeles, et juurdekasvu see mingil hetkel
sees silmus.
Päis meie jaoks silmus, teiselt poolt, on kolm
osad, millest igaüks on eraldatud semikooloniga.
Meie esimesel kolmandikul, saame kuulutada tahes vastuhagi või abimees
muutujad me tahaksime kasutada meie silmus.
Praktikas võib see olla tõesti abiks.
Me tõesti ei pea selle muutuja i, pärast meie ajal
silmus on otsa saanud, nii et me tegelikult ei peaks kuulutada see
väljaspool silmus.
Teine kolmandik on tingimus, mis peab olema tõene
et keha täidetakse uuesti, just nagu
Meie samas silmus.
Meie viimane kolmandik, saame joosta kinnitus, et on
täidetakse pärast iga iteratsiooni silmus, nii et me ei pea
ehitada see silmus keha.
Nii et olgem kirjutada loop mis loeb ette 5-1.
Hakkame koos märksõna.
Me ei saa luua counter muutuja esimene, mida me hakkamegi
seatud 5 seekord, sest me oleme lugedes ette,
järgneb semikoolon.
Järgmine on meie tingimus, mis me tuleme tagasi.
Kolmandaks, me tahaks ainult kahandab meie counter muutuja pärast
iga iteratsiooni silmus.
Nii et mitte öelda i pluss pluss, ütleme i miinus miinus.
Hea küll.
Nii et me tahame silmus keha jooksma kui ma ikka veel
suurem kui 0.
Organismis on silmus, lähme välja printida väärtus i.
Selleks me kasutame printf funktsiooni abil% d
kohatäide.
Pea meeles, et kohatäide tuleb asendada
I väärtus.
Lõpuks lisame avalduse pärast meie jaoks silmus.
Kui me teeme selle ahela, mul hakkab maha 5,
nii 5 prinditakse.
Kui ma jõuab 0, jätkamise tingimus, i
suurem kui 0, siis ei hoia.
Nii et meie silmus peatub täidesaatva ja näeme
avalduse pärast silmus.
Nii et olgem käivitada selle koodi.
Esiteks, me koguda
countdown.c koos teha Tagaplaanil.
Nüüd saame teha selle koodi. / Tagaplaanil.
Mõlemal samas silmuseid ja silmad, meie jätkamine
kontrollitakse teie seisundit enne keha
Euroopa silmus täidetakse.
See tähendab, et kui meie tingimus ei ole esialgu
tõsi, siis keha meie silmus kunagi joosta.
Nii et see on mõnikord kasulik, et kontrollida seisukorda pärast
keha silmus, mitte enne seda.
Nii et olgem kirjutada silmus ajendab kasutaja jaoks number
kuni positiivse numbri annab.
Kui kasutaja sisendite negatiivne arv, siis me tahame neilt
teise numbri.
Nii et me tahame seda kiire olema sees
keha maha silmus.
Samas, kui loop töötab esimest korda, kasutaja
ei ole andnud meile mitmeid veel.
Seega ei ole mõtet kontrollida, kas see on positiivne.
Selle asemel, me tahame, et kontrollida arvu pärast kehas
loop töötab.
Me saame seda teha koos teha, samas silmus.
Esiteks, loome muutuja n, mis korraldab
kasutaja sisendit.
Nüüd me kasutame teha märksõna, millele järgneb looksulg et
alustad keha meie silmus.
Organismis saame kiire kasutaja jaoks number
GetInt funktsioon.
Nüüd saad soovi keha Selle ahela täita uuesti, kui
kasutaja sisestatud negatiivne arv, seega me ütleme, kui n
on väiksem kui 0.
Teade semikooloniga siin pärast samas avalduses.
Nii et olgem käivitada selle koodi.
Esiteks, me kompileerida seda teha positiivne.
Nüüd saame käivitada programmi koos. / Positiivne.
Kui me anname selle programmi negatiivne arv, nagu negatiivne
4, siis palutakse uuesti number alates
tingimus meie teha, samas loop oli tõsi.
Kui me anname positiivne arv, näiteks 8, siis
tingimus meie teha, samas loop ei ole enam tõene.
Nii silmus ei tehta uuesti.
Ja ongi kolme liiki silmuste me kasutame ka C.
Minu nimi on Tommy, ja see on CS50.