Cikkek a C-ben: For, While, Do While ciklusos utasítások [Példák]

Mi a Loop C-ben?

Kijelentések hurkolása C-ben hajtsa végre többször az utasítássorozatot, amíg a kimondott feltétel hamis lesz. A C-beli ciklus két részből áll, egy ciklus törzséből és egy vezérlő utasításból. A vezérlő utasítás néhány olyan feltétel kombinációja, amelyek a ciklus törzsét a végrehajtásra irányítják, amíg a megadott feltétel hamis lesz. A C ciklus célja ugyanazt a kódot többször megismételni.

A hurkok típusai a C-ben

Attól függően, hogy a programban egy vezérlő utasítás hol van, a C-beli hurkolt utasítás két típusra osztható:

1. Belépés vezérelt hurok

2. Lépjen ki a vezérelt hurokból

Egy belépő vezérlő hurok C-ben, egy feltételt ellenőriznek a ciklus törzsének végrehajtása előtt. Előellenőrző huroknak is nevezik.

Egy kilépés a vezérelt hurokból, egy feltétel ellenőrzése a ciklus törzsének végrehajtása után történik. Utóellenőrző huroknak is nevezik.

A hurkok típusai a C-ben
Minta hurok

A vezérlési feltételeket jól meg kell határozni és meg kell adni, különben a hurok végtelen számú alkalommal fog végrehajtani. Az a ciklus, amely nem hagyja abba a végrehajtást, és többször feldolgozza az utasításokat, an-nak nevezzük végtelen hurok. A végtelen hurkot más néven "Végtelen hurok.” Íme néhány jellemző a végtelen hurokra:

1. Nincs megadva befejezési feltétel.

2. A megadott feltételek soha nem teljesülnek.

A megadott feltétel határozza meg, hogy végre kell-e hajtani a huroktörzset vagy sem.

A „C” programozási nyelv háromféle hurokkonstrukciót kínál:

1. A while ciklus

2. A do-while ciklus

3. A for ciklus

Sr.sz. Hurok típusa Leírás
1. Míg a hurok A while ciklusban a feltétel kiértékelésre kerül a ciklus törzsének feldolgozása előtt. Ha egy feltétel igaz, akkor és csak akkor kerül végrehajtásra a ciklus törzse.
2. Do-While Loop A do…while ciklusban a feltétel mindig a ciklus törzse után kerül végrehajtásra. Kilépésvezérelt huroknak is nevezik.
3. A hurok számára A for ciklusban a kezdeti érték csak egyszer kerül végrehajtásra, majd a feltétel minden iteráció után teszteli és összehasonlítja a számlálót egy rögzített értékkel, leállítva a for ciklust, ha false értéket ad vissza.

Míg a hurok C-ben

A while ciklus a legegyszerűbb hurkolt szerkezet. Míg a ciklus szintaxisa a C programozási nyelvben a következő:

A While ciklus szintaxisa C-ben

while (condition) {
             statements;
}

Ez egy belépés-vezérelt hurok. A while ciklusban a feltétel kiértékelésre kerül a ciklus törzsének feldolgozása előtt. Ha egy feltétel igaz, akkor és csak akkor kerül végrehajtásra a ciklus törzse. A ciklus törzsének végrehajtása után a vezérlés ismét visszamegy az elejére, és a feltételt ellenőrzi, hogy igaz-e, ugyanazt a folyamatot hajtják végre, amíg a feltétel hamis lesz. Ha a feltétel hamis lesz, a vezérlés kikerül a hurokból.

A ciklusból való kilépés után a vezérlés azokra az utasításokra megy, amelyek közvetlenül a ciklus után vannak. Egy ciklus törzse egynél több utasítást is tartalmazhat. Ha csak egy állítást tartalmaz, akkor a kapcsos zárójelek nem kötelezőek. Jó gyakorlat azonban a göndör fogszabályzó használata, még akkor is, ha egyetlen állítás van a testben.

A while ciklusban, ha a feltétel nem igaz, akkor a ciklus törzse nem kerül végrehajtásra, még egyszer sem. Ez eltér a do while ciklusban, amelyet hamarosan látni fogunk.

A következő program a while ciklust szemlélteti C programozási példában:

#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;
}

output:

1
2
3
4
5
6
7
8
9
10

A fenti program a while ciklus használatát szemlélteti. A fenti programban 1-től 10-ig számsorokat nyomtattunk egy while ciklus segítségével.

Míg a hurok C-ben
Míg a ciklus a C programozásban
  1. Inicializáltunk egy num nevű változót 1-es értékkel. 1-től 10-ig fogunk nyomtatni, így a változó inicializálása 1 értékkel történik. Ha 0-tól szeretne nyomtatni, akkor az inicializálás során adjon hozzá 0 értéket.
  2. Egy while ciklusban megadtunk egy feltételt (szám<=10), ami azt jelenti, hogy a ciklus addig hajtja végre a törzset, amíg a num értéke 10 nem lesz. Ezt követően a ciklus megszakad, és a vezérlés a cikluson kívülre kerül.
  3. A ciklus törzsében van egy print függvényünk a számunk kinyomtatására és egy increment művelet a ciklus végrehajtásonkénti értékének növelésére. A num kezdeti értéke 1, a végrehajtás után 2 lesz, a következő végrehajtáskor pedig 3 lesz. Ez a folyamat addig folytatódik, amíg az érték 10 lesz, majd kiírja a sorozatot a konzolra és befejezi a ciklust. .

\n formázási célokra szolgál, ami azt jelenti, hogy az érték egy új sorba kerül.

Do-While ciklus C-ben

A do…while ciklus C-ben hasonló a while ciklushoz, kivéve, hogy a feltétel mindig a ciklus törzse után kerül végrehajtásra. Kilépésvezérelt huroknak is nevezik.

A do while ciklus szintaxisa C programozási nyelvben a következő:

A Do-While ciklus szintaxisa C-ben

 do {
  statements
} while (expression);

Ahogy egy while ciklusban láttuk, a test akkor és csak akkor kerül végrehajtásra, ha a feltétel igaz. Bizonyos esetekben legalább egyszer végre kell hajtanunk a ciklus törzsét, még akkor is, ha a feltétel hamis. Ez a fajta művelet egy do-while ciklus használatával érhető el.

A do-while ciklusban a ciklus törzse mindig legalább egyszer végrehajtásra kerül. A test végrehajtása után ellenőrzi az állapotot. Ha a feltétel igaz, akkor ismét végrehajtja a ciklus törzsét, különben a vezérlés kikerül a ciklusból.

Hasonlóan a while ciklushoz, amint a vezérlő kilép a ciklusból, az utasítások közvetlenül a ciklus végrehajtása után vannak.

A while és a do-while ciklus közötti kritikus különbség az, hogy a while ciklusban a while az elején van írva. A do-while ciklusban a while feltétel a végére kerül, és pontosvesszővel (;) végződik.

A következő ciklusprogram C-ben egy do-while ciklus működését szemlélteti:

Az alábbiakban egy do-while ciklus látható C példában a 2-es számú táblázat nyomtatásához:

#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;
}

output:

2
4
6
8
10
12
14
16
18
20

A fenti példában 2-es szorzótáblát nyomtattunk egy do-while ciklus használatával. Lássuk, hogyan tudta a program kinyomtatni a sorozatot.

Do-While ciklus C-ben
Do-While ciklus a C programozásban
  1. Először inicializáltunk egy 'szám' változót 1 értékkel. Ezután írtunk egy do-while ciklust.
  2. Egy ciklusban van egy nyomtatási függvényünk, amely úgy nyomtatja ki a sorozatot, hogy a num értékét megszorozza 2-vel.
  3. Minden lépés után a num értéke 1-gyel nő, és ez megjelenik a képernyőn.
  4. Kezdetben a num értéke 1. Egy ciklus törzsében a nyomtatási függvény a következőképpen kerül végrehajtásra: 2*num ahol szám=1, majd 2*1=2, tehát a kettes érték kerül kinyomtatásra. Ez addig megy, amíg a num értéke 10 lesz. Ezt követően a ciklus befejeződik, és egy utasítás, amely közvetlenül a ciklus után van, végrehajtódik. Ebben az esetben adja vissza a 0-t.

A ciklushoz C-ben

A for ciklus egy hatékonyabb hurokstruktúra a 'C' programozásban. A for ciklus szintaxisának általános felépítése C-ben a következő:

A For Loop szintaxisa C-ben

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • A for ciklus kezdeti értéke csak egyszer kerül végrehajtásra.
  • A feltétel egy logikai kifejezés, amely minden iteráció után teszteli és összehasonlítja a számlálót egy rögzített értékkel, és leállítja a for ciklust, ha false értéket ad vissza.
  • A növelés/csökkentés egy beállított értékkel növeli (vagy csökkenti) a számlálót.

A következő program a for ciklust szemlélteti C programozási példában:

#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;
}

output:

1
2
3
4
5
6
7
8
9
10

A fenti program a for ciklus segítségével kiírja a számsorokat 1-től 10-ig.

A ciklushoz C-ben
For Loop in C programozáshoz
  1. Kinyilvánítottuk a változó egy int adattípusból az értékek tárolására.
  2. A for ciklusban az inicializálási részben 1 értéket rendeltünk a változó számához. A feltétel részben megadtuk a feltételünket, majd a növekedési részt.
  3. A ciklus törzsében van egy print funkciónk, amellyel a számokat a konzol új sorába nyomtathatjuk. Az 2 értéket számban tároljuk, az első iteráció után az érték növekszik, és 2 lesz. Most a szám változó értéke 10. A feltétel újraellenőrzésre kerül, és mivel a feltétel igaz, ciklus végrehajtásra kerül, és kettőt nyomtat a képernyőre. Ez a ciklus addig fut, amíg a változó értéke 1 lesz. Ezt követően a ciklus befejeződik, és egy 10-XNUMX-es sorozat jelenik meg a képernyőn.

C-ben a for ciklusban több kifejezés is szerepelhet, amelyeket vesszővel választanak el minden egyes részében.

Például:

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

Pontosvessző hozzáadásával kihagyhatjuk a kezdeti érték kifejezését, feltételét és/vagy növekményét.

Például:

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

Figyelje meg, hogy a hurkok beágyazhatók ott is, ahol van egy külső és egy belső hurok. A külső ciklus minden iterációja esetén a belső ciklus megismétli a teljes ciklusát.

Tekintsük a következő példát több feltétellel a for ciklusban, amely a beágyazott for ciklust használja a C programozásban a szorzótábla kimenetére:

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

output:

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

A for hurkok beágyazása bármilyen szintig elvégezhető. A beágyazott hurkokat megfelelően be kell húzni, hogy a kód olvasható legyen. A „C” egyes verzióiban az egymásba ágyazás legfeljebb 15 hurokra korlátozódik, de vannak olyanok is, amelyek többet biztosítanak.

A beágyazott hurkokat többnyire tömb alkalmazásokban használják, amelyeket a további oktatóanyagokban látni fogunk.

Törésnyilatkozat C-ben

A break utasítást főleg a switch utasítás. Hasznos a hurok azonnali leállítására is.

A következő programot vesszük figyelembe, amely szünetet vezet be a while ciklusból való kilépéshez:

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

output:

5
4

Nyilatkozat folytatása C-ben

Ha a következő iterációra szeretne ugrani, de a ciklusban marad, akkor használja a turpināt utasítást.

Például:

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

output:

6
4
3
2
1

Tehát az 5-ös érték kimarad.

Melyik hurkot válasszam?

A ciklus kiválasztása mindig nehéz feladat egy programozó számára, a ciklus kiválasztásához kövesse az alábbi lépéseket:

  • Elemezze a problémát, és ellenőrizze, hogy elő- vagy utótesztre van-e szükség.
  • Ha előzetes tesztelésre van szükség, használjon egy kis időt vagy egy hurkot.
  • Ha utótesztre van szükség, használjon do-while ciklust.

Összegzésként

  • Határozza meg a ciklust a C-ben: A hurok az egyik kulcsfogalom bármelyikben Programozási nyelv. A C nyelvi ciklusok feltételes utasítások segítségével valósulnak meg.
  • A ciklusvezérlő utasítások blokkja a C-ben annyiszor kerül végrehajtásra, amíg a feltétel hamis lesz.
  • A C programozásban a hurkok 2 típusúak: belépés-vezérelt és kilépés-vezérelt.
  • Soroljon fel különféle hurokvezérlési utasításokat a C-ben: A C programozás 1) míg 2) do-while és 3) hurokvezérlési utasításokat biztosít.
  • A for and while ciklus C programozása belépéssel vezérelt ciklusok C nyelvben.
  • A Do-while egy kilépési vezérlőhurok C-ben.