Bucle în C: For, While, Do While looping Declarații [Exemple]

Ce este Loop în C?

Looping Declarații în C executați secvența de instrucțiuni de mai multe ori până când condiția enunțată devine falsă. O buclă în C constă din două părți, un corp al unei bucle și o instrucțiune de control. Declarația 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 C este de a repeta același cod de mai multe ori.

Tipuri de bucle în C

În funcție de poziția unei instrucțiuni de control într-un program, looping Instrucțiunile în C se clasifică în două tipuri:

1. Bucla controlată de intrare

2. Ieșiți din bucla controlată

Într-o bucla de control de intrare în C, o condiție este verificată înainte de a executa corpul unei bucle. Se mai numește și buclă de pre-verificare.

Într-o ieșire din bucla controlată, o condiție este verificată după executarea corpului unei bucle. Se mai numește și buclă post-verificare.

Tipuri de bucle în C
Buclă de probă

Condițiile de control trebuie să fie bine definite și specificate, altfel bucla se va executa de un număr infinit de ori. Bucla care nu se oprește din execuție și procesează instrucțiunile de număr de ori este numită ca an buclă infinită. O buclă infinită este numită și „Buclă fără sfârșit.” Următoarele sunt câteva caracteristici ale unei bucle infinite:

1. Nu este specificată nicio condiție de terminare.

2. Condițiile specificate nu se îndeplinesc niciodată.

Condiția specificată determină dacă se execută sau nu corpul buclei.

Limbajul de programare „C” ne oferă trei tipuri de constructe bucle:

1. Bucla while

2. Bucla do-while

3. Bucla for

Sr. Nr. Tip buclă Descriere
1. În timp ce Loop În bucla 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.
2. Bucla Do-While Într-o buclă do…while, condiția este întotdeauna executată după corpul unei bucle. Se mai numește și buclă controlată de ieșire.
3. Pentru Loop Într-o buclă for, valoarea inițială este executată o singură dată, apoi condiția testează și compară contorul cu o valoare fixă ​​după fiecare iterație, se opreșteping bucla for când se returnează fals.

While Loop în C

O buclă while este cea mai simplă metodă de rezolvare.ping Structură. Sintaxa buclei While în limbajul de programare C este următoarea:

Sintaxa buclei While în C

while (condition) {
             statements;
}

Este o buclă controlată de intrare. În bucla 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 revine la început, iar 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ă.

După ieșirea din buclă, controlul trece la instrucțiunile care sunt imediat după buclă. Corpul unei bucle poate conține mai multe instrucțiuni. Dacă conține o singură declarație, atunci acoladele nu sunt obligatorii. Este o practică bună să folosiți bretele chiar dacă avem o singură declarație în corp.

În bucla while, dacă condiția nu este adevărată, atunci corpul unei bucle nu va fi executat, nici măcar o dată. Este diferit în bucla do while pe care o vom vedea în curând.

Următorul program ilustrează bucla while în exemplul de programare C:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

ieșire:

1
2
3
4
5
6
7
8
9
10

Programul de mai sus ilustrează utilizarea buclei while. În programul de mai sus, am tipărit serii de numere de la 1 la 10 folosind o buclă while.

While Loop în C
While Loop în programarea C
  1. Am inițializat o variabilă numită num cu valoarea 1. Vom imprima de la 1 la 10, prin urmare variabila este inițializată cu valoarea 1. Dacă doriți să imprimați de la 0, atunci atribuiți valoarea 0 în timpul inițializării.
  2. Într-o buclă while, am furnizat o condiție (num<=10), ceea ce înseamnă că bucla va executa corpul până când valoarea lui num devine 10. După aceea, bucla se va termina, iar controlul va cădea în afara buclei.
  3. În corpul unei bucle, avem o funcție de tipărire pentru a tipări numărul nostru și o operație de incrementare pentru a crește 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 10 și apoi va tipări seria pe consolă și va termina bucla. .

\n este folosit în scopuri de formatare, ceea ce înseamnă că valoarea va fi imprimată pe o nouă linie.

Bucla Do-While în C

O buclă do...while în C 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.

Sintaxa buclei do while în limbajul de programare C este următoarea:

Sintaxa buclei Do-While în C

 do {
  statements
} while (expression);

După cum am văzut într-o buclă while, corpul este executat dacă și numai dacă condiția este adevărată. În unele cazuri, trebuie să executăm un corp al buclei cel puțin o dată, chiar dacă condiția este falsă. Acest tip de operație poate fi realizat prin utilizarea unei bucle do-while.

Î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, altfel controlul este transferat din buclă.

Similar cu bucla while, odată ce controlul iese din buclă, instrucțiunile care sunt imediat după ce bucla este executată.

Diferența critică dintre bucla while și do-while este că în bucla while, while este scris la început. În bucla do-while, condiția while este scrisă la sfârșit și se termină cu punct și virgulă (;)

Următorul program de buclă în C ilustrează funcționarea unei bucle do-while:

Mai jos este o buclă do-while în C exemplu pentru a tipări un tabel cu numărul 2:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

ieșire:

2
4
6
8
10
12
14
16
18
20

În exemplul de mai sus, am tipărit tabelul de înmulțire de 2 folosind o buclă do-while. Să vedem cum a reușit programul să imprime seria.

Bucla Do-While în C
Do-While Loop în programarea C
  1. Mai întâi, am inițializat o variabilă „num” cu valoarea 1. Apoi am scris o buclă do-while.
  2. Într-o buclă, avem o funcție de imprimare care va tipări seria prin înmulțirea valorii lui num cu 2.
  3. După fiecare creștere, valoarea lui num va crește cu 1 și va fi imprimată pe ecran.
  4. Inițial, valoarea lui num este 1. Într-un corp al unei bucle, funcția de imprimare va fi executată în felul acesta: 2*num unde num=1, apoi 2*1=2 deci se va tipări valoarea doi. Acest lucru va continua până când valoarea lui num devine 10. După acea buclă se va termina și o instrucțiune care este imediat după buclă va fi executată. În acest caz returnați 0.

bucla pentru în C

O buclă for este o structură de buclă mai eficientă în programarea „C”. Structura generală a sintaxei buclei for în C este următoarea:

Sintaxa buclei For în C

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • Valoarea inițială a buclei for este efectuată o singură dată.
  • Condiția este o expresie booleană care testează și compară contorul cu o valoare fixă ​​după fiecare iterație, oprireping bucla for când se returnează fals.
  • Creșterea/decrementarea crește (sau scade) contorul cu o valoare setată.

Următorul program ilustrează bucla for în exemplul de programare C:

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

ieșire:

1
2
3
4
5
6
7
8
9
10

Programul de mai sus tipărește seria de numere de la 1 la 10 folosind bucla for.

bucla pentru în C
Pentru programare buclă în C
  1. Am declarat a variabil a unui tip de date int pentru a stoca valori.
  2. În bucla for, în partea de inițializare, am atribuit valoarea 1 numărului variabilei. În partea de stare, am specificat starea noastră și apoi partea de increment.
  3. În corpul unei bucle, avem o funcție de tipărire pentru a imprima numerele pe o nouă linie din consolă. Avem valoarea unu stocată în număr, după prima iterație valoarea va fi incrementată, iar aceasta va deveni 2. Acum numărul variabilului are valoarea 2. Condiția va fi reverificată și deoarece condiția este adevărată se va executa bucla, și va imprima două pe ecran. Această buclă va continua să se execute până când valoarea variabilei devine 10. După aceea, bucla se va termina și o serie de 1-10 va fi imprimată pe ecran.

În C, bucla for poate avea mai multe expresii separate prin virgule în fiecare parte.

De exemplu:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

De asemenea, putem sări peste expresia valorii inițiale, condiția și/sau creșterea prin adăugarea unui punct și virgulă.

De exemplu:

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

Observați că buclele pot fi, de asemenea, imbricate acolo unde există o buclă exterioară și o buclă interioară. Pentru fiecare iterație a buclei exterioare, bucla interioară își repetă întregul ciclu.

Luați în considerare următorul exemplu cu mai multe condiții în bucla for, care utilizează bucla for imbricată în programarea C pentru a scoate o tabelă de înmulțire:

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

ieșire:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

Imbricarea buclelor for se poate face până la orice nivel. Buclele imbricate ar trebui să fie indentate adecvat pentru a face codul ușor de citit. În unele versiuni de „C”, imbricarea este limitată la 15 bucle, dar unele oferă mai multe.

Buclele imbricate sunt utilizate mai ales în aplicațiile matrice pe care le vom vedea în tutoriale ulterioare.

Break Statement în C

Declarația break este folosită în principal în declarație de comutareDe asemenea, este util pentru oprirea imediatăping O buclă.

Luăm în considerare următorul program care introduce o pauză pentru a ieși dintr-o buclă while:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

ieșire:

5
4

Continuați Declarația în C

Când doriți să treceți la următoarea iterație, dar să rămâneți în buclă, ar trebui să utilizați instrucțiunea continue.

De exemplu:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

ieșire:

6
4
3
2
1

Deci, valoarea 5 este omisă.

Ce buclă să selectați?

Selectarea unei bucle este întotdeauna o sarcină dificilă pentru un programator, pentru a selecta o buclă, faceți următorii pași:

  • Analizați problema și verificați dacă necesită o buclă pre-test sau post-test.
  • Dacă este necesară testarea prealabilă, folosiți o perioadă de timp sau pentru o buclă.
  • Dacă este necesar un post-test, utilizați o buclă do-while.

Rezumat

  • Definiți bucla în C: O buclă este unul dintre conceptele cheie pentru orice Limbaj de programare. Buclele în limbajul C sunt implementate folosind instrucțiuni condiționale.
  • Un bloc de instrucțiuni de control al buclei în C sunt executate de un număr de ori până când condiția devine falsă.
  • Buclele în programarea C sunt de 2 tipuri: controlate de intrare și controlate de ieșire.
  • Listați diferite instrucțiuni de control al buclei în C: programarea C ne oferă 1) while 2) do-while și 3) pentru instrucțiuni de control al buclei.
  • Programarea buclei For și while C sunt bucle controlate de intrare în limbajul C.
  • Do-while este o buclă de control de ieșire în C.

Rezumați această postare cu: