Control statements
If--then--else
....if
(temperature>212) {
..... ...boil();
.........}
.....else if (temperature>32) {
........pour();
........}
.....else {
........skate();
........}
while loop
....while (x != A[i]) {
.........i = i+1;
.........}
Loop and conditional guards delimited by parens ().
Guards should evaluate to an integer; zero means false, nonzero means true.
do--while loop
....do {
........c = get_next_input();
........done = process(c);
........} while (!done);
``Not'' operator is !:.!= -- not equal, !done
-- false (zero) if done is
....true (nonzero), true otherwise.
for loop
....for (k=0; k<n; k=k+1)
{
........sum = sum + B[k];
........}
Guard on for loop has three parts separated by semicolons: initialization
(done once), continue test (done before each iteration), increment (done
after each iteration).
Loop terminates when continue test fails (evaluates to false).
Do--while loop performs at least one iteration. For and while loops may
perform zero iterations.
switch (case) statement
....switch (first_character)
{
........case 'i':
............insert_text();
............break;
........case 'a':
............append_text();
............break;
........case 'q':
........case 'Q':
............quit();
............break;
....v...default:
............error();
............break;
........}
Case labels must be constant. Cases may have multiple labels.
End each case with a break statement.