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

DECISION Statements

Decision-making statements in programming languages help control the flow of a program by transferring control from one part of the program to another based on whether conditions are satisfied or not. Common decision-making statements in C include if, if-else, if-else-if ladder, switch case, goto, loop, continue, and break statements. These statements check conditions and execute code blocks accordingly, altering the sequential execution of statements and allowing programs to make decisions based on changing inputs or logic.

Uploaded by

Computer Notes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views

DECISION Statements

Decision-making statements in programming languages help control the flow of a program by transferring control from one part of the program to another based on whether conditions are satisfied or not. Common decision-making statements in C include if, if-else, if-else-if ladder, switch case, goto, loop, continue, and break statements. These statements check conditions and execute code blocks accordingly, altering the sequential execution of statements and allowing programs to make decisions based on changing inputs or logic.

Uploaded by

Computer Notes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

DECISION-MAKING STATEMENTS

 Decision-making statements in a programming language help the programmer to transfer the control from one part to
other parts of the program.
 Thus, these decision-making statements facilitate the programmer in determining the flow of control.
 This involves a decision-making condition to see whether a particular condition is satisfied or not.
 On the basis of real time applications it is essential:

(i)to alter the flow of a program.


(ii) to test the logical conditions.
(iii) to control the flow of execution as per the selection.

 These conditions can be placed in the program using decision-making statements.


 C language supports the control statements as listed below:
(i) The if statement
(ii) The if–else statement
(iii) The if–else–if ladder statement
(iv) The switch case statement
(v) The goto unconditional jump
(vi) The loop statement

 Besides, the C also supports other control statements such as continue, break.

 The decision-making statement checks the given condition and then executes its sub-block.
 The decision statement decides which statement to execute after the success or failure of a given
condition.
 The conditional statements use relational operators.
 The relational operators are useful for comparing the two values.
 They can be used to check whether they are equal to each other, unequal or one is smaller/greater than the other.
 The reader or the programmer is supposed to understand the concepts as cited above.

 Following points are expected to be known to the programmer related to the decision-making statements.

 Sequential execution:
 The statements in the program are executed one after another in a sequential manner.
 This is called the sequential execution.

 Transfer of control:
 The C statements such as if, goto, break, continue, switch allow a program to transfer the control at different places in
the program.
 This is accomplished by skipping one or more statements appearing in a sequential flow.
 This jumping of control is called the transfer of control.

THE if STATEMENT
 C uses the keyword if to execute a set of command
lines or one command line when the logical condition
is true.
 It has only one option.
 The sets of command lines are executed only when the
logical condition is true (see Figure 1).

Fig(1): The if statement

 The if statement contains an expression which is evaluated. If the expression is true it returns 1,
otherwise 0.
 The statement is executed when the condition is true. In case the condition is false, the compiler skips the lines within
the if block.
 The condition is always enclosed within a pair of parentheses.
 The conditional statements should not be terminated with semi-colons (;).
 The statements following the if statement are normally enclosed within curly braces.
 The curly braces indicate the scope of the if statement.
 The default scope is one statement.
 But it is good practice to use curly braces even if a single statement is used following the if condition.

 Program to check whether the entered number is less than 10. If yes, display the same.
Fig(2): The if statement (flow of control)

Explanation:
 In the above program, the user can enter the number.
 The entered number is checked with the if statement.
 If it is less than 10, a message ‘Number entered is less than 10’ is displayed.
 For the sake of understanding, Figure 2 is given for the above program.

THE if–else STATEMENT


 The if–else statement takes care of the true and false conditions.
 It has two blocks.
 One block is for if and it is executed when the condition is true.
 The other block is of else and it is executed when the condition is false.
 The else statement cannot be used without if.
 No multiple else statements are allowed with one if (see Figures 3 and 4).
 The flow chart for the if–else statement is given in Figure 4.
Fig(3): The if–else statements

Fig(4): The if–else statement (flow control)


 Program to find the roots of a quadratic equation by using if-else condition.

 Explanation:
 The user can enter the values of a, b and c in the
above program.
NESTED if–else STATEMENTS

 In this kind of statement, a number of logical conditions are checked for executing various statements.
 Here, if any logical condition is true the compiler executes the block followed by if condition, otherwise it skips and
executes the else block.
 In the if–else statement, the else block is executed by default after failure of condition
 In order to execute the else block depending upon certain condition we can add, repetitively, if statements in else block.
This kind of nesting will be unlimited.
 Figure 5 describes the nested if–else–if blocks.
 Syntax of nested if-else statement can be given as
follows:

Fig(5): Nested if–else statements(flow control)

 From the above block, following rules can be described for applying nested if-else-if statements:

1. Nested if-else can be chained with one another.

2. If the condition is true control passes to the block following first if.
 In that case, we may have one more if statement whose condition is again checked.
 This process continues till there is no if statement in the last if block.

3. If the condition is false control passes to else block.


 In that case, we may have one more if statement whose condition is again checked.
 This process continues till there is no if statement in the last else block.
THE if-else-if LADDER STATEMENT

 In this kind of statement, a number of logical conditions are checked for executing various statements.
 Here, if the first logical condition is true the compiler executes the block followed by first if condition,
 otherwise it skips that block and checks for next logical condition followed by else-if, if the condition
is true the block of statements followed by that if condition is executed.
 The process is continued until a true condition is occurred or an else block is occurred.
 If all if conditions become false, it executes the else block.
 In the if-else-if ladder statement, the else block may or may not have the else block.

 In if-else-if ladder statement we do not have to pair if statements with the else statements that is we do not have to
remember the number of braces opened like nested if-else.
 So it is simpler to code than nested if-else and having same effect as nested if-else.
 The statement is named as if-else-if ladder because it forms a ladder like structure as shown in Figure 6.

Fig(6): if–else–if ladder statement

 Syntax of if-else-if statement can be given as follows:

 From the above block, following rules can be described


for applying nested if-else-if
statements:

 Nested if-else can be chained with one another.


 If the first if condition is false control passes to else-if
block where condition is again checked with the next if
statement.
 This process continues till there is no if statement in the
last else block.
 If one of the if statements satisfies the condition, other
nested else-if statement will not be executed.
 Program to calculate electricity bill. Read the starting and ending meter reading.The charges are as follows:
Explanation:
 Initial and final readings are entered through the keyboard.
 Their difference is nothing but the total energy consumed.
 As per the table given in the example, rates are applied and total bill based on consumption of energy is
calculated.
THE break STATEMENT
 The keyword break allows the programmers to terminate the loop.
 The break skips from the loop or block in which it is defined.
 The control then automatically goes to the first statement after the loop or block.
 The break can be associated with all conditional statements.

 We can also use the break statements in the nested loops


 If we use the break statement in the innermost loop, then the control of the program is terminated only from the
innermost loop.

 The difference between the break and exit() is provided in Table


THE continue STATEMENT
 The continue statement is exactly opposite of the break statement.
 The continue statement is used for continuing the next iteration of the loop statements.
 When it occurs in the loop, it dose not terminate, but it skips the statements after this statement.
 It is useful when we want to continue the program without executing any part of the program.
 Table gives the differences between break and continue.
THE goto STATEMENT
 This statement does not require any condition.
 This is an unconditional control jump.
 This statement passes control anywhere in the program,
i.e. control is transferred to another part of the program
without testing any condition.
 User has to define the goto statement as follows:
goto label;
where, the label name must start with any character.

 Here, the label is the position where the control is to be


transferred.
 Program to detect the entered number as to whether
it is even or odd.
 Use the goto statement.

Explanation:
 In the above program, a number is entered.
 The number is checked for even or odd with modules division
operator.
THE switch STATEMENT

 The switch statement is a multi-way branch statement.


 In the program, if there is a possibility to make a choice from a number of options, this structured selection is useful.
 The switch statement requires only one argument of any data type, which is checked with the number of case options.
 The switch statement evaluates expression and then looks for its value among the case constants.
 If the value matches with case constant, this particular case statement is executed.
 If not, default is executed.
 Here, switch, case and default are reserved keywords.
 Every case statement terminates with ‘:’.
 The break statement is used to exit from current case structure.
 The switch statement is useful for writing the menu-driven program.

 The syntax of the switch case statement is as follows:


(a) The switch expression

 In the block, the variable or expression can be a character or an integer.


 The integer expression following the keyword switch will yield an integer value only.
 The integer may be any value 1, 2, 3, and so on.
 In case a character constant, the values may be given in the alphabetic order such as ‘x’, ‘y’, ‘z’.

(b) The switch organization

 The switch expression should not be terminated with a semi-colon and/or with any other
symbol.
 The entire case structure following switch should be enclosed with curly braces.
 The keyword case is followed by a constant.
 Every constant terminates with a colon.
 Each case statement must contain different constant values.
 Any number of case statements can be provided.
 If the case structure contains multiple statements, they need not be enclosed with curly braces.
 Here, the keywords case and break perform the job of opening and
closing curly braces, respectively.

(c) The switch execution

 When one of the cases satisfies, the statements following it are executed.
 In case, there is no match, the default case is executed.
 The default can be put anywhere in the switch expression.
 The switch statement can also be written without the default statement.
 The break statement used in switch causes the control to go outside the switch block.
 By mistake, if no break statements are given all the cases following it are executed
(see Figure).
 Program to print lines by selecting the choice:

Explanation:

 In this program, a menu appears with five options and


it requests the users to enter their choice.
 The choice entered by the user is then passed to switch
statement.
 In the switch statement, the value is checked with all
the case constants.
 The matched case statement is executed in which the
line is printed of the user’s choice.
 If the user enters a non-listed value, then no match
occurs and default is executed.
 The default warns the user with a message ‘Invalid
Choice’.
NESTED switch CASE

 The C supports nested switch statements.


 The inner switch can be a part of an outer switch.
 The inner and outer switch case constants may be the same.
 No conflicts arise even if they are the same.
 Program to detect if the entered number is even or odd. Use nested switch case statements.

Explanation:

 In the above-given program, the first switch statement is used for displaying
the message such as even or odd numbers when the entered numbers are 0
and 1, respectively.
THE switch CASE AND NESTED ifs

 The distinction between the switch case and the nested ifs is narrated in Table.

 Program to convert integer to character using if condition.

Explanation:

 In this program, the variable ‘x’ is declared as an integer variable.


 Its value is entered through the keyboard.
 The ASCII value of entered number is checked with the if statement.
 If there is a match, the ASCII, value is displayed.

You might also like