Почему цикл выводит 0 в самом начале?
В данном случае разницы нет. Так как эта операция (i++ или ++i) выполнится в конце итерации.
А в примере ниже разница уже есть:int i = 0;
for (; i < 5;)
{		
	Console.Write(++i);  // 12345	
	
	// i = i+1;
	// Console.Write(i);
}
		
Console.WriteLine();
		
i=0;	
	
for (; i < 5;)
{			
	Console.Write(i++); // 01234

	// Console.Write(i);
	// i = i+1;	
}
Третий блок в for выполняется после тела цикла.