Tip:
Highlight text to annotate it
X
[Powered by Google Translate] Tommy MACWILLIAM: sabihin makipag-usap tungkol sa mga loop, ang isa sa mga karaniwang
programming constructs na namin makita ang buong CS50.
Gagamitin namin ang mga loop kapag gusto namin upang magsagawa ng
gawain higit sa isang beses.
Halimbawa, maaari naming gusto upang i-print ang "hi" 100 beses o print
ang lahat ng mga titik ng alpabeto.
Sa parehong mga kaso na ito, mayroon kaming isang bagay na gusto naming gawin
maraming beses, i-print ang isang bagay.
Gayunpaman, kung ano-print namin sa bawat beses na ay maaaring mag-iba.
Upang maaari naming gawin ang isang bagay na bahagyang naiiba sa bawat
-ulit, o patakbuhin sa pamamagitan, ng loop.
Gagamitin namin ang tatlong iba't ibang mga uri ng mga loop sa C, habang
loop, para sa mga loop, at gawin habang loop.
Kahit na ang mga tatlong uri ng loop ay may iba't ibang mga syntax,
ang mga ideya sa likod ng mga ito ay ang parehong.
Susubukan naming tukuyin ang ilang mga bloke ng code sa loob ng mga kulot tirante,
tinatawag na katawan ng loop, na gusto naming ipatupad ang
ilang bilang ng beses.
Sa pamamagitan ng pagbabago ng halaga ng variable na ginamit sa katawan, namin
maaaring gumawa ang aming loop gawin ang isang bagay ibang sa bawat oras na ito patakbuhin ang.
Sa anumang loop na isulat namin, kailangan din namin upang magpasya kapag ang
loop ay hihinto sa pagtakbo.
Kung hindi namin gawin iyon, ang aming mapagkakatiwalaan computer ay patuloy
patakbuhin na loop hanggang pumatay namin ang programa.
Sa simula, maaari naming gamitin ang umuulit na n beses
harangan upang lumikha ng isang loop.
Ang lahat ng mga piraso sa loob ng isang bloke na sinabi umuulit 10
ay magpatakbo ng 10 beses.
At pagkatapos, nais naming lumipat sa ng mga piraso pagkatapos na loop.
Kaya ang aming stop kundisyon lamang, ang block na ito ay
magpatakbo ng mga 10 beses.
Kaya sabihin muling likhain ito sa C. Sa order para sa simula upang matiyak
na ang mga piraso sa loob ng bloke ng paulit-ulit ay pinaandar
eksaktong 10 beses, sa simula ay kailangang subaybayan ng bawat
pagpapatupad ng bloke ng paulit-ulit.
Upang subaybayan ng kung gaano karaming beses ang aming loop katawan ay
pinaandar, sabihin lumikha ng isang variable na tinatawag na i.
Sisimulan naming i-off ang sa zero, dahil sa aming loop
ay hindi pa patakbuhin ang.
Ayos
Ngayon gagamitin namin ang habang keyword upang simulan ang aming loop.
Ngayon kailangan nating malaman kapag ang aming loop ay titigil, ngunit
sabihin iwanan ito para sa ngayon at pagkatapos ay bumalik dito.
Ayos lang.
Inside ng aming loop, sabihin lang i-print ang isang mensahe, tulad ng
"Hi." Maaari naming gamitin ang printf function para sa.
Ayos lang.
Kaya ngayon itinatala namin na ulit ng katawan ng loop ay
ay pinaandar.
Maaari naming gawin na sa pamamagitan ng pagdaragdag ng 1 sa, o incrementing, ang aming counter
variable, i.
Upang gawin iyon, maaari naming sabihin i katumbas i plus 1, o higit pa
lamang, i plus plus.
Mahusay.
Kaya ngayon maaari naming makita na ang bawat oras ang aming loop ay tumakbo, ang aming
counter variable napupunta up ng isa.
Kaya alam namin eksakto kung gaano karaming mga iterations namin na magpatakbo ng sa ngayon.
Pagkatapos ng isang pag-ulit ng loop, ang aming halaga
ng ay i maging 1.
Pagkatapos ng dalawang iterations, ay i 2.
At pagkatapos ng 10 iterations, i maging 10.
Kaya, kung gusto naming patakbuhin ang loop eksaktong 10 beses, pagkatapos ay
ito ay kapag gusto naming upang ihinto.
Kaya gusto namin upang patakbuhin ang loop habang i ay mas mababa sa 10, at
na eksakto kung ano ang makikita namin magsulat, habang i
ay mas mababa sa 10.
Ang kundisyong ito ay mukhang tulad ng ang mga kondisyon na aming ginamit sa kung
pang tao bloke.
Matapos ang katawan ng aming mga loop ay pinaandar, ang programa aming
ay tumalon pabalik sa kundisyon loop.
Kung ang kondisyon ay totoo, pagkatapos ay ang katawan ng
loop ay muling tumakbo.
Kung ang kondisyon ay hindi na totoo, at pagkatapos ay ang aming loop ay hindi magiging
patakbuhin ito at ay lumipat sa sa susunod na linya ng code
sa ilalim ng aming loop.
Ayos lang.
Kaya sabihin kumuha ng isang pagtingin sa isang pangalawang uri ng
loop, para sa loop.
Susunod sa habang ang keyword, sa mga panaklong, nagkaroon kami ng isang bagay,
kondisyon na kailangan totoo para sa
loop katawan upang tumakbo.
Iyon ay nangangahulugan na namin ay may upang lumikha ng aming counter variable sa labas
ng loop at tandaan na dagdagan ito sa isang punto
sa loob ng loop.
Ang mga header para sa aming para sa loop, sa kabilang banda, ay may tatlong
bahagi, ang bawat isa ay pinaghiwalay na may semicolon.
Sa aming unang ikatlong, maaari naming ipinapahayag ang anumang counter o katulong
variable nais naming gamitin sa aming loop.
Sa pagsasagawa, ito ay maaaring talagang kapaki-pakinabang.
Hindi namin talagang kailangan na variable, i, pagkatapos ng aming habang
loop ay tumakbo, kaya namin talagang hindi dapat na idedeklara ito
sa labas ng loop.
Ang ikalawang ikatlong ay ang kondisyon na dapat maging totoo
para sa katawan na pinaandar muli, tulad ng
sa aming habang loop.
Sa aming huling ikatlong, maaari naming patakbuhin ang isang pahayag na iyon ay
isinasagawa pagkatapos ng bawat pag-ulit ng loop, kaya wala kaming
upang bumuo ng ito sa katawan ng loop.
Kaya sabihin magsulat ng isang para sa loop na binibilang down mula 5 hanggang 1.
Sisimulan naming may para sa keyword.
Maaari naming lumikha ng isang counter variable sa unang, na kung saan bibigyan namin
nakatakda sa 5 oras na ito dahil kami ay pagbibilang pababa,
sinundan sa pamamagitan ng isang tuldok-kuwit.
Susunod ay aming kalagayan, na magpapadala kami bumalik.
Ikatlo, nais naming sa pagbawas ng aming counter variable pagkatapos
sa bawat pag-ulit ng loop.
Kaya sa halip na sinasabi i plus plus, makikita namin sabihin i minus minus.
Ayos lang.
Kaya gusto namin ang katawan ng loop sa patakbuhin habang i pa rin
higit sa 0.
Sa katawan ng loop, sabihin i-print ang halaga ng i.
Upang gawin ito, gagamitin namin gamitin ang printf function na, gamit ang% d
placeholder.
Tandaan, ang placeholder na ay pinalitan ng
halaga ng i.
Sa wakas, sabihin magdagdag ng statement pagkatapos ng aming para sa loop.
Kapag nagpatakbo kami ng loop na ito, ay i magsimula sa 5,
kaya 5 ay ipi-print.
Sandaling i nakakakuha ng sa 0, ang pagpapatuloy kundisyon, ay i
mas malaki kaysa sa 0, ay hindi na hold ang.
Kaya aming loop ay titigil execute, at ipapakita namin makita ang
statement pagkatapos ng loop.
Kaya natin patakbuhin ang code na ito.
Una, makikita namin ipunin ang isang
countdown.c may gumawa ng countdown.
Ngayon, maaari naming patakbuhin ang code na ito sa. / Countdown.
Sa parehong habang loop at para sa mga loop, ang aming pagpapatuloy
kondisyon ay naka-check bago ang katawan
ng loop ay pinaandar.
Na nangangahulugan na, kung ang aming mga kondisyon ay hindi simula
totoo, pagkatapos ang katawan ng aming mga loop ay hindi kailanman ay tumakbo.
Kaya minsan ito ay kapaki-pakinabang upang suriin ang kundisyon matapos ang
katawan ng loop sa halip kaysa bago ito.
Kaya sabihin magsulat ng isang loop upang i-prompt ang user para sa isang numero
hanggang isang positibong numero ay ibinigay.
Kung ang gumagamit input ng negatibong numero, magpapadala kami gusto mong hilingin ang mga ito
para sa isa pang numero.
Kaya makikita namin gusto ang pagsenyas na ito sa loob ng
katawan off loop.
Gayunpaman, kapag ang loop ay tumatakbo sa unang pagkakataon, ang user
ay hindi ibinigay sa amin ang bilang ay.
Kaya ito ay hindi magkaroon ng kahulugan upang suriin kung ito ay positibo.
Sa halip, makikita namin nais na suriin ang numero pagkatapos ng katawan ng
loop ay tumakbo.
Maaari naming gawin ito na may isang Do habang loop.
Una, namin lumikha ng isang variable, n, na hold ang
input ng user.
Ngayon, gagamitin namin ang Do keyword, sinundan sa pamamagitan ng mga kulot tirante na
ay magsimula ang katawan ng aming mga loop.
Sa katawan, maaari naming i-prompt ang user para sa isang numero na may
GetInt function.
Ngayon, gusto namin ang katawan ng loop na ito upang maisagawa muli kung
ang user-type ng isang negatibong numero, kaya ipapakita namin sabihin habang n
ay mas mababa kaysa sa 0.
Pansinin ang semicolon dito matapos ang pahayag ng habang.
Kaya natin patakbuhin ang code na ito.
Una, magpapadala kami makatipon ito gumawa ng positibong.
Ngayon ay maaari naming patakbuhin ang program na may. / Positibong.
Kung bigyan namin ang program na ito sa isang negatibong numero, tulad ng mga negatibong
4, pagkatapos makikita namin prompt muli para sa isang numero dahil
kalagayan ng aming Do habang loop ay totoo.
Sa sandaling aming magbigay ng isang positibong numero, tulad ng 8, pagkatapos ang
kalagayan ng aming Do habang loop ay hindi na totoo.
Kaya loop ay hindi pinaandar muli.
At na ito para sa tatlong mga uri ng mga loop gagamitin namin sa C.
Ang pangalan ko ay Tommy, at ito ay CS50.