Delen via


for Instructie (C)

Met de for instructie kunt u een opgegeven aantal keren een instructie of samengestelde instructie herhalen. De hoofdtekst van een for instructie wordt nul of meer keer uitgevoerd totdat een optionele voorwaarde onwaar wordt. U kunt optionele expressies in de for instructie gebruiken om waarden te initialiseren en te wijzigen tijdens de uitvoering van de for instructie.

Syntaxis

iteration-statement:
for ( init-expression opteren;cond-expressionopteren;loop-expressionopteren)statement

Uitvoering van een for instructie gaat als volgt:

  1. De init-expression, indien van toepassing, wordt geëvalueerd. Hiermee geeft u de initialisatie voor de lus op. Er is geen beperking voor het type init-expression.

  2. De cond-expression, indien van toepassing, wordt geëvalueerd. Deze expressie moet een rekenkundig of aanwijzertype hebben. Deze wordt vóór elke iteratie geëvalueerd. Er zijn drie resultaten mogelijk:

    • Als cond-expression dat het geval is (niet-nul), statement wordt uitgevoerd. loop-expressionAls dat het geval is true , wordt deze geëvalueerd. De loop-expression waarde wordt na elke iteratie geëvalueerd. Er is geen beperking voor het type. Bijwerkingen worden op volgorde uitgevoerd. Het proces begint vervolgens opnieuw met de evaluatie van cond-expression.

    • Als cond-expression u dit weglaat, cond-expression wordt deze als waar beschouwd en wordt de uitvoering precies uitgevoerd zoals beschreven in de vorige alinea. Een for instructie zonder cond-expression argument wordt alleen beëindigd wanneer een break of return instructie in de hoofdtekst van de instructie wordt uitgevoerd of wanneer een goto (naar een gelabelde instructie buiten de hoofdtekst van de for instructie) wordt uitgevoerd.

    • Als cond-expression dit (0) is false , wordt de uitvoering van de for instructie beëindigd en wordt het besturingselement doorgegeven aan de volgende instructie in het programma.

Een for instructie wordt ook beëindigd wanneer een break, gotoof return instructie in de hoofdtekst van de instructie wordt uitgevoerd. Een continue instructie in een for lus zorgt ervoor dat loop-expression deze wordt geëvalueerd. Wanneer een break instructie binnen een for lus wordt uitgevoerd, loop-expression wordt deze niet geëvalueerd of uitgevoerd. Deze instructie

for( ; ; )

is de gebruikelijke manier om een oneindige lus te produceren, die alleen kan worden afgesloten met een break, gotoof return instructie.

Voorbeeld

In dit voorbeeld ziet u de for instructie:

// c_for.c
int main()
{
   char* line = "H e  \tl\tlo World\0";
   int space = 0;
   int tab = 0;
   int i;
   int max = strlen(line);
   for (i = 0; i < max; i++ )
   {
      if ( line[i] == ' ' )
      {
          space++;
      }
      if ( line[i] == '\t' )
      {
          tab++;
      }
   }

   printf("Number of spaces: %i\n", space);
   printf("Number of tabs: %i\n", tab);
   return 0;
}

Uitvoer

Number of spaces: 4
Number of tabs: 2

Zie ook

Overzichten