К размещению выражения инициализации за пределами цикла, как правило, прибегают только в том случае, когда начальное значение генерируется сложным процессом, который неудобно поместить в определение цикла. Кроме того, раздел инициализации оставляют пустым и в случае, когда управление циклом осуществляется с помощью параметра некоторой функции, а в качестве начального значения управляющей переменной цикла используется значение, которое получает параметр при вызове функции.
Бесконечный цикл
—Оставив пустым условное выражение цикла for, можно создать бесконечный цикл (цикл, который никогда не заканчивается). Способ создания такого цикла показан на примере следующей конструкции цикла for.
for(;;)
{
//...
}
Этот цикл будет работать без конца. Несмотря на существование некоторых задач программирования (например, командных процессоров операционных систем), которые требуют наличия бесконечного цикла, большинство "бесконечных циклов" — это просто циклы со специальными требованиями к завершению. Ближе к концу этой главы будет показано, как завершить цикл такого типа. (Подсказка: с помощью инструкции
В программах часто используются так называемые циклы временной задержки. Их задача — просто "убить время". Для создания таких циклов достаточно оставить пустым тело цикла, т.е. опустить те инструкции, которые повторяет цикл на каждой итерации. Вот пример:
for(x=0; х<1000; х++);
Этот цикл лишь инкрементирует значение переменной
Прежде чем двигаться дальше, не помешало бы поэкспериментировать с собственными вариациями на тему цикла for. Это вам поможет убедиться в его гибкости и могуществе.
Инструкция switch
—Прежде чем переходить к изучению других циклических С++-конструкций, познакомимся с еще одной инструкцией выбора —
switch(выражение) {
case константа1:
последовательность инструкций
break;
case константа2:
последовательность инструкци
break;
case константа3:
последовательность инструкций
break;
.
.
.
default:
последовательность инструкций
}
Элемент
Последовательность инструкций
Инструкции default-ветви
Итак, для применения