Lecture7 Week 4
Lecture7 Week 4
SWITCH Statement
Instructor: Ms. Ayesha
11/05/2023 1
Switch – Case Statements
Switch-Case Statements
way2ITech
• Switch case statement allows us to make
decisions from multiple choices.
• Integer expression must yield an integer value
like 1, 2, 3, etc. The keyword case is followed
by an integer or a character constant.
• Each constant in each case must be different
from all the others. The “do this” lines in
the above form of switch represent any
valid C statement.
way2ITech
• break always used with the switch statement
to terminate the switch statement or to
prevent the entry in other case.
way2ITech
way2ITech
The Tips and Traps
way2ITech
You are also allowed to use char
values in case and switch as
shown in the following program
(Program to find whether character
entered is vowel or not)
way2ITech
way2ITech
Modified
Form
way2ITech
If a statement doesn’t belong to any case the compiler
won’t report an error. However, the statement would
never get executed. For example, in the following
program the printf( ) never goes to work.
way2ITech
• If there is no default in switch, then error will not be
there. If no case is matching, statements after switch
will execute.
• Relational Expression like i>5 are not allowed in any
case. Even float values not allowed in any case
• We can check the value of any expression in a switch.
Thus the following switch statements are legal.
switch ( i - j * k )
switch ( 3 + 9 % 4 * i )
switch ( a < 5 || b >
7)
• Expressions can also be used in cases provided they
are constant expressions. Thus case 13 + 7 is correct,
however, case a + b is incorrect.
• switch may occur within another, but in practice it is
rarely done. Such statements would be called nested
switch statements.
• The switch statement is very useful while writing
menu driven programs
• Even if there are multiple statements to be executed
in each case there is no need to enclose them
within a pair of braces (unlike if, and else).
switch Versus if-else Ladder
way2ITech
Advantages of switch over if-else
• compiler generates a jump table for a switch
during compilation. As a result, during
execution it simply refers the jump table to
decide which case should be executed, rather
than actually checking which case is
satisfied.
• As against this, if-else are slower because they
are evaluated at execution time.