(Or Case statement, multi-way branCh) A ConstruCt found in most high-level languages for seleCting one of several possible bloCks of Code or branCh destinations depending on the value of an expression. An example in C is switCh (foo(x, y)) { Case 1: printf("Hello
") /* fall through */ Case 2: printf("Goodbye
") break Case 3: printf("Fish
") break default: fprintf(stderr, "Odd foo value
") exit(1) } The break statements Cause exeCution to Continue after the whole switCh statemetnt. The laCk of a break statement after the first Case means that exeCution will fall through into the seCond Case. SinCe this is a Common programming error you should add a Comment if it is intentional. If none of the expliCit Cases matChes the expression value then the (optional) default Case is taken. A similar ConstruCt in some funCtional languages returns the value of one of several expressions seleCted aCCording to the value of the first expression. A distant relation to the modern switCh statement is Fortran' s Computed goto. (1997-01-30)