The switch statement in C allows a variable to be tested for equality against multiple case labels, and allows for different blocks of code to be executed depending on which expression matches. It requires an expression of any type and then compares it against integer case constants. If no case matches, the default code block will execute. The syntax includes the switch keyword followed by an expression, then case labels and code blocks, with breaks to end each block. Variables and float values cannot be used as case labels.