Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1
Кент Рейсдорф. BORLAND C++BUILDER. Страница 38
Довольно легко по ошибке написать цикл, в котором условие-будет всегда: выполнено. Это приведет к зависанию (зацикливанию) программы. Вам останется только нажать Ctrl+Alt+Del и прекратить ее выполнение. Появится окно завершения программы Windows, в котором после названия программы будет стоять Not Responding (Не отвечает). Вам нужно будет выбрать программу из списка и щелкнуть на кнопке End Task (Снять задачу). Г
В C++Builder программа обычно:запускается с помощью кнопки Run на опера-: тивной панели или нажатием F9. Если нужно прекратить выполнение программы, запущенной из IDE, вы можете выбрать в главном меню пункт Run | Reset Process или нажать комбинацию клавиш Ctrl+F2. ■ ■ "
После этого общего обзора давайте рассмотрим каждый тип цикла в отдельности.
Цикл for, пожалуй, используется чаще других. Он имеет три параметра: инициализирующее выражение, условное выражение и инкрементное выражение.
for (initial; cond_expr; adjust) { statements;
В цикле for блок кода, обозначенный как statements, выполняется до тех пор, пока условное выражение cond_expr истинно (не равно нулю). Для инициализации цикла используется оператор initial. После выполнения блока statements переменная цикла модифицируется оператором adjust.
Чтобы лучше понять все вышесказанное, рассмотрим несколько конкретных примеров. Для начала возьмем типичный for-цикл:
for (int i = 0; i < 10; i++) {
cout « "This is iteration " « i « endl;
}
В этом примере оператор внутри фигурных скобок будет выполнен 10 раз. Первый параметр, int i = 0, определяет начальное значение переменной цикла. (Я объявил и инициализировал переменную внутри оператора for. Это совершенно законно и часто применяется в for-циклах.) Второй параметр, i < 10, является условием, согласно которому цикл будет повторяться, пока значение переменной i меньше 10. Поскольку я начал с 0, нужно будет остановиться до того, как i примет значение 10. Последний параметр, i++, увеличивает переменную i на единицу после каждого прохода.