22
Conditional Statement Chapter 8

Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Embed Size (px)

Citation preview

Page 1: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Conditional Statement

Chapter 8

Page 2: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Conditional Statements

Are statements that check an expression then may or may not execute a statement or group of statement depending on the result of the condition.

Page 3: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Types of Conditional Statement

The If Statement The If-Else Statement The Nested-If Statement The If-Else-If Ladder The Switch Statement The Nested Switch Statement

Page 4: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The If Statement

The general form of the If statement is:

if ( expression)

statement;

• Expression is relational or Boolean expression that evaluates to a TRUE (1) or False (0) value.

• Statement may either be a single C statement or a block of C statements.

Page 5: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The If Statement

The general form of the If statement with block statement is:

if ( expression)

{

statement_sequence;

}

• In an if statement, if the expression evaluates to TRUE (1), the statement or the block of statements that forms the target of the if statement will be executed. Otherwise, the program will ignore the statement or the block of statements.

Page 6: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The If-Else statement

The general form of the if-else statement is:

If (expression)

statement_1;

else

statement_2; Where:

– If and else are reserved words– Expression is relational or Boolean expression that

evaluates to a TRUE (1) or False (0) value. – Statement_1 and statement_2 may either be a single C

statement or a block of c statements.

Page 7: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The If-Else statement

The general form of the if-else statement with block of statement is:

If (expression)

{ statement_sequence;

}

else

{

statement_sequence;

}

Page 8: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The If-Else statement

If an if-else statement, if the expression is TRUE (1), the statement or block of statement after the if statement will be executed; otherwise, the statement or block of statement in the else statement will be executed.

Note: Only the code associated with the if or the code that is associated with the else executes, never both.

Page 9: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Nested-If statement

One of the most confusing aspects of the if statement in any programming language is nested ifs. A nested if is an if statement that is the object of either an if or else.

This is sometimes referred to as “an if within an if.”

The reason that nested ifs are so confusing is that it can be difficult to know what else associates with what if.

Page 10: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Nested-If statement

Fortunately, C provides a very simple rule for resolving this type of situation.

In C, the else is linked to the closest preceding if that does not already have an else statement associated with it.

Page 11: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Nested-If statement

Consider the following situations:– Situations 1. The else at number 3 is paired with

the if in number 2 since it is the nearest if statement with the else statement.

1. if….. 2. if ……

… 3. else

Page 12: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Nested-If statement

Consider the following situations:– Situations 2. The else in number 5 is paired with

the if in number 1. 1. if …. 2. { 3. if …. 4. } 5. else

Page 13: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

Nested-If statement

Note that there is a pair of braces found in number 2 and number 4.

The pair of braces defined the scope of the if statement in number 1 starting from the { in number 2 and ends with } in number 4.

Therefore, the else statement in number 5 cannot paired with the if statement in number 3 because the else statement is outside the scope of the first if statement.

This makes the if statement in number 1 the nearest if statement to the else statement in number 5.

Page 14: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The if-else-if Ladder

A common programming construct in C is the if-else- if ladder.

The general form of the if-else-if ladder statement is: if ( expression_1)

statement_1;

else if (expression_2)

statement_2;

else if (expression_3;

statement_3;

:

:

else

statement_else;

Page 15: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The if-else-if Ladder

Where: – If and else are reserve words in C– Expression_1, expression_2 up to expression_n in

relational or boolean expression that evaluates to a TRUE (1) or False (0) value.

– Statement_1, statement_2 up to statement_else may either be a single C statement or a block of C statement.

In an if-else-if ladder statement, the expression are evaluated from the top downward.

As soon as a true condition is found, the statement associated with it is executed and the rest of the ladder will not be executed. If none of the condition is true, the final else is executed.

Page 16: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The if-else-if Ladder

The final else acts as a defaults condition. If all other conditions are false, the last else statement is performed.

If the final else is not present, then no action takes place.

Note: The final else is optional, you may include this part if needed in the program or you may not include if not needed.

Page 17: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The switch statement

The switch statement is a multiple-branch decision statement.

The general form of the switch statement is:

switch (variable) {

case constant1:statement sequence_1;break;

case constant2:statement_sequence_2;break;

::

default:statement_sequence_default;

}

Page 18: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The switch statement

In a switch statement, a variable is successively tested against a list or integer or character constants.

If a match is found, a statement or block of statement is executed.

The default part of the switch is executed if no matches are found.

Page 19: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The switch statement

According to Herbert Schildt (1992), there are three important things to know about switch statements:– 1. The switch differs from if statements in such a way

that switch can only test fro equality whereas if can evaluate a relational or logical expression.

– 2. No two case constants in the same switch can have identical values. Of course, a switch statement enclosed by an outer switch may have case constant that are the same.

Page 20: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The switch statement

– 3. If character constants are used in the switch, they are automatically converted to their integer values.

Note: The break statement is used to terminate the statement associated with each case constant. It is a C keyword which means that at that point of execution, you should jump to the end of the switch statement by the symbol }.

Page 21: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The Nested Switch Statement

The general form of the nested switch statement is:

Page 22: Conditional Statement Chapter 8. Conditional Statements Are statements that check an expression then may or may not execute a statement or group of statement

The Nested Switch Statement

switch (variable){

case constant:{switch (variable) {

case constant1:statement sequence_1;break;

case constant2:statement_sequence_2;break;

}break;}

case constant2:statement sequence;break;

default:statement sequence;

}