C programmering :: Kontrolstrukturer
while og do-while
Gentagelser af sætninger kan etableres med while og do-while. Til disse kan bruges nøgleordene break og continue.
Strukturen for while er:
{
...sætninger
}
og do-while:
{
...sætninger
} while (betingelse)
Den eneste forskel på disse to er, hvor testen lægges for udførelsen af gentagelsesblokken. Ved while sker testen før blokken, dvs. at det end ikke er garanteret, at blokken med sætninger udføres overhovedet. Ved do-while ligger testen efter blokken, hvorved blokken udføres mindst én gang.
Se på et eksempel nedenstående, det skal finde primtallene fra 3-20. For primtal gælder at kun tallet selv og 1 går op i tallet. Vi kan lade variablen i være det tal vi vil teste, om det er et primtal og lave en test med tallene fra i-1 til 2, det bruger vi j til, og se om divisionen i/j giver en rest. Hvis der ingen rest er ved divisionen går tallet j op i i og dette tal i kan derfor ikke være et primtal.
Algoritmen til løsning ses i nedenstående struktur-flow-diagrammet: