V tej vadnici se boste s pomočjo primerov naučili ustvarjati zanko while in do… while v programiranju C.
Pri programiranju se zanke uporabljajo za ponavljanje bloka kode, dokler ni izpolnjen določen pogoj.
Programiranje C ima tri vrste zank.
- za zanko
- medtem ko zanka
- do … while zanka
V prejšnji vadnici smo se naučili o for
zanki. V tem tečaju se bomo spoznali while
in do… while
zanke.
medtem ko zanka
Sintaksa while
zanke je:
while (testExpression) ( // statements inside the body of the loop )
Kako deluje zanka?
while
Zanka ocenjuje test izraz znotraj oklepaju()
.- Če je testni izraz resničen,
while
se izvršijo stavki znotraj telesa zanke. Nato se testni izraz ponovno oceni. - Postopek se nadaljuje, dokler testni izraz ni ovrednoten kot false.
- Če je testni izraz napačen, se zanka konča (konča).
Če želite izvedeti več o testnem izrazu (ko je testni izraz ovrednoten kot true in false), si oglejte relacijske in logične operatorje.
Diagram poteka zanke while
Primer 1: zanka while
// Print numbers from 1 to 5 #include int main() ( int i = 1; while (i <= 5) ( printf("%d", i); ++i; ) return 0; )
Izhod
1 2 3 4 5
Tu smo inicializirali i na 1.
- Ko je i 1, je testni izraz
i <= 5
resničen. Zato je telowhile
zanke izvedeno. S tem se na zaslon natisne 1, vrednost i pa se poveča na 2. - Zdaj je i 2, testni izraz
i <= 5
je spet resničen. Telowhile
zanke se znova izvede. S tem se na zaslon natisne 2, vrednost pai
se poveča na 3. - Ta postopek se nadaljuje, dokler i ne postane 6. Ko je 6, bo testni izraz
i <= 5
napačen in zanka se konča.
do … while zanka
do… while
Zanka je podobna while
zanki z eno pomembno razliko. Telo do… while
zanke se izvede vsaj enkrat. Šele nato se oceni testni izraz.
Sintaksa do… while
zanke je:
do ( // statements inside the body of the loop ) while (testExpression);
Kako… medtem ko zanka deluje?
- Telo do … while zanke se izvede enkrat. Šele nato se oceni testni izraz.
- Če je testni izraz resničen, se telo zanke znova zažene in testni izraz se oceni.
- Ta postopek se nadaljuje, dokler testni izraz ne postane napačen.
- Če je testni izraz napačen, se zanka konča.
Diagram poteka do … while Loop
Primer 2: zanka do… while
// Program to add numbers until the user enters zero #include int main() ( double number, sum = 0; // the body of the loop is executed at least once do ( printf("Enter a number: "); scanf("%lf", &number); sum += number; ) while(number != 0.0); printf("Sum = %.2lf",sum); return 0; )
Izhod
Vnesite številko: 1.5 Vnesite številko: 2.4 Vnesite številko: -3.4 Vnesite številko: 4.2 Vnesite številko: 0 Vsota = 4.70