Pętle w C: For, While, Do While looping Oświadczenia [Przykłady]

⚡ Inteligentne podsumowanie

Pętle w języku C powtarzają blok instrukcji do momentu, aż warunek sterujący stanie się fałszywy. Język udostępnia trzy konstrukcje — pętlę while, pętlę do-while i pętlę for — służące do kontrolowanego powtarzania wejścia i wyjścia.

  • 🔁 Anatomia pętli: Każda pętla języka C łączy zbiór powtarzanych instrukcji z warunkiem sterującym, który decyduje o tym, kiedy powtarzanie się zakończy.
  • 🚪 Wejście i wyjście: Pętle while i for sterowane wejściem najpierw testują warunek, natomiast pętla do-while sterowana wyjściem zawsze wykonuje swoje ciało raz.
  • ♻️ Pętla while: Pętla while sprawdza swój warunek przed każdym przebiegiem, co jest przydatne w przypadkach, gdy liczba iteracji nie jest znana z góry.
  • 🔂 Pętla do-while: Pętla do-while wykonuje treść przed testowaniem, więc gwarantuje pojedyncze wykonanie, nawet gdy warunek jest fałszywy.
  • 🔢 Pętla for: Pętla for łączy inicjalizację, warunek i aktualizację w jednym wierszu, co jest idealnym rozwiązaniem do liczenia w ustalonym zakresie.
  • Przerwij i kontynuuj: Polecenie break powoduje natychmiastowe wyjście z pętli, natomiast continue przechodzi do następnej iteracji bez opuszczania pętli.

Pętle w C: For, While, Do While looping Oświadczenia

Co to jest pętla w C?

Looping Instrukcje w języku C wykonują sekwencję instrukcji wielokrotnie, aż określony warunek stanie się fałszywy. Pętla w języku C składa się z dwóch części: ciała pętli i instrukcji sterującej. Instrukcja sterująca to kombinacja warunków, które nakazują wykonanie ciała pętli, aż określony warunek stanie się fałszywy. Celem pętli w języku C jest wielokrotne powtórzenie tego samego kodu.

Rodzaje pętli w C

W zależności od pozycji polecenia sterującego w programie, patrzping polecenia w języku C można podzielić na dwa typy:

  1. Pętla kontrolowana wejścia
  2. Pętla kontrolowana wyjścia

W pętli sterującej wejściem w języku C warunek jest sprawdzany przed wykonaniem treści pętli. Nazywa się to również pętlą wstępnego sprawdzania.

W pętli z kontrolą wyjścia warunek jest sprawdzany po wykonaniu treści pętli. Nazywa się to również pętlą sprawdzającą po wykonaniu pętli.

Rodzaje pętli w C

Przykładowa pętla

Warunki sterowania muszą być dobrze zdefiniowane i sprecyzowane, w przeciwnym razie pętla będzie wykonywana nieskończenie wiele razy. Pętla, która nie zatrzymuje się i przetwarza polecenia określoną liczbę razy, nazywana jest pętlą nieskończoną. Pętla nieskończona jest również nazywana „pętlą nieskończoną”. Oto kilka cech pętli nieskończonej:

  1. Nie określono warunku zakończenia.
  2. Podane 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 następnie następuje zatrzymanie.ping pętla for, gdy zwracana jest wartość false.

Chociaż pętla w C

Pętla while jest najprostszym sposobemping Struktura. 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 zmienna o nazwie num i 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ę.

Znak '\n' używany jest w celach formatowania, co oznacza, że ​​wartość zostanie wydrukowana w nowym wierszu.

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;
}
  1. Wartość początkowa pętli for jest wykonywana tylko raz.
  2. Warunek jest wyrażeniem boolowskim, które testuje i porównuje licznik do stałej wartości po każdej iteracji, zatrzymaniuping pętla for, gdy zwracana jest wartość false.
  3. 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 zmienną typu int służącą 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żna wykonać na dowolnym poziomie. Zagnieżdżone pętle powinny być odpowiednio wcięte, aby kod był czytelny. W niektórych wersjach języka C zagnieżdżanie jest ograniczone do 15 pętli, ale niektóre oferują ich więcej.

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

Oprócz trzech typów pętli, język C oferuje dwa polecenia, które zmieniają sposób działania pętli od wewnątrz.

Instrukcja break w C

Instrukcja break jest używana głównie w pliku instrukcja switch. Przydatne jest również do natychmiastowego zatrzymaniaping pętla.

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:

  1. Przeanalizuj problem i sprawdź, czy wymaga pętli przed testem, czy po teście.
  2. Jeżeli wymagany jest wstępny test, należy użyć pętli while lub for.
  3. Jeśli wymagany jest test końcowy, użyj pętli do-while.

FAQ

Pętla nieskończona działa w nieskończoność, gdy jej warunek nigdy nie staje się fałszywy. Aby temu zapobiec, zaktualizuj zmienną pętli w ciele pętli i upewnij się, że warunek ostatecznie zostanie spełniony, lub dodaj instrukcję break jako zabezpieczenie.

Instrukcja break całkowicie zatrzymuje pętlę i przenosi sterowanie do pierwszej instrukcji po niej. Instrukcja continue pomija tylko pozostałe instrukcje w bieżącej iteracji i przechodzi do następnego cyklu pętli.

W standardzie C nie ma wbudowanej pętli for-each ani pętli opartej na zakresie, jak C++ or PythonMożesz iterować tablicę ręcznie za pomocą pętli for lub while, używając indeksu lub wskaźnika, który przechodzi przez każdy element.

Nie. Instrukcja goto wykonuje bezwarunkowy skok do oznaczonego wiersza i może imitować looping, ale nie jest to pętla strukturalna. Użycie for, while lub do-while sprawia, że ​​kod jest znacznie bardziej czytelny.

Operator przecinka pozwala jednej pętli for zarządzać kilkoma zmiennymi jednocześnie. W pętli for (x = 0, y = n; x < y; x++, y–), zarówno sekcja inicjalizacji, jak i sekcja aktualizacji uruchamiają dwa wyrażenia przy każdym przebiegu.

Tak. Połącz warunki za pomocą operatorów logicznych AND (&&) i OR (||) w nawiasach. Na przykład, while (a < 10 && b > 0) utrzymuje looping tylko tak długo, jak oba warunki pozostają prawdziwe.

Tak. Asystenci kodowania AI potrafią tworzyć pętle while, do-while i for na podstawie prostego opisu, wykrywać błędy typu off-by-one i sygnalizować warunki, które mogą działać w nieskończoność. Revważne jest, aby zwracać uwagę na wynik, gdyż generowana logika nie zawsze jest poprawna.

Drugi pilot GitHub Sugeruje kompletne treści pętli podczas pisania, automatycznie uzupełnia liczniki i warunki oraz proponuje wzorce pętli zagnieżdżonych na podstawie krótkiego komentarza. Działa w popularnych edytorach i przyspiesza powtarzalne kodowanie w C.

Podsumuj ten post następująco: