for: C-style for loop construct

Package: language

Syntax

for ([assign1] ; [bool_expr] ; [assign2]) statement

Elements

assign1
An assignment used to initialize the for loop.
bool_expr
A boolean valued expression tested before each iteration.
assign2
An assignment executed after each iteration of the loop.
statement
A statement (possibly compound, i.e., enclosed in curly brackets) to be executed in each iteration of the loop.

Description

The for statement provides a looping mechanism similar to the C-language for loop. Assign1 and assign2 are assignment statements using one of the operators '=', '+=', '-=', '/=', '*='. Any of the elements of the for loop may be omitted, except the parenthesis and colon field delimiters.

Examples

1. For I equals zero to 10 in steps of 2, increment TOTAL by the value of array element I.

for (i=0;  i <= 10;  i += 2)
    total += array[i]

2. Print the first eight powers of two.

j = 1
for (i=1;  i <= 8;  i += 1) {
     print (i, j)
     j *= 2
}

Bugs

A simple assignment of the form i++ will not work. Only one assignment statement is permitted in the first and third fields.

See also

while, case, break, next