Instrukcja switch w C++ służy do wykonania jednej z wielu możliwych gałęzi programu na podstawie wartości pojedynczego wyrażenia sterującego (np. zmiennej typu całkowitego lub wyliczeniowego). Wewnątrz switch znajduje się zestaw etykiet case, z których każda opisuje alternatywną możliwość dopasowania (porównanie przez równość do stałej wartości), oraz opcjonalna etykieta default dla sytuacji, gdy żaden case nie pasuje.
Odpowiedź "zbiorem warunków, które mogą być spełnione" jest trafna, bo switch obejmuje wiele potencjalnych dopasowań (case), a wybrana zostaje ta gałąź, której wartość odpowiada wyrażeniu sterującemu. W typowym użyciu (z break) wykonuje się tylko jeden blok, co odpowiada intuicji "jeden z wielu możliwych warunków".
- "warunkiem zawsze spełnionym" jest niepoprawne, bo switch nie jest stałą prawdą logiczną; wybór zależy od wartości wyrażenia i może trafić do default.
- "konkretnym warunkiem złożonym" jest mylące: switch w standardowym ujęciu nie służy do warunków złożonych (np. z operatorami logicznymi), tylko do porównań z konkretnymi stałymi w case.
- "wielokrotnie zagnieżdżoną instrukcją Case" jest błędne pojęciowo: case nie jest samodzielną instrukcją sterującą zagnieżdżaną wielokrotnie, lecz etykietą (punktem wejścia) w obrębie switch.
Wskazówka egzaminacyjna: jeśli w odpowiedziach pojawiają się sformułowania o warunkach logicznych lub zagnieżdżaniu, porównaj je z tym, co switch naprawdę robi: wybiera gałąź na podstawie równości wartości i zwykle kończy ją przez przerwanie wykonania (break), aby uniknąć niezamierzonego przejścia do kolejnych case.