Pętle w C: For, While, Do Podczas zapętlania instrukcji [Przykłady]

Co to jest pętla w C?

Instrukcje pętlowe w C wykonaj sekwencję instrukcji wiele razy, aż podany warunek stanie się fałszywy. Pętla w C składa się z dwóch części, ciała pętli i instrukcji sterującej. Instrukcja sterująca jest kombinacją pewnych warunków, które kierują treścią pętli do momentu, aż określony warunek stanie się fałszywy. Celem pętli C jest wielokrotne powtórzenie tego samego kodu.

Rodzaje pętli w C

W zależności od pozycji instrukcji sterującej w programie, instrukcje pętlowe w C dzielą się na dwa typy:

1. Pętla sterowana wejściem

2. Wyjdź z kontrolowanej pętli

W pętla kontroli wejścia w C, warunek jest sprawdzany przed wykonaniem treści pętli. Nazywa się to również pętlą wstępnego sprawdzania.

W wyjście z kontrolowanej pętli, warunek jest sprawdzany po wykonaniu treści pętli. Nazywa się ją również pętlą po sprawdzeniu.

Rodzaje pętli w C
Przykładowa pętla

Warunki sterowania muszą być dobrze zdefiniowane i określone, w przeciwnym razie pętla będzie wykonywana nieskończenie wiele razy. Pętla, która nie zatrzymuje wykonywania i przetwarza polecenia określoną liczbę razy, nazywana jest pętlą nieskończona pętla. Nieskończona pętla nazywana jest także „Nieskończona pętla.” Poniżej przedstawiono niektóre cechy pętli nieskończonej:

1. Nie określono warunku zakończenia.

2. Określone warunki nigdy nie są spełnione.

Podany warunek określa, czy wykonać treść pętli, czy nie.

Język programowania „C” udostępnia nam trzy typy konstrukcji pętli:

1. Pętla while

2. Pętla „do-while”.

3. Pętla for

Sr. No. Rodzaj pętli Opis
1. Podczas pętli W pętli while warunek jest oceniany przed przetworzeniem treści pętli. Jeżeli warunek jest spełniony wtedy i tylko wtedy wykonywany jest korpus pętli.
2. Pętla Do-While W pętli do…while warunek jest zawsze wykonywany po treści pętli. Nazywa się to również pętlą sterowaną wyjściem.
3. Dla pętli W pętli for wartość początkowa jest wykonywana tylko raz, następnie warunek jest sprawdzany i porównywany z wartością stałą po każdej iteracji, a pętla for zostaje zatrzymana po zwróceniu wartości false.

Chociaż pętla w C

Pętla while jest najprostszą strukturą pętli. Składnia pętli while w języku programowania C jest następująca:

Składnia pętli while w C

while (condition) {
             statements;
}

Jest to pętla sterowana wejściem. W pętli while warunek jest oceniany przed przetworzeniem treści pętli. Jeżeli warunek jest spełniony wtedy i tylko wtedy wykonywany jest korpus pętli. Po wykonaniu ciała pętli sterowanie ponownie wraca na początek i sprawdzane jest, czy warunek jest prawdziwy, ten sam proces jest wykonywany, aż warunek stanie się fałszywy. Gdy warunek stanie się fałszywy, sterowanie wyjdzie z pętli.

Po wyjściu z pętli sterowanie przechodzi do instrukcji znajdujących się bezpośrednio po pętli. Ciało pętli może zawierać więcej niż jedną instrukcję. Jeśli zawiera tylko jedno oświadczenie, nawiasy klamrowe nie są obowiązkowe. Dobrą praktyką jest jednak używanie nawiasów klamrowych, nawet jeśli mamy w treści pojedyncze zdanie.

W pętli while, jeśli warunek nie jest spełniony, wówczas treść pętli nie zostanie wykonana, ani razu. Inaczej jest w przypadku pętli do while, którą wkrótce zobaczymy.

Poniższy program ilustruje pętlę while w przykładzie programowania w języku 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;
}

Wyjście:

1
2
3
4
5
6
7
8
9
10

Powyższy program ilustruje użycie pętli while. W powyższym programie wydrukowaliśmy serię liczb od 1 do 10 za pomocą pętli while.

Chociaż pętla w C
Podczas pętli w programowaniu w C
  1. Zainicjowaliśmy zmienną o nazwie num wartością 1. Będziemy drukować od 1 do 10, dlatego zmienna jest inicjowana wartością 1. Jeśli chcesz drukować od 0, przypisz wartość 0 podczas inicjalizacji.
  2. W pętli while podaliśmy warunek (num<=10), co oznacza, że ​​pętla wykona treść, aż wartość num osiągnie 10. Następnie pętla zostanie zakończona, a sterowanie wypadnie poza pętlę.
  3. W ciele pętli mamy funkcję drukowania, aby wydrukować naszą liczbę i operację zwiększania, aby zwiększyć wartość przy każdym wykonaniu pętli. Początkowa wartość num wynosi 1, po wykonaniu stanie się 2, a podczas następnego wykonania stanie się 3. Ten proces będzie kontynuowany, aż wartość stanie się 10, a następnie wydrukuje serię na konsoli i zakończy pętlę.

\n służy do celów formatowania, co oznacza, że ​​wartość zostanie wydrukowana w nowej linii.

Pętla Do-While w C

Pętla do…while w C jest podobna do pętli while, z tą różnicą, że warunek jest zawsze wykonywany po treści pętli. Nazywa się to również pętlą sterowaną wyjściem.

Składnia pętli do while w języku programowania C jest następująca:

Składnia pętli Do-While w C

 do {
  statements
} while (expression);

Jak widzieliśmy w pętli while, ciało jest wykonywane wtedy i tylko wtedy, gdy warunek jest prawdziwy. W niektórych przypadkach musimy wykonać ciało pętli przynajmniej raz, nawet jeśli warunek jest fałszywy. Ten typ operacji można osiągnąć, używając pętli do-while.

W pętli do-while ciało pętli jest zawsze wykonywane przynajmniej raz. Po wykonaniu ciała sprawdzany jest warunek. Jeśli warunek jest prawdziwy, ponownie zostanie wykonane ciało pętli, w przeciwnym razie sterowanie jest przenoszone poza pętlę.

Podobnie jak w przypadku pętli while, gdy sterowanie wyjdzie z pętli, wykonywane są instrukcje znajdujące się bezpośrednio po pętli.

Zasadnicza różnica pomiędzy pętlą while i do-while polega na tym, że w pętli while pętla while jest zapisywana na początku. W pętli do-while warunek while jest zapisywany na końcu i kończy się średnikiem (;)

Poniższy program pętli w języku C ilustruje działanie pętli do-while:

Poniżej znajduje się pętla do-while w przykładzie C, która pozwala wydrukować tabelę nr 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;
}

Wyjście:

2
4
6
8
10
12
14
16
18
20

W powyższym przykładzie wydrukowaliśmy tabliczkę mnożenia liczby 2 za pomocą pętli do-while. Zobaczmy jak program był w stanie wydrukować serię.

Pętla Do-While w C
Pętla Do-While w programowaniu C
  1. Najpierw zainicjowaliśmy zmienną „num” wartością 1. Następnie napisaliśmy pętlę „do-while”.
  2. W pętli mamy funkcję print, która wypisze serię, mnożąc wartość num przez 2.
  3. Po każdym zwiększeniu wartość num wzrośnie o 1 i zostanie wydrukowana na ekranie.
  4. Początkowo wartość num wynosi 1. W treści pętli funkcja print zostanie wykonana w następujący sposób: 2*num gdzie num=1, następnie 2*1=2, stąd zostanie wydrukowana wartość dwa. Dzieje się tak do momentu, aż wartość num osiągnie 10. Po tym czasie pętla zostanie zakończona i wykonana zostanie instrukcja znajdująca się bezpośrednio po pętli. W tym przypadku zwróć 0.

Pętla For w C

Pętla for jest bardziej wydajną strukturą pętli w programowaniu w języku C. Ogólna struktura składni pętli for w C jest następująca:

Składnia pętli For w C

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • Wartość początkowa pętli for jest wykonywana tylko raz.
  • Warunek jest wyrażeniem boolowskim, które testuje i porównuje licznik do ustalonej wartości po każdej iteracji, zatrzymując pętlę for w przypadku zwrócenia wartości false.
  • Zwiększanie/zmniejszanie zwiększa (lub zmniejsza) licznik o zadaną wartość.

Poniższy program ilustruje pętlę for w przykładzie programowania w języku 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;
}

Wyjście:

1
2
3
4
5
6
7
8
9
10

Powyższy program wypisuje serie liczb od 1 do 10 za pomocą pętli for.

Pętla For w C
Dla pętli w programowaniu C
  1. Zadeklarowaliśmy A zmienna typu int do przechowywania wartości.
  2. W pętli for w części inicjalizacyjnej przypisaliśmy numerowi zmiennej wartość 1. W części warunku określiliśmy nasz warunek, a następnie część inkrementacji.
  3. W ciele pętli mamy funkcję drukowania, która drukuje liczby w nowym wierszu w konsoli. Mamy wartość jeden zapisaną w number, po pierwszej iteracji wartość zostanie zwiększona i stanie się 2. Teraz zmienna number ma wartość 2. Warunek zostanie ponownie sprawdzony i ponieważ warunek jest prawdziwy, pętla zostanie wykonana i wydrukuje dwa na ekranie. Ta pętla będzie wykonywana, aż wartość zmiennej stanie się 10. Następnie pętla zostanie zakończona, a na ekranie zostanie wydrukowana seria 1-10.

W języku C pętla for może zawierać wiele wyrażeń oddzielonych przecinkami w każdej części.

Na przykład:

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

Możemy także pominąć wyrażenie wartości początkowej, warunek i/lub przyrost, dodając średnik.

Na przykład:

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

Zauważ, że pętle można także zagnieżdżać tam, gdzie istnieje pętla zewnętrzna i pętla wewnętrzna. Dla każdej iteracji pętli zewnętrznej pętla wewnętrzna powtarza cały swój cykl.

Rozważmy następujący przykład z wieloma warunkami w pętli for, która wykorzystuje zagnieżdżoną pętlę for w programowaniu w języku C do wygenerowania tablicy mnożenia:

#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 */
}}

Wyjście:

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

Zagnieżdżanie pętli for może być wykonywane na dowolnym poziomie. Zagnieżdżone pętle powinny być odpowiednio wcięte, aby kod był czytelny. W niektórych wersjach 'C' zagnieżdżanie jest ograniczone do 15 pętli, ale niektóre zapewniają więcej.

Zagnieżdżone pętle są najczęściej używane w aplikacjach tablicowych, co zobaczymy w dalszych tutorialach.

Instrukcja break w C

Instrukcja break jest używana głównie w pliku instrukcja switch. Przydaje się także do natychmiastowego zatrzymywania pętli.

Rozważmy następujący program, który wprowadza instrukcję break, aby wyjść z pętli while:

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

Wyjście:

5
4

Kontynuuj oświadczenie w C

Jeśli chcesz przejść do następnej iteracji, ale pozostać w pętli, powinieneś użyć instrukcjicontinue.

Na przykład:

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

Wyjście:

6
4
3
2
1

Zatem wartość 5 jest pomijana.

Którą pętlę wybrać?

Wybór pętli jest zawsze trudnym zadaniem dla programisty. Aby wybrać pętlę, wykonaj następujące kroki:

  • Przeanalizuj problem i sprawdź, czy wymaga pętli przed testem, czy po teście.
  • Jeśli wymagany jest test wstępny, użyj funkcji while lub pętli.
  • Jeśli wymagany jest test końcowy, użyj pętli do-while.

Podsumowanie

  • Zdefiniuj pętlę w języku C: Pętla jest jedną z kluczowych koncepcji w każdym Język programowania. Pętle w języku C implementowane są za pomocą instrukcji warunkowych.
  • Blok instrukcji sterujących pętlą w C jest wykonywany określoną liczbę razy, aż warunek stanie się fałszywy.
  • Pętle w programowaniu C są dwojakiego rodzaju: sterowane wejściem i wyjściem.
  • Wymień różne instrukcje sterowania pętlą w C: Programowanie C zapewnia nam 1) instrukcje 2) do-while i 3) instrukcje sterowania pętlą.
  • Programowanie w pętli For i while w C to pętle sterowane wpisami w języku C.
  • Do-while to pętla kontroli wyjścia w C.