Do while vs while în C++ - Care e diferența?
În C++ există trei instrucțiuni repetitive de bază: for
, while
și do while
. Structurile while
și do while
sunt foarte asemănătoare, însă
totuși trebuie avut grijă când se folosesc.
Dacă vreți să aflați mai multe despre aceste structuri repetitive, urmăriți acest articol în detaliu.
Structura while
Structura while
are următoarea sintaxă:
while(condiție) {
instrucțiune 1;
instrucțiune 2;
…
}
Modul de funcționare a structurii repetitive while
este următorul:
- Verificăm
condiția
; - Dacă este adevărată, executăm instrucțiunile dintre acolade (
{}
); altfel, ieșim dinwhile
; - Verificăm iar
condiția
; - Din nou, dacă este adevărată, executăm instrucțiunile dintre acolade (
{}
); altfel, ieșim dinwhile
; - Și așa mai departe, până când se iese din
while
.
Mai exact, pentru structura while
, mai întâi se verifică condiția, după care
se execută codul.
Structura do while
Structura do while
are următoarea structură:
do {
instrucțiune 1;
instrucțiune 2;
…
} while(condiție);
Modul de funcționare a instrucțiunii repetitive do while
este următorul:
- Se execută instrucțiunile dintre acolade (
{}
); - Se verifică
condiția
; dacă este adevărată, se execută iar instrucțiunile (altfel se iese din structură); - Și așa mai departe.
Mai exact, pentru structura do while
, se execută codul mai întâi, după care
se verifică condiția.
Diferența dintre do while
și while
Putem trage următoarea concluzie: do while
este exact ca și while
, doar că
execută codul dintre acolade cel puțin odată.
Transformarea instrucțiunii do while
în while
Pentru a transforma următoarea structură do while
într-una while
, vom
copia instrucțiunile și le vom rula înainte de while
(pentru a le executa
cel puțin odată).
do {
instrucțiune 1;
instrucțiune 2;
…
} while(condiție);
Devine:
instrucțiune 1;
instrucțiune 2;
…
while(condiție) {
instrucțiune 1;
instrucțiune 2;
…
}
Transformarea instrucțiunii while
în do while
Do while
va executa codul cel puțin odată. Așadar, va trebui să imbricăm
codul într-un if
, prin care să verificăm dacă condiția este adevărată:
while(condiție) {
instrucțiune 1;
instrucțiune 2;
…
}
Devine:
if(condiție) {
do {
instrucțiune 1;
instrucțiune 2;
…
} while(condiție);
}
DS
Autorul acestei lecții
Dominic Satnoianu
Această lecție a fost redactată de către Dominic Satnoianu.
© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.
Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.
Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.
Comentarii 0