Инструкция цикла for в С

Цикл for в языке С является «синтаксическим сахаром», то есть он не является необходимой конструкцией, и легко заменим циклом while.

Следующие конструкции полностью эквивалентны (при условии отсутствия в теле цикла continue):

for (выражение1; выражение2; выражение3)
операция;
выражение1;
while (выражение2)
{
операция;
выражение3;
}

Конструкция с использование for записывается заметно короче.

Приведем типичные примеры использования цикла for.

Пример 1

Пробежать параметром цикла значения от 0 до N-1, распечатывая его значения:

for (i = 0; i < N; i++)
    printf("%d\n", i)

Что окажется в переменной i после цикла?

Пример 2

Пробежать параметром цикла значения от N-1 до 0, распечатывая его значения:

for (i = N - 1; i >= 0; i--)
    printf("%d\n", i)

Что окажется в переменной i после цикла?

Пример 3

Пробежать значения геометрической прогрессии 1, 2, 4, 8... до 1024 включительно:

for (i = 1; i <=1024; i*=2)
    printf("%d\n", i)

1) Что окажется в переменной i после цикла?

2) Как осуществить вывод первых N членов этой прогрессии, не рассчитывая заранее сам N-й член.