This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
notes:cprog:fall2024:projects:cnv0 [2024/09/09 21:19] – created - external edit 127.0.0.1 | notes:cprog:fall2024:projects:cnv0 [2024/10/01 16:40] (current) – [while() loops] tkastne1 | ||
---|---|---|---|
Line 9: | Line 9: | ||
====for() loops==== | ====for() loops==== | ||
+ | for() loops are used to repeat a block of code a certain amount of times | ||
+ | |||
+ | for() loops have a fixed format | ||
+ | < | ||
+ | for(first; second; third){code block} | ||
+ | </ | ||
+ | The first expression is executed once at the start of the statement. The second expression must evaluate to a boolean and is evaluated before every loop. The third expression is executed after every loop. | ||
+ | |||
+ | The following is an example of how a for() loop can be used | ||
+ | |||
+ | < | ||
+ | for(int i = 10; i >= 0; i--){ | ||
+ | fprintf(stdout, | ||
+ | } | ||
+ | fprintf(stdout, | ||
+ | </ | ||
====while() loops==== | ====while() loops==== | ||
+ | while() loops are used to repeat a block of code until a certain condition is no longer met | ||
+ | |||
+ | The format for a while loop is as follows: | ||
+ | < | ||
+ | while(expression){code block} | ||
+ | </ | ||
+ | |||
+ | 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 | ||
+ | < | ||
+ | signed int value = 7; | ||
+ | while(value < 1000){ | ||
+ | fprintf(stdout, | ||
+ | value = value * 2 + 3; | ||
+ | } | ||
+ | </ | ||
+ | The loop in this code runs 7 times, outputting 7, 17, 37, 77, 157, 317, and 637; stopping before printing 1277 | ||
+ | |||
+ | 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 | ||