Examples from N. Wirth "Algorithms and Data Structures. Oberon version", 2004, updated 2012.
Book is available for free here.
Boolean operators in both C and Oberon are short-circuit, while Fortran operators are neither short-circuit nor eager: the language specification allows the compiler to select the method for optimization. Consequently, conditionals and loops relaying on short-circuit evaluation, for instance,
WHILE (A) & (B) & (C) DO
D
END;
has to be rewritten in Fortran as follows,
do while (A)
if (.not. B) exit
if (.not. C) exit
D
end do
C as well as Oberon uses zero-based numbering for arrays, Fortran on the other hand has arrays with user-defined indices and by default subscripts starts with one. Without starting rather useless zero- vs. one-based numbering holy war, for languages which allow the freedom of choice we adopt the zero-based numbering for uniformity.
Both C and Fortran lack the so-called Dijkstra's Loop (also referred to as the Dijkstra's Guarded Loop) construct which is used in the book. It was originally defined in the Guarded Command Language (GCL) with the following syntax,
do G0 -> S0
| G1 -> S1
...
| Gn -> Sn
od
and with the semantics that the repetition executes the guarded commands repeatedly until none of the guards are true.
Dijkstra's Loop is directly supported in just a few programming languages (for instance, in Oberon-07), where its syntax is as follows,
WHILE G0 DO
S0
ELSIF G1 DO
S1
...
ELSIF Gn DO
Sn
END
In other languages it can be easily emulated as shown below for the example of C,
while (true) {
if (G0)
S0
else if (G1)
S1
...
else if (Gn)
Sn
else
break;
}