Cele trei tipuri principale de structuri de control sunt secvențiale, selectate și iterative. Ele pot fi combinate în orice fel pentru a rezolva o problemă specificată.
Sequential este structura de control implicită, instrucțiunile sunt executate line-line în ordinea în care apar. Structura de selecție este utilizată pentru a testa o condiție. O secvență de instrucțiuni este executată în funcție de situația în care este sau nu este adevărată sau falsă. Aceasta înseamnă că programul alege între două sau mai multe căi alternative. Condiția se referă la orice expresie sau valoare care returnează o valoare booleană, adică adevărată sau falsă.
Cele trei tipuri principale de declarații de selecție sunt "dacă", "if /else" și "switch" declarații. Cele mai elementare și comune sunt instrucțiunile "if". Exemplurile "if" și "if /else" pot fi imbricate. Comenzile de comutare sunt utilizate în mod ideal atunci când există mai multe cazuri de alegere.
Structura de iterație sau repetare execută în mod repetat o serie de instrucțiuni, atât timp cât condiția este adevărată. Condiția poate fi predefinită sau deschisă. În timp ce bucla "do /while" și "for" sunt cele trei tipuri de declarații de iterație. O buclă poate fi fie controlată de evenimente, fie controlată contra. O buclă controlată de eveniment execută o secvență de instrucțiuni până când evenimentul are loc, în timp ce o buclă contracurentă execută instrucțiunile într-un număr predeterminat de ori.