Loadand display the fileifelse.cfor an example of our first conditional branching statement,
the "if".
/* This is an example of the if and if-else statements */
main()
{
int data;
for(data = 0;data < 10;data = data + 1) {
if (data == 2)
printf("Data is now equal to %d\n",data);
if (data < 5)
printf("Data is now %d, which is less than 5\n",data);
else
printf("Data is now %d, which is greater than 4\n",data);
} /* end of for loop */
}
Notice first, that there is a "for" loop with a compound statement as its executable part containing two "if" statements. This is an example of how statement can be nested. It should be clear to " statements will be executed 10 times.
Consider the first "if" statement. It starts with the keyword "if" followed by an expression in
parentheses. If the expression is evaluated and found to be true, the single statement following
the "if" is executed. If false, the following statement is skipped. Here too, the single statement
can be replaced by a compound statement composed of several statements bounded by braces.
The expression "data" == 2" is simply asking if the value of data is equal to 2, this will be
explained in detail in the next chapter. (Simply suffice for now that if "data = 2" were used in
this context, it would mean a completely different thing.)
Now For The If-Else
The second "if" is similar to the first, with the addition of a new reserved word, the "else",
following the first printf statement. This simply says that, if the expression in the parentheses
evaluates as true, the first expression is executed, otherwise the expression following the "else"
is executed. Thus, one of the two expressions will always be executed, whereas in the first
example the single expression was either executed or skipped. Both will find many uses in your
C programming efforts. Compile and run this program to see if it does what you expect.
The Break And Continue
Load the file named breakcon.c for an example of two new statements.
main( )
{
int xx;
for(xx = 5;xx < 15;xx = xx + 1){
if (xx == 8)
break;
printf("in the break loop, xx is now %d\n",xx);
}
for(xx = 5;xx < 15;xx = xx + 1){
if (xx == 8)
continue;
printf("In the continue loop, xx is the now %d\n",xx);
}
}
Notice that in the first "for" there is an if statement that calls a break if xx equals 8. The break
will jump out of the loop you are in and begin executing the statements following the loop,
effectively terminating the loop. This is a valuable statement when you need to jump out of a
loop depending on the value of some results calculated in the loop. In this case, when xx reaches
8, the loop is terminated and the last value printed will be the previous value, namely 7.
The next "for" loop, contains a continue statement which does not cause termination of the loop
but jumps out of the present iteration. When the value of xx reaches 8 in this case, the program
will jump to the end of the loop and continue executing the loop, effectively eliminating the
printf statement during the pass through the loop when xx is eight. Compile and run the program to see if it does what you expect.
Google Search
Custom Search