Enne silmuse ja loo vahelise erinevuse hüppamist peame kõigepealt mõistma silmuse loomise mõistet. Kui olete programmeerimises, siis teate juba silmustest. Püüame seda lühidalt hoida. Peaaegu kõigil programmeerimiskeeltel on kontseptsioon nimega loop, mis aitab ühe koodiploki käitamisel mitu korda. Programmeerimisel peame sageli avaldusi mitu korda täitma, sel juhul saab kasutada silmust. Silmused on eriti kasulikud olukordades, nagu itereerimine andmestruktuuride kaudu või suurte andmekomplektide läbimine rämpsandmete filtreerimiseks.

Kui kasutate programmis silmust, saate kirjutada ühe juhiskomplekti, mis töötab mitme andmekogumi korral. See hõlmab programmi rühma juhiste kordamist kas määratud arv kordi või kuni mõni loogiline tingimus on täidetud. Enamasti teame, mitu korda silmust tuleb korrata, samas kui mõnikord pole seda teada ja silmust korratakse seni, kuni tingimus on täidetud. For ja Kuigi on C programmeerimisel kasutatavad üldised ahela juhtimislaused koos Do-While ahelaga. Vaatleme kahte sisenemisjuhtimisega ahelat üksikasjalikult, et mõista nende kahe erinevust.

Mis on loopi jaoks?

Loop on sisenemiskontrolli avaldus, mida kasutatakse teatud avalduste korduvaks täitmiseks koos avalduse kindla väärtuse korduva testimisega, kas see on tõene või vale. For silmust kasutatakse kindlate silmuste jaoks, kui iteratsioonide arv on teada. Kindlad aasad on need, mis aheldavad teatud arvu kordi. Sest silmuseid kasutatakse ainult koodi pisut lühemaks muutmiseks, aga ka teiste C-programmeerijate hõlpsamaks lugemiseks. See tundub asjakohane, kui lähtestamine ja juurdekasv on loogiliselt seotud ja on üksikud väited. For avalduses kasutatakse silmuskontrolli muutujat, pakkudes teile ühes kompaktses avalduses automaatselt kolme toimingut: lähtestamine, hindamine ja suurendamine.

Mis on Kuigi Loop?

Erinevalt silmusest kasutatakse silmust tähtajatute silmuste jaoks, kus iteratsioonide arv pole teada. See tähendab, et ahel jätkab lõpmatu arv kordi täitmist, kuni ja kui tingimus pole täidetud. See on lihtsaim silmusekontrolli avaldus, mida kasutatakse C programmeerimisel tähtajatute silmuste täitmiseks. See täidab sihtklahvi korduvalt, kuni antud tingimus on tõene. See on programmeerimisel kõige põhilisem silmus, milles on ainult üks juhtelement, mis töötab seni, kuni see tingimus on täidetud. Niipea, kui tingimus muutub valeks, peatab see ahela täitmise ja suunab juhtimisõiguse avaldusele, mis järgneb vahetult ahelale. See on asjakohane, kuna te ei tea täpselt, mitu korda kasutaja soovib silmust korrata.

Erinevus silmuse jaoks

Põhitõed

- Ehkki nii sisenemise kontrollsilmuste kui ka nende ajal kasutatakse koodiploki (de) korduvat täitmist teatud arv kordi, erinevad need funktsioonide poolest. For silmus on mälukasutuse ja kiiruse osas üsna sarnane aja silmusega. Kuid for silmus on eelistatav, kui teate täpselt, mitu korda silmust tuleb korrata. Vastupidi, kuigi silmus on sobiv juhul, kui täpne iteratsioonide arv pole teada, see tähendab, et te ei tea, mitu korda silmust tuleb korrata.

Süntaks

- „Loopi” süntaks on:

jaoks (avaldis 1; avaldis 2; avaldis 3)

{// avaldused….

}

Siin väljend 1 = initsialiseerimisavaldus; Lause 2 = silmuse moodustamise tingimus; ja avaldis 3 = värskenduse avaldus.

Süntaks sõna „while loop“ jaoks on „

kuigi (tingimus)

{// avaldus (ed) ...

}

Siin võib avaldus olla üksik või lausete plokk. Loop jätkab täitmist, kuni tingimus on tõene, ja lõpeb, kui tingimus on vale.

Kasutage

 - For silmust kasutatakse siis, kui kasutaja soovib midagi kindla aja jooksul teha. See on sisenemise kontrolli avaldus, mida kasutatakse teatud avalduste korduvaks täitmiseks. See on eelistatav, kui me teame täpselt, mitu korda silmust eelnevalt korratakse. Teisalt, samas kui silmust kasutatakse tähtajatute silmuste jaoks, see tähendab, et meil pole aimugi, mitu korda silmust korratakse. Samal ajal kui tsükkel töötab lõpmatu arv kordi, kuni tingimus on täidetud.

Seisund

 - Loopi silmusel on loendusmuutuja, mis võimaldab arendajal täpsustada, mitu korda silmus täidetakse. C-programmeerimisel võivad silmuste vastassuunalised muutujad deklareerida ise. Vastupidi, puudub sisseehitatud silmuskontrolli muutuja, millel oleks mingi ajaline silmus. Selle asemel saate määrata mis tahes tingimuse, mille väärtus on kas tõene või vale. Kui ahela jaoks pole tingimust täpsustatud, itreerib ahel lõpmatu arv kordi, samas kui ahela ajal näitab see kompileerimisviga.

Vastupidise silmuse jaoks: võrdlusdiagramm

Kokkuvõte vormingust vs silmus

Ehkki mõlemad sisenemiskontrollisilmused on üsna sarnased ja teenivad põhimõtteliselt sama eesmärki, on for for silmuse anatoomia pisut erinev kui mõne aja silmus. Mõnel ajal pole silmusel sisseehitatud ahela juhtmuutujat, nagu see on for silmuse jaoks; selle asemel tuleb täpsustada avaldis, mis sarnaneb silmuse ahelas täpsustatud testi avaldisega. Mõne aja silmuse korral täpsustatakse aga avaldist, et hinnata tingimust õigeks või valeks. Erinevalt silmusest kasutatakse silmust, kui meil pole aimugi, mitu korda silmus täidetakse.

Viited

  • Sherif, William. C ++ õppimine, luues mänge UE4 abil. Birmingham: Packt Publishing, 2015. Trükk
  • Bennett, Gary jt. Objektiiv-C absoluutsete algajate jaoks. New York: Apress, 2010. Trükk
  • Farrell, Joyce. Piisab programmeerimisloogikast ja disainist. Boston, Massachusetts: Cengage, 2012. Trükk
  • Piltkrediit: https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/While-loop-diagram.svg/500px-While-loop-diagram.svg.png
  • Piltkrediit: https://commons.wikimedia.org/wiki/File:For_loop.png