Search results
Results from the WOW.Com Content Network
Because the while loop checks the condition/expression before the block is executed, the control structure is often also known as a pre-test loop. Compare this with the do while loop, which tests the condition/expression after the loop has executed. For example, in the languages C, Java, C#, [2] Objective-C, and C++, (which use the same syntax ...
Do while loops check the condition after the block of code is executed. This control structure can be known as a post-test loop. This means the do-while loop is an exit-condition loop. However a while loop will test the condition before the code within the block is executed.
The language permits counted loops, where an expression is computed at the start of the loop and the instructions within the loop are executed that many times: do expression [instructions] end. The language supports an unconditional loop via forever that continues until the loop is aborted or the program is terminated. do forever [instructions] end
This makes part of the data structure into a ring, causing naive code to loop forever. While most infinite loops can be found by close inspection of the code, there is no general method to determine whether a given program will ever halt or will run forever; this is the undecidability of the halting problem. [8]
However, infinite loops can sometimes be used purposely, often with an exit from the loop built into the loop implementation for every computer language, but many share the same basic structure and/or concept. The While loop and the For loop are the two most common types of conditional loops in most programming languages.
The following example is done in Ada which supports both early exit from loops and loops with test in the middle. Both features are very similar and comparing both code snippets will show the difference: early exit must be combined with an if statement while a condition in the middle is a self-contained construct.
In addition, the loop control variables and number of operations inside the unrolled loop structure have to be chosen carefully so that the result is indeed the same as in the original code (assuming this is a later optimization on already working code). For example, consider the implications if the iteration count were not divisible by 5.
The code associated with a graceful exit may also take additional steps, such as closing files, to ensure that the program leaves data in a consistent, recoverable state. Graceful exits are not always desired.