Stăpânirea buclelor While și Do While în C: Ghid pentru începători

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Buclele sunt un concept fundamental în programare care vă permit să executați un bloc de cod în mod repetat până când este îndeplinită o condiție specificată. În C, două constructe de buclă utilizate în mod obișnuit sunt while buclă și do while buclă. În calitate de programator C începător, înțelegerea modului de utilizare eficientă a acestor bucle este crucială pentru scrierea unui cod eficient și concis. În acest articol, ne vom scufunda adânc în funcționarea while şi do while bucle, explorați sintaxa acestora și oferiți exemple practice pentru a vă consolida înțelegerea.

Înainte de a ne aprofunda în specificul while şi do while bucle, să înțelegem mai întâi ce sunt buclele și de ce sunt importante. Buclele oferă o modalitate de automatizare a sarcinilor repetitive în programare. În loc să scrieți manual același cod de mai multe ori, puteți utiliza o buclă pentru a executa un bloc de cod în mod repetat, pe baza unei anumite condiții. Acest lucru nu numai că economisește timp și efort, dar face și codul mai ușor de citit și mai ușor de întreținut.

The while bucla este cea mai simplă construcție de buclă din C. Vă permite să executați în mod repetat un bloc de cod atâta timp cât o condiție specificată este adevărată. Iată sintaxa generală a lui a while buclă:

while (condition) {
    // code block to be executed
}

The condition este o expresie booleană care este evaluată înainte de fiecare iterație a buclei. Dacă condiția este adevărată, blocul de cod din interiorul buclei este executat. Acest proces continuă până când condiția devine falsă.

Iată un exemplu simplu care demonstrează utilizarea a while buclă:

#include 

int main() {
    int count = 0;
    
    while (count < 5) {
        printf("Count: %dn", count);
        count++;
    }
    
    return 0;
}

Ieșire:

Count: 0
Count: 1
Count: 2
Count: 3
Count: 4

În acest exemplu, while bucla continuă să se execute atâta timp cât valoarea lui count este mai mică de 5. În interiorul buclei, imprimăm valoarea curentă a count și creșteți-l cu 1 folosind count++ declaraţie. Bucla se termină când count ajunge la 5.

Puncte importante de reținut

  1. Condiția din a while bucla este verificată la începutul fiecărei iterații. Dacă condiția este falsă de la început, corpul buclei nu va fi executat deloc.

  2. Asigurați-vă că includeți o declarație în buclă care modifică condiția, altfel veți ajunge cu o buclă infinită. În exemplul de mai sus, creștem count pentru a se asigura că bucla se termină în cele din urmă.

  3. Fiți atenți la erorile individuale. În exemplu, bucla rulează de la 0 la 4 (inclusiv), nu de la 1 la 5. Ajustați condiția în consecință în funcție de cerințele dvs.

The do while bucla este similară cu while buclă, dar cu o singură diferență cheie: condiția este verificată la sfârșitul fiecărei iterații în loc de la început. Aceasta înseamnă că blocul de cod din interiorul buclei este garantat să se execute cel puțin o dată, chiar dacă condiția este inițial falsă. Iată sintaxa generală a lui a do while buclă:

do {
    // code block to be executed
} while (condition);

Rețineți punctul și virgulă (;) după while stare. Acest lucru este necesar pentru do while sintaxa buclei.

Să ne uităm la un exemplu care demonstrează utilizarea a do while buclă:

#include 

int main() {
    int number;
    
    do {
        printf("Enter a number (0 to exit): ");
        scanf("%d", &number);
        printf("You entered: %dn", number);
    } while (number != 0);
    
    printf("Exiting the loop.n");
    
    return 0;
}

Ieșire (execuție eșantion):

Enter a number (0 to exit): 5
You entered: 5
Enter a number (0 to exit): 10
You entered: 10
Enter a number (0 to exit): 0
You entered: 0
Exiting the loop.

În acest exemplu, do while bucla solicită utilizatorului să introducă un număr și tipărește numărul introdus. Bucla continuă să se execute până când utilizatorul introduce 0. Observați că corpul buclei este executat cel puțin o dată, chiar dacă utilizatorul introduce 0 imediat.

Când să utilizați do while vs while

Alegerea între utilizarea unui while buclă sau a do while bucla depinde de cerințele specifice ale programului dvs. Iată câteva îndrumări:

  • Folosiți a while buclă atunci când doriți să verificați condiția înainte de a executa corpul buclei. Acest lucru este util atunci când bucla nu trebuie să ruleze deloc pe baza condiției inițiale.

  • Folosiți a do while buclă atunci când doriți să executați corpul buclei cel puțin o dată, indiferent de condiția inițială. Acest lucru este util atunci când trebuie să solicitați utilizatorului introducerea sau să efectuați unele sarcini de configurare înainte de a verifica starea.

Acum că ai o înțelegere solidă while şi do while bucle, este timpul să vă puneți cunoștințele în practică. Încercați să rezolvați următoarea problemă:

Scrieți un program C care calculează suma numerelor introduse de utilizator până când utilizatorul introduce un număr negativ. Folosiți a do while buclă pentru a implementa această funcționalitate.

Iată soluția:

#include 

int main() {
    int number, sum = 0;
    
    do {
        printf("Enter a number (negative to exit): ");
        scanf("%d", &number);
        
        if (number >= 0) {
            sum += number;
        }
    } while (number >= 0);
    
    printf("Sum of entered numbers: %dn", sum);
    
    return 0;
}

Soluție în terminalul meu

În această soluție, folosim a do while buclă pentru a solicita în mod repetat utilizatorului un număr. Dacă numărul introdus este nenegativ, îl adăugăm la sum variabilă. Bucla continuă până când utilizatorul introduce un număr negativ. În cele din urmă, imprimăm suma tuturor numerelor introduse.

  • Buclele vă permit să executați în mod repetat un bloc de cod pe baza unei condiții.
  • The while bucla verifică condiția la începutul fiecărei iterații și execută corpul buclei dacă condiția este adevărată.
  • The do while bucla execută mai întâi corpul buclei și apoi verifică starea la sfârșitul fiecărei iterații, asigurându-se că corpul buclei rulează cel puțin o dată.
  • Asigurați-vă că includeți o declarație în interiorul buclei care modifică condiția pentru a evita bucle infinite.
  • Alegeți între while şi do while bucle în funcție de dacă doriți să verificați condiția înainte sau după executarea corpului buclei.

Felicitări! Acum ai o înțelegere solidă while şi do while bucle în C. Aceste bucle sunt instrumente esențiale în setul de instrumente de programare, permițându-vă să automatizați sarcini repetitive și să creați cod mai eficient și mai lizibil. Nu uitați să exersați utilizarea buclelor în diferite scenarii pentru a vă consolida înțelegerea și pentru a vă dezvolta abilitățile de rezolvare a problemelor.

Pe măsură ce vă continuați călătoria ca programator C, veți întâlni constructe de buclă mai avansate, cum ar fi for buclă și bucle imbricate. Continuați să explorați și să experimentați cu diferite variații de buclă pentru a deveni un programator C competent.

  1. Care este principala diferență dintre a while buclă și a do while buclă?
    • Principala diferență este că a while loop verifică condiția înainte de a executa corpul buclei, în timp ce a do while bucla execută mai întâi corpul buclei și apoi verifică condiția.
  2. Poate a while buclă executată de zero ori?
    • Da, dacă condiția este falsă de la început, while bucla nu se va executa deloc.
  3. Este necesar să folosiți bretele {} pentru un corp buclă cu o singură declarație?
    • Deși nu este obligatoriu, este considerată o practică bună să folosiți întotdeauna bretele, chiar și pentru corpurile buclei cu o singură declarație. Îmbunătățește lizibilitatea și reduce șansele de erori la modificarea ulterioară a codului.
  4. Ce se întâmplă dacă uit să includ o instrucțiune care modifică condiția buclei?
    • Dacă uitați să includeți o instrucțiune care modifică condiția buclei, veți ajunge cu o buclă infinită. Bucla va continua să se execute pe termen nelimitat, provocând blocarea sau blocarea programului.
  5. Pot folosi un break declarație de a părăsi o buclă prematur?
    • Da, puteți folosi break declarație de a părăsi prematur o buclă. Când este întâlnit, break instrucțiunea încheie imediat bucla și transferă controlul către următoarea instrucțiune după buclă.

Sper că ați găsit acest articol util pentru înțelegere while şi do while bucle în C. Dacă mai aveți întrebări sau aveți nevoie de clarificări cu privire la orice subiect, nu ezitați să întrebați. Codare fericită și nu uitați să împărtășiți acest articol colegilor dvs. programatori C!

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.