C-ben ciklusok: For, While, Do Whileping Állítások [Példák]
⚡ Okos összefoglaló
A C nyelvben a ciklusok egy utasításblokkot ismételnek, amíg egy vezérlő feltétel hamissá nem válik, és a nyelv három konstrukciót biztosít – a while ciklust, a do-while ciklust és a for ciklust – a belépéshez és kilépéshez vezérelt ismétléshez.

Mi a Loop C-ben?
Vécéping A C nyelvű utasítások többször végrehajtják az utasítássorozatot, amíg a megadott feltétel hamissá nem válik. Egy C nyelvű 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 bizonyos feltételek kombinációja, amelyek arra utasítják a ciklus törzsét, hogy addig hajtsa végre az utasítást, amíg a megadott feltétel hamissá nem válik. A C nyelvű ciklus célja, hogy ugyanazt a kódot többször ismételje.
A hurkok típusai a C-ben
A programban lévő vezérlő utasítás pozíciójától függően, looping A C nyelven a mondatok két típusba sorolhatók:
- Belépésvezérelt hurok
- Kilépés a szabályozott hurokból
A C nyelvben a belépési vezérlőhurokban a ciklus törzsének végrehajtása előtt egy feltétel ellenőrzésre kerül. Ezt elő-ellenőrző ciklusnak is nevezik.
Egy kilépésvezérelt ciklusban a feltétel ellenőrzése a ciklus törzsének végrehajtása után történik. Ezt utólagos ellenőrző ciklusnak is nevezik.
Minta hurok
A vezérlési feltételeket jól definiálni és specifikálni kell, különben a ciklus végtelen számú alkalommal fog végrehajtódni. Azt a ciklust, amely nem áll meg a végrehajtásban, és az utasításokat többször feldolgozza, végtelen ciklusnak nevezzük. A végtelen ciklust „végtelen ciklusnak” is nevezik. Az alábbiakban a végtelen ciklus néhány jellemzőjét láthatjuk:
- Nincs megadva felmondási feltétel.
- 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:
- A while ciklus
- A do-while ciklus
- 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 | Egy 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 fix értékkel, stopping a for ciklus, amikor a visszatérési érték hamis. |
Míg a hurok C-ben
A while ciklus a legegyszerűbb looping szerkezet. Míg a C programozási nyelv ciklusszintaxisa 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 ciklus a C programozásban
- Inicializáltunk egy változó num nevű függvény, amelynek értéke 1. 1-től 10-ig fogunk nyomtatni, ezért a változó 1 értékkel van inicializálva. Ha 0-tól szeretne nyomtatni, akkor az inicializálás során rendeljen hozzá 0 értéket.
- 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.
- 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. .
A '\n' karakter formázási célokra szolgál, ami azt jelenti, hogy az érték új sorban kerül kiírásra.
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 a C programozásban
- Először inicializáltunk egy 'szám' változót 1 értékkel. Ezután írtunk egy do-while ciklust.
- 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.
- Minden lépés után a num értéke 1-gyel nő, és ez megjelenik a képernyőn.
- 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 fix értékkel, stopping a for ciklus, amikor a visszatérési érték hamis.
- 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.
For Loop in C programozáshoz
- Deklaráltunk egy int adattípusú változót az értékek tárolására.
- 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.
- 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 ciklusok beágyazása bármilyen szintig elvégezhető. A beágyazott ciklusoknak megfelelően behúzottnak kell lenniük, hogy a kód olvasható legyen. A 'C' egyes verzióiban a beágyazás legfeljebb 15 ciklusra korlátozódik, de vannak ennél több verziók is.
A beágyazott hurkokat többnyire tömb alkalmazásokban használják, amelyeket a további oktatóanyagokban látni fogunk.
A három ciklustípuson túl a C nyelv két olyan utasítást kínál, amelyek belülről változtatják meg a ciklus futását.
Törésnyilatkozat C-ben
A break utasítást főleg a switch utasításAzonnali leállításhoz is hasznos.ping egy hurok.
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őtesztelésre van szükség, használj while vagy for ciklust.
- Ha utótesztre van szükség, használjon do-while ciklust.




