Ротация ветвлений
Бесконечные циклы с выходом по break могут быть преобразованы в конечные циклы с постусловием. При этом, тело цикла как бы прокручивается, чтобы оператор break переместился на место while(1), а сам while(1) сомкнулся с оператором do и "коллапсировал".
Продемонстрируем это на следующем примере:
do
{
printf("1й оператор цикла\n");
if (--a<0) break;
printf("2й оператор цикла\n");
} while(1);