C za zanko (z primeri)

Kazalo

V tej vadnici se boste s pomočjo primerov naučili ustvarjati zanko v programiranju C.

Pri programiranju se zanka uporablja za ponavljanje bloka kode, dokler ni izpolnjen določen pogoj.

Programiranje C ima tri vrste zank:

  1. za zanko
  2. medtem ko zanka
  3. do … while zanka

O forzanki bomo izvedeli v tej vadnici. V naslednjem vajah bomo spoznali whilein do… whilezanke.

za Loop

Sintaksa forzanke je:

 for (initializationStatement; testExpression; updateStatement) ( // statements inside the body of loop )

Kako deluje zanka?

  • Stavek o inicializaciji se izvede samo enkrat.
  • Nato se oceni testni izraz. Če je testni izraz ovrednoten, je forzanka prekinjena.
  • Če pa je testni izraz ovrednoten z true, forse izvršijo stavki znotraj telesa zanke in posodobi izraz.
  • Spet se ovrednoti testni izraz.

Ta postopek se nadaljuje, dokler testni izraz ni napačen. Ko je testni izraz napačen, se zanka 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.

za diagram zanke

Primer 1: za zanko

 // Print numbers from 1 to 10 #include int main() ( int i; for (i = 1; i < 11; ++i) ( printf("%d ", i); ) return 0; ) 

Izhod

 1 2 3 4 5 6 7 8 9 10
  1. i je inicializiran na 1.
  2. Oceni se testni izraz i < 11. Ker je 1 manj kot 11 res, se telo forzanke izvede. To bo na zaslon natisnilo 1 (vrednost i).
  3. Izvede se stavek posodobitve ++i. Zdaj bo vrednost i 2. 2. Spet se testni izraz oceni na true in izvede se telo zanke for. To bo na zaslon natisnilo 2 (vrednost i).
  4. Ponovno ++ise izvede stavek update in oceni testni izraz i < 11. Ta postopek se nadaljuje, dokler ne dopolnim 11 let.
  5. Ko postanem 11, bo i <11 napačen in forzanka se konča.

Primer 2: za zanko

 // Program to calculate the sum of first n natural numbers // Positive integers 1,2,3… n are known as natural numbers #include int main() ( int num, count, sum = 0; printf("Enter a positive integer: "); scanf("%d", &num); // for loop terminates when num is less than count for(count = 1; count <= num; ++count) ( sum += count; ) printf("Sum = %d", sum); return 0; )

Izhod

 Vnesite pozitivno celo število: 10 Vsota = 55

Vrednost, ki jo vnese uporabnik, je shranjena v spremenljivki num. Recimo, da je uporabnik vnesel 10.

Štetje se inicializira na 1 in preskusni izraz se ovrednoti. Ker je testni izraz count<=num(1 manjši ali enak 10) resničen, se telo forzanke izvede in vrednost vsote bo enaka 1.

Nato ++countse izvede stavek za posodobitev in štetje bo enako 2. Spet se ovrednoti testni izraz. Ker je tudi 2 manj kot 10, se testni izraz oceni na true in telo forzanke se izvede. Zdaj bo vsota enaka 3.

Ta postopek se nadaljuje in vsota se izračuna, dokler število ne doseže 11.

Ko je štetje 11, se testni izraz izračuna na 0 (napačno) in zanka se konča.

Nato se vrednost sumzaslona natisne na zaslon.

O whilezanki in do… whilezanki bomo izvedeli v naslednji vadnici.

Zanimive Članki...