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;
}