Lec 04 - Conditionals
Last updated
Last updated
Slides:
else
We do not write an else
after a return
statement, since it is redundant. For example,
In C, we cannot chain the comparison operators together. For example, the following is prohibitted.
When evaluating the logical expressions that involve &&
and ||
, C uses "short-circuiting". If the program already knows, for sure, that a logical expression is true or false, there is no need to continue the evaluation. The corresponding true
or false
value will be returned.
The two cases of shorting-circuiting used with logical operators:
<a> || <b>
: If <a>
is true, <b>
won't be evaluated and the expression will return true. Otherwise, it will evaluate <b>
.
<a> && <b>
: If <a>
is false, <b>
won't be evaluated and the expression will return false. Otherwise, it will evaluate <b>
.
Another reason to keep short-circuiting in mind is that the order of the logical expressions matter: we would want to put the logical expression that involves more work in the second half of the expression. Take the following example:
Checking whether a number is below 100,000 is easier than checking if a number is prime. So, we can skip checking for primality if the number
is too big. Compare this to:
Suppose number
is a gigantic integer, then we would have spent lots of effort checking if number
is a prime, only to find out that it is too big anyway!
An assertion is a logical expression that must always be true for the program to be correct.