C Deel 4 (herhalingsstructuren)
1. Beginwoord
2. Herhalingsstructuren intro
3. for()
4. while()
5. do{}while()
1. Beginwoord
Deze tutorial handelt over de herhalings structuren.
De herhalingsstructuren die ik hier ga bespreken zijn eigelijk hetzelfde als in PHP, of C++ en andere.
Maar voor ze toch eens in een C programma te zien... hier deze tutorial
top
2. Herhalings Structuren intro
Wat is een herhalingsstructuur?
Een herhalingsstructuur is een klein stukje van je programma waar je een bepaalde actie gaat herhalen.
IPV een vraag 100 keer te stellen in je programma, ga je dit 1x doen en 100 keer herhalen.
Bv. Ik wil dat je gegevens over mensen kan ingeven, en dat het ingeven stopt als je 0 ingeeft.
Een uitgewerkt voorbeeld vind je hieronder, bij de do{}while() strutuur.
top
3. for()
Voor het voorbeeldje hierboven kan ik een for structuur gebruiken, maar het zou vrij onhandig zijn.
En ook onlogisch.
De for structuur gebruik je (meestal) als je een vooraf bepaald aantal gegevens wilt laten ingeven/weergeven.
Dit vooraf bepaald getal kan een integer (bv. 5) zijn of een variabele (bv. de variabele 'j' die de waarde 7 bevat.
Algemeen:
#include <stdio.h>
void main(void){ //begin vd code
int i; //de integer i declareren
for(i=beginwaarde_van_i; i<eindwaarde_van_i_plus_1; wat_er_gedaan_moet_worden){
doe_iets;
}
}
|
Dit ziet er natuurlijk niet uit, dus daarom een uitgewerkt voorbeeld.
#include <stdio.h>
void main(void){ //begin vd code
int i; //de integer i declareren
for(i=0; i<6; i++){
printf("%s %d %s", "De waarde van i is nu: ", i, "
");
}
}
|
Dit retoruneert.
De waarde van i is: 0
De waarde van i is: 1
De waarde van i is: 2
De waarde van i is: 3
De waarde van i is: 4
De waarde van i is: 5
|
Je laat hem tot 5 tellen kun je zeggen.
Dus eerst geef je een waarde aan i (i=0).
Dan ga je zeggen waneer hij moet stoppen met tellen (i<6).
En dan ga je zeggen wat er moet gebeuren elke keer de actie wordt herhaald (i++: 1 waarde bij i optellen, elke keer het wordt herhaal).
En dan voer je nog iets uit in de herhalingsstructuur.
top
4. while()
While kan je best gebruiken bij het invoeren van gegevens.
Met while laat je eigelijk een reeks gebeurtenissen gebeuren ZOLANG er aan een voorwaarde voldaan wordt.
Dus je laat bv. gegevens invoeren zolang de ingevoerde naam niet 0 is.
Algemeen:
#include <stdio.h>
void main(void){
while(voorwaarde){
//doe iets, bv een formpje geven
}
}
|
En dit is een uitgewerkt voorbeeld, om het gemiddelde van een reeks ingevoerde getallen weer te geven.
#include <stdio.h>
void main(void){
int teller = 0;//declareren
int getal=1;
int gemiddelde;
while(getal != 0){//zolang er niet in getal zit, dan geven we dit weer
printf("geef getallen in: (0 om te stoppen)");
scanf("%d", &getal);
gemiddelde = gemiddelde + getal;
teller++;
}
printf("
"); //een spatie
gemiddelde = gemiddelde / teller;
printf("%s %d", "het gemiddelde is: ", gemiddelde);
}
|
Waarom geef ik nu eerst de waarde 1 aan de variabele getal?
Omdat hij eerst gaat kijken naar variabele getal, en daar zit automatisch via het declareren de waarde NULL of 0 in.
Dus geeft hij mss met een heel veel geluk toch het form weer, maar hoogstwss niet.
Hoe los je dit steeds declareren op?
met do{}while()
.
top
5. do{}while()
Do{}while() is helemaal zoals while(), alleen ga je eerst een actie uitvoeren en DAARNA pas kijken of er aan een voorwaarde voldaan wordt.
Do{}while() wordt op zijn minst altijd 1 maal uitgevoerd, en dat is het grote voordeel, daarom is deze in de meeste gevallen ook aangewezen.
En in andere gevallen is while().
Algemeen:
#include <stdio.h>
void main(void){
do{
//iets
}while(voorwaarde);
}
|
Het voorbeeld van hierboven met do{}while():
<?php
#include <stdio.h>
void main(void){
float teller = 0;//declareren
float getal=0;
float gemiddelde;
do{
printf("geef getallen in: (0 om te stoppen): ");
scanf("%f", &getal);
gemiddelde = gemiddelde + getal;
teller++;
}while(getal != 0);
teller--;
printf("
"); //een spatie
gemiddelde = gemiddelde / teller;
printf("%s %f", "het gemiddelde is: ", gemiddelde);
}
|
Hier gebruik ik heel bewust float ipv int, omdat floats precieser zijn bij berekeningen, en ook om errors te voorkomen.
Dank aan Klopper voor het helpen aan de verbetering van de tutorial!
C Tutorial: herhalingsstructuren iteratie in C
|