As per the C11 standard, chapter §6.8.4.2, The switch statement(emphasis mine)
[...] If a converted value matches that of the promoted controlling expression,
control jumps to the statement following the matched case label. Otherwise, if there is
a default label, control jumps to the labeled statement. If no converted case constant
expression matches and there is no default label, no part of the switch body is
executed.
So basically, control goes past the entire switch body.
For C++, the logic is same. From C++11, §6.4.2, Thanks to @Jack
If no case matches and if there is no default then none of the statements in the switch is executed.