This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
notes:cprog:fall2024:projects:cnv0 [2024/10/01 16:29] – [while() loops] tkastne1 | notes:cprog:fall2024:projects:cnv0 [2024/10/01 16:40] (current) – [while() loops] tkastne1 | ||
---|---|---|---|
Line 33: | Line 33: | ||
</ | </ | ||
- | The expression within parentheses will run every loop before the code block and is evaluated as a boolean | + | The expression within parentheses will run every loop **before** the code block and is evaluated as a boolean |
The code block will run only if the expression within the parentheses evaluates to true | The code block will run only if the expression within the parentheses evaluates to true | ||
Line 47: | Line 47: | ||
while() loops are best used when the amount of times a block of code is intended to run is not explicit or simple to calculate | while() loops are best used when the amount of times a block of code is intended to run is not explicit or simple to calculate | ||
====do-while loops==== | ====do-while loops==== | ||
+ | do-while loops are used to repeat a block of code until a certain condition is no longer met | ||
+ | |||
+ | The only difference between a do-while loop and a while() loop is that the block of code in a do-while loop is run unconditionally initially | ||
+ | |||
+ | The format of a do-while loop is as follows: | ||
+ | < | ||
+ | do{code block} | ||
+ | while(expression); | ||
+ | </ | ||
+ | The expression within parentheses will run every loop **after** the code block and is evaluated as a boolean | ||
+ | |||
+ | The code block will run only again if the expression within the parentheses evaluates to true | ||
+ | |||
+ | < | ||
+ | signed int value = 0; | ||
+ | do{ | ||
+ | fprintf(stdout, | ||
+ | value = value * 2 + 3; | ||
+ | } | ||
+ | while(value > 0 && value < 1000); | ||
+ | </ | ||
+ | This code prints value if it is between 0 and 1000 exclusive. However, value is printed while it is 0 because it was before the while() condition | ||