Бесконечный цикл может быть представлен следующей схемой:

i=0;
label: i++; //эти три оператора образуют бесконечный цикл
i--;
goto label;
Как правило, появление в программе бесконечных циклов вызвано логическими ошибками, допущенными программистом при разработке алгоритма и кодировании (написании операторов программы) с использованием оператора безусловного перехода goto. Поэтому в современных алгоритмических языках этот оператор практически не используется, а заменяется циклами. Бесконечные циклы не выявляются транслятором при синтаксическом контроле и проявляются только после запуска программы на выполнение следующим образом:
1) длительное время (десятки секунд) программа не выводит на устройство вывода никакой информации – программа зависает,
2) на устройство вывода постоянно выводится одна и та же информация.
Таким образом, бесконечные циклы – это логические ошибки программиста.
С ними сталкивается любой программист, и поэтому необходимо овладеть методами их поиска.