Teaching the humble for loop So, in C-style languages, the for loop has a funny little syntax:
for (int i = 0; i &lt; 100; i++) {
    // do something
}

If we order these sections in a natural, intuitive fashion, we would get something like:
for (1; 2; 3) {
    4
}

... which is how students seem to feel like things should be ordered.  But, of course, the real execution order is 1, 2, 4, 3, 2, 4, 3, 2, 4, 3, 2, 4, 3...
What tricks have you developed for helping students make sense of for loops at the very start?
Show then how the loop can be unfolded into a while loop:
int i = 0 // Step 1
while (i&lt; 100) { // Step 2
    // Do something
    i++ // Step 3
}

Explain that the order is derived from that unfolding.
You could start out by only teaching while loops, forcing them to make these while loops with iterators, then showing that for loops are a condensed of those while loops with incrementing variables.