switch (<lauseke>) { case <lauseke1>: <lause1>; ... ; break; case <lauseke2>: <lause2>; ... ; break; ... default: <lause>; ... }
Tämä toimii seuraavanlaisesti: ensin lauseke suoritetaan. Sitten sen palauttamaa tulosta verrataan case-lauseiden jälkeen oleviin lausekkeisiin. Suoritus jatkuu yhtenevän arvon palauttavasta case-lauseesta aina seuraavaan esiintyvään break-lauseeseen saakka. Jos yksikään case-lause ei palauta samaa arvoa, suoritetaan default-lauseen jälkeen oleva koodi. (Switch-lauseessa ei tarvitse välttämättä olla default-lausetta.) Huomaa, että että yhteen switch-lauseeseen voi sisällyttää useita case-lauseita. Break-lause ei myöskään ole välttämätön. Jos sitä ei ole, suoritus yksinkertaisesti jatkuu aina seuraavan case-lauseen koodilla.
Esimerkki
Seuraava ohjelmanpätkä toimii sen mukaan, mitä näppäintä painetaan.
switch (keyboard_key) { case vk_left: case vk_numpad4: x -= 4; break; case vk_right: case vk_numpad6: x += 4; break; }