Mis on aas?
See on korduste juhtimisstruktuur, mis aitab meil kindla arvu kordade kaupa C ++ koodi jaotist korrata. A silmusjooksude jaoks tingimusel, et testi avaldis vastab tõele. Silmus lõpetab täitmise kohe, kui testväljend muutub valeks. See tähendab, et enne silmusekeha täitmist igas iteratsioonis tuleb seisundit hinnata. Kui hindamine tagastab tõese, käivitatakse tsükli keha. Kui hindamine tagastab vale, lõpetatakse tsükli keha käivitamine.
Selles C ++ õpetuses saate teada:
- Mis on aas?
- Kuidas silmus töötab?
- Millal kasutada loopi jaoks?
- Lingi süntaks
- Näide 1
- Näide 2
Kuidas silmus töötab?
For loop töötab järgmiselt:
Voo diagramm Selgitus:
- C ++ keele kompilaator alustab initsialiseerimise hindamist. Seda tehakse ainult üks kord, kui käivitamine algab.
- Testi väljendus hinnatakse / täidetakse.
- Kui testväljend on tõene, käivitatakse silmuse keha ja testavaldist värskendatakse. Kui avaldis muutub valeks, lõpeb for loop silmus.
- Pärast testi avaldise täitmist sooritatakse juurdekasv tsükli juhtmuutuja väärtuse suurendamiseks.
- Testväljendit hinnatakse uuesti ja protsess jätkub seni, kuni avaldis muutub valeks.
- Kui eksorsioon on vale, jäetakse silmuse keha avaldused vahele.
Märkus . Testi väljendit värskendatakse pärast iga iteratsiooni. See tähendab, et igas iteratsioonis käivitatakse silmuse juhtmuutuja erinevad väärtused.
Millal kasutada loopi jaoks?
Silmust for tuleks kasutada, kui:
- Teil on kindel arv kordusi.
- Te teate täpset korduste arvu.
Lingi süntaks
Siin on for loopi süntaks:
for ( initialization;condition;increment ) {statement(s);}
Siin on ülaltoodud parameetrite selgitus:
- Initsialiseerimine: see osa käivitatakse kõigepealt ja ainult üks kord. Siin deklareerite ja lähtestate silmusjuhtimise muutujad. Silmusjuhtimise muutujad võivad olla rohkem kui üks ja nende väärtused muutuvad pärast iga iteratsiooni. Kuid enne iteratsiooni käivitamist tuleb nende väärtusi hinnata.
- Tingimus: see osa täidetakse järgmisena. Silmuse keha täitmiseks peab see tingimus olema tõene. Kui tingimus on vale, hüpatakse käivitamine kohe pärast silmusetaili lausete juurde. Kui tingimus on esimesel hindamisel vale, ei käivitata silmuse keha kunagi.
- Inkrement: Kui silmusekeha on täidetud, hüppab juht juurdekasvule. Võite selle osa välja jätta ja kasutada selle asemel semikoolonit.
- Jällegi hinnatakse seisundit. Kui see on tõsi, käivitatakse silmuse keha ja see jätkub. Silmus lõpeb kohe, tingimus muutub valeks.
Näide 1
#includeusing namespace std;int main() {for (int x=0; x<5; x=x+1) {cout << "X is: " << x << endl;}return 0;}
Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
- Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
- For loopi loomine. Initsialiseerimine loob täisarvu muutuja x ja määrab sellele väärtuse 0. Tingimus ütleb, et x väärtus peab olema väiksem kui 5. Inkrement suurendab iga korduse järel x väärtust 1 võrra. {Tähistab for-silmuse keha algust.
- Muutuja x väärtuse printimiseks konsooli muu teksti kõrvale. Lõpp on C ++ märksõna, mis tähendab lõppjoont. Kursor prinditakse järgmise iteratsiooni järgmisele reale.
- Silmuskorpuse ots.
- Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
- Põhifunktsiooni () keha lõpp.
Näide 2
#includeusing namespace std;int main(){int x, num, factorial = 1;cout << "Type positive number: ";cin>> num;for (x = 1; x <= num; ++x) {factorial *= x; // factorial = factorial * x;}cout << "Factorial of " << num << " = " << factorial;return 0;}
Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
- Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika.
- {Tähistab põhifunktsiooni () keha algust.
- Täisarvu muutujate, x, num ja faktoriaalide deklareerimine. Muutujale faktoriaal on määratud väärtus 1.
- Konsoolile teksti printimine.
- Kasutaja palumine sisestada väärtus muutujale nr.
- For loopi loomine. Initsialiseerimine loob täisarvu muutuja x ja määrab sellele väärtuse 1. Tingimus ütleb, et x väärtus peab olema väiksem või võrdne muutuja num väärtusega. Inkrement suurendab x väärtust iga korduse järel 1 võrra. {Tähistab for-silmuse keha algust.
- Faktooriumi väärtuse arvutamine valemiga faktoriaal = faktoriaal * x.
- Silmuskorpuse ots.
- Muutujate num ja factorial väärtuse printimiseks konsooli muu teksti kõrvale.
- Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
- Põhifunktsiooni () keha lõpp.
Kokkuvõte
- For silmus kordab C ++ koodi osa fikseeritud arvu kordi.
- For silmus töötab seni, kuni testi tingimus on tõene.
- Silmuse initsialiseerimise osa on kõigi silmusekontrolli muutujate deklareerimiseks ja initsialiseerimiseks.
- Tsükli tingimusosa peab tõene olema, et tsükli keha saaks käivitada.
- For-silmuse juurdekasvu osa saab asendada semikooloniga.