0% found this document useful (0 votes)
9 views

Lecture7 Week 4

The document discusses switch-case statements in C programming. It explains that switch-case allows making decisions from multiple choices based on an integer expression. Each case must have a different integer or character constant. break is used to terminate the switch statement or prevent falling through other cases. While cases can be in any order, only constant expressions are allowed. The document compares advantages of switch-case over if-else ladder, noting switch-case is faster due to compiler generating a jump table.

Uploaded by

abdullahjaan0112
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Lecture7 Week 4

The document discusses switch-case statements in C programming. It explains that switch-case allows making decisions from multiple choices based on an integer expression. Each case must have a different integer or character constant. break is used to terminate the switch statement or prevent falling through other cases. While cases can be in any order, only constant expressions are allowed. The document compares advantages of switch-case over if-else ladder, noting switch-case is faster due to compiler generating a jump table.

Uploaded by

abdullahjaan0112
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Lecture 7 CS-SP-22

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

• It is not compulsory to put cases in ascending


order as we did above. We can place them in
any order we want.

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

Disadvantages of switch over if-else


• A float expression cannot be tested using a
switch
• Cases can never have variable
expressions (for example it is wrong to say
case a +3 : )
• Multiple cases cannot use same expressions.
Thus the following switch is illegal:

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.

You might also like