3. Loop Statements
  There are several loop statements:
– The while loop
– The for loop
– The do-while loop
– The break and continue keywords
3.1 Loops – While and For
3.1.1 while statement
– Simplest loop structure – evaluate body as long as condition is true
– Condition evaluated first, so body may never be executed
3.1.2 for statement
– Inside parentheses, three expressions, separated by semicolons:
Initialization; Condition; Increment
– Expressions can be empty (condition assumed to be “true”)
int factorial(int n)
int i, j=1;
for (i=1; i<=n; i++) j *= i;
return j;
int factorial(int n)
int i=1; int j=1;
while (i<=n) {
j *= i;
return j;
int factorial(int n) {
int i, j;
for (i=1, j=1, i<=n; j*=i, i++) ;
return j;
3.1.3 The do-while Loop
The syntax of the do-while loop is
3.2 Break and Continue
The break Keyword
– Sometimes want to terminate a loop early
– break; exits innermost loop or switch statement to exit early
The continue Keyword
– Use to skip an iteration
– continue; skips rest of innermost loop body, jumping to loop condition
3.3 Goto and Labels
3.3.1 goto statement
   C provides the infinitely-abusable goto statement, and labels to branch to.
goto allows you to jump unconditionally to arbitrary part of your code (within the same function).
the location is identified using a label. a label is a named location in the code. It has the same form    as a variable followed by a ’:’
   Formally, the goto statement is never necessary, and in practice it is almost always easy to write code without it [1]. Dijkstra. Go To Statement Considered Harmful. Communications of the ACM 11(3),1968.
– Excess use of goto creates sphagetti code.
– Using goto makes code harder to read and debug.
– Any code that uses goto can be written without using one.
3.3.2 error handling
   Language like C++ and Java provide exception mechanism to recover from errors. In C, goto provides a convenient way to exit from nested blocks.
이전페이지 / 4 / 다음페이지