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!
Short-Circuiting can also be used to deal with the edge cases in array problem! This is done by checking the boundary first then check the content in the array. So, let's say if you are already out of bound, you won't access the content and trigue the "out of bound" warning!
An assertion is a logical expression that must always be true for the program to be correct.