# 12.1: If Then Else

## Introduction to Two Way Selection

We are going to introduce the control structure from the selection category that is available in every high level language. It is called the if then else structure. Asking a question that has a true or false answer controls the if then else structure. It looks like this:

if the answer to the question is true
then do this
else because it's false
do this


In most languages the question (called a test expression) is a Boolean expression. The Boolean data type has two values – true and false. Let's rewrite the structure to consider this:

if expression is true
then do this
else because it's false
do this


Some languages use reserved words of: "if", "then" and "else". Many eliminate the "then". Additionally the "do this" can be tied to true and false. You might see it as:

if expression is true
action true
else
action false 

And most languages infer the "is true" you might see it as:

if expression
action true
else
action false


The above four forms of the control structure are saying the same thing. The else word is often not used in our English speaking today. However, consider the following conversation between a mother and her child.

Child asks, "Mommy, may I go out side and play?"

Mother answers, "If your room is clean then you may go outside and play or else you may go sit on a chair for five minutes as punishment for asking me the question when you knew your room was dirty."

Let's note that all of the elements are present to determine the action (or flow) that the child will be doing. Because the question (your room is clean) has only two possible answers (true or false) the actions are mutually exclusive. Either the child 1) goes outside and plays or 2) sits on a chair for five minutes. One of the actions is executed; never both of the actions.

#### One Choice - Implied Two Way Selection

Often the programmer will want to do something only if the expression is true, that is with no false action. The lack of a false action is also referred to as a "null else" and would be written as:

if expression
action true
else
do nothing


Because the "else do nothing" is implied, it is usually written in short form like:

if expression
action true


## Two Way Selection within C++

The syntax for the if then else control structure within the C++ programming language is:

if (expression)
statement;
else
statement;


Note: The test expression is within the parentheses, but this is not a function call. The parentheses are part of the control structure. Additionally, there is no semicolon after the parenthesis following the expression.

## Definitions

If Then Else
A two way selection control structure.
Mutually Exclusive
Items that do not overlap. Example: true and false.