For-loopar

En for-slinga utför en sats (eller satser) under förutsättning att ett villkor är sant. For-slingans "huvud" har tre delar.

for([start];[villkor];[förändring])

Dessa tre delar behöver inte anges utan en eller flera kan utelämnas. Du måste dock skriva parentesen och de två semikolonen. Minimum är alltså följande:

for(;;)

Att utelämna alla tre delarna innebär att for-slingan inte blir särskilt användbar. För att göra det hela lite begripligt tar vi här ett litet exempel.

Antag att du vill skriva ut en rad siffror från 0 till ett värde som användaren anger. Vi tänker oss att det värde användaren angett finns i varaibeln tal. En for-slinga som skriver ut denna sifferrad kan se ut som följande:

for(int i=0 ;i<=tal ; i++ ) cout<<i<<endl;

Vad betyder då detta? Jo vi har infört en variabel i som har startvärdet 0. Denna variabel deklareras och tilldelas sitt värde i for-slingans start-del. Nästa del säger att for-slingan ska hålla på så länge som i är mindre än eller lika med tal (det värde användaren angav). Sista delen säger att för var gång for-slingan upprepar sig ska värdet på variabeln i öka med 1. Sist står den sats som ska utföras varje gång for-slingan upprepas, dvs skriva värdet av i till skärmen och byta rad.
I exemplet ovan blir det dock inget skrivet på skärmen om användaren angett ett negativt värde. Varför?

Satser i en for-slinga anges på samma sätt som i en while-slinga. Du skriver alltså en for-slinga med en sats på följande sätt:

for([start];[villkor];[förändring]) sats;

Du skriver en for-slinga med flera satser på följande sätt:

for([start];[villkor];[förändring])
{
sats 1;
sats 2;
-
-
sats n;
}