Diferența dintre bucla while și do-while în C
Diferențele cheie între bucla while și do-while în C
- While loop verifică mai întâi condiția și apoi execută instrucțiunile, în timp ce do while loop va executa instrucțiunile cel puțin o dată, apoi condiția este verificată.
- While loop este bucla controlată de intrare, în timp ce do while este bucla controlată de ieșire.
- În bucla while, nu trebuie să adăugăm un punct și virgulă la sfârșitul unei condiții while, dar trebuie să adăugăm un punct și virgulă la sfârșitul condiției while în bucla do-while.
- Instrucțiunile while buclei sunt executate de zero ori dacă condiția este falsă, în timp ce instrucțiunea do-while este executată cel puțin o dată.
- Bucla while permite inițializarea variabilei contorului înainte de a începe corpul unei bucle, în timp ce bucla do while permite inițializarea variabilei contorului înainte și după pornirea corpului unei bucle.
Ce sunt buclele?
O buclă execută secvența de instrucțiuni de mai multe ori până când condiția declarată devine falsă. A buclă constă din două părți, un corp al unei bucle și o instrucțiune de control. Instrucțiunea de control este o combinație a unor condiții care direcționează corpul buclei să se execute până când condiția specificată devine falsă. Scopul buclei este de a repeta același cod de mai multe ori.
Ce este While Loop?
O buclă While este cea mai simplă structură de buclă. Este o buclă controlată de intrare. Într-o buclă while, o condiție este evaluată înainte de procesarea unui corp al buclei. Dacă o condiție este adevărată, atunci și numai atunci corpul unei bucle este executat.
După ce corpul unei bucle este executat, controlul se întoarce din nou la început și condiția este verificată. Dacă este adevărat, același proces este executat până când condiția devine falsă. Odată ce condiția devine falsă, controlul iese din buclă.
Într-o buclă while, dacă condiția nu este adevărată, atunci corpul unei bucle nu va fi executat, nici măcar o dată.
Ce este o buclă Do-While?
O buclă Do-while este similară cu bucla while, cu excepția faptului că condiția este întotdeauna executată după corpul unei bucle. Se mai numește și buclă controlată de ieșire.
În bucla do-while, corpul unei bucle este întotdeauna executat cel puțin o dată. După ce corpul este executat, apoi verifică starea. Dacă condiția este adevărată, atunci va executa din nou corpul unei bucle. În caz contrar, controlul este transferat din buclă.
Sintaxa buclei While în C
Iată o sintaxă a buclei While în programarea C:
while (condition) { statements; }
În bucla while, trebuie să scriem o condiție care trebuie evaluată. Declarația din acolade indică codul care trebuie executat.
Sintaxă Do While Loop în C
Iată o sintaxă a lui Do while loop in programare C:
do { statements } while (expression);
În bucla do-while, trebuie să scriem mai întâi declarația în acolade, care indică codul care trebuie executat. După aceasta, trebuie să menționăm Java, C sau C++ expresii de program care trebuie evaluate.
Cum funcționează While Loop?
Bucla while funcționează după cum urmează:
Explicația diagramei de flux:
Pas 1) Începutul buclei while
Pas 2) Expresia sau condiția testului este evaluată
Pas 3) Apoi, dacă expresia de test este adevărată, programul execută corpul buclei do-while
Pas 4) Dacă expresia de test este falsă, programul în afara buclei while este executat
Cum funcționează bucla Do-While?
Bucla Do-while funcționează după cum urmează:
Explicația diagramei de flux:
Pas 1) Începeți bucla do-while
Pas 2) Corpul buclei do-while este executat
Pas 3) Expresia sau condiția testului este evaluată
Pas 4) Dacă expresia de test este adevărată, compilatorul execută corpul buclei do-while
Pas 5) Apoi, dacă expresia de test este falsă, compilatorul execută instrucțiunile după corpul buclei
Pas 6) Declarațiile care vin după ce corpul buclei sunt executate
Bucla While vs Do-While: Diferența dintre ele
Iată o diferență importantă între While și Do While Loop:
In timp ce | Face în timp ce |
---|---|
Verifică mai întâi condiția și apoi execută instrucțiunile | Această buclă va executa instrucțiunile cel puțin o dată, apoi condiția este verificată. |
Bucla While permite inițializarea variabilelor contorului înainte de a începe corpul unei bucle. | Do while loop permite inițializarea variabilelor contorului înainte și după pornirea corpului unei bucle. |
Este o buclă controlată de intrare. | Este o buclă controlată de ieșire. |
Nu este nevoie să adăugăm un punct și virgulă la sfârșitul unei condiții de timp. | Trebuie să adăugăm un punct și virgulă la sfârșitul condiției while. |
În cazul unei singure declarații, trebuie să adăugăm paranteze. | Brackets sunt întotdeauna necesare. |
În această buclă, condiția este menționată la începutul buclei. | Condiția buclei este specificată după executarea blocului. |
Instrucțiunile pot fi executate de zero ori dacă condiția este falsă. | Declarația se execută cel puțin o dată. |
În general, bucla while este scrisă ca:
while (condition) { Statements; // loop body } |
În general, bucla while este scrisă ca:
do{ Statements; //loop body } while (condition); |
Exemplu de buclă While în C
Următorul program ilustrează bucla while în programarea C cu un exemplu:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable with value 1 while(num<=4) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
ieșire:
1 2 3 4
Programul de mai sus ilustrează utilizarea unei bucle while. În codul de mai sus, am tipărit o serie de numere de la 1 la 4 folosind o buclă while.
Am inițializat o variabilă numită num cu valoarea 1. Vom imprima de la 1 la 4. Prin urmare variabila este inițializată cu valoarea 1. Dacă vrem să tipărim de la 0, atunci atribuiți valoarea 0 în timpul inițializării.
Apoi, într-o buclă while, am furnizat o condiție (num<=4), ceea ce înseamnă că bucla va executa corpul până când valoarea lui num devine 4. După aceea, bucla se va termina, iar controlul va cădea în afara buclă.
În corpul unei bucle, avem o funcție de tipărire pentru a tipări numărul nostru și un operator de incrementare pentru a incrementa valoarea pe execuția unei bucle.
O valoare inițială a num este 1, după execuție, va deveni 2, iar în timpul execuției următoare, va deveni 3. Acest proces va continua până când valoarea devine 4, apoi va tipări seria pe consolă și se va termina bucla.
Exemplu Do While Loop în C
Următorul program este un exemplu de buclă Do-while pentru a tipări un tabel cu numărul 2 în C:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable with value 1 do //do-while loop { printf("%d\n",2*num); num++; //incrementing operation } while(num<=4); return 0; }
ieșire:
2 4 6 8
În exemplul de mai sus, am tipărit o tabelă de înmulțire de 2 folosind o buclă do-while. Mai întâi, am inițializat o variabilă „num” cu valoarea 1. Apoi am scris o buclă do-while.
Într-o buclă, avem o funcție de tipărire care va tipări seria înmulțind valoarea lui num cu 2. După fiecare creștere, valoarea lui num va crește cu 1 și va fi imprimată pe ecran.
Inițial, valoarea lui num este 1. Într-un corp al unei bucle, funcția de imprimare va fi executată în acest fel: 2*num unde num=1, apoi 2*1=2.
Prin urmare, valoarea 2 va fi imprimată. Aceasta va continua până când valoarea lui num devine 10. În continuare, bucla va fi încheiată și o instrucțiune care este imediat după buclă va fi executată. În acest caz, va returna 0.
Pe care ar trebui să-l alegem?
Când verificăm o condiție, dacă prima iterație este obligatorie, trebuie să folosim bucla while. Poate fi folosit și dacă numărul de iterații este necunoscut sau incert.
Do while loop necesită în principal în cazul în care trebuie să executăm bucla minim o dată. Bucla do-while este de obicei necesară într-un limbaj de programare condus de meniu, în care condiția finală se bazează pe utilizatorul final.