Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1

Кент Рейсдорф. BORLAND C++BUILDER. Страница 41

bool done = false; do {

// операторы тела цикла done = SomeFunctionReturningABool() ; // операторы тела цикла } while (!done);

Какой цикл использовать, while или do-while, зависит от того, что этот цикл делает.

I Оператор цикла do-while:

do {

statements; } while (cond_expr);

Пока условное выражение cond expr имеет значение true (не равно нулю), выполняется блок statements. Цикл должен быть инициализирован до оператора do, а изменение переменной цикла должно происходить внутри I тела цикла. Цикл заканчивается, как только выражение cond_expr I примет значение false.

Оператор goto

Я упомяну goto только для того, чтобы вы знали о его существовании. Оператор goto позволяет перейти на предварительно объявленную метку. После имени метки ставится двоеточие. Это иллюстрируется следующим фрагментом кода:

Здесь нет необходимости использовать фигурные скобки, поскольку все строки между оператором goto и меткой будут выполнены.

Использование оператора goto в программах на Си++ считается плохим стилем. Все, что вы хотели бы сделать с помощью goto, можно сделать с помощью циклов while или do-while. Очень немногие из уважающих себя программистов на Си++ используют goto в своих программах. Если вы переходите к программированию на Си++ от другого языка, использующего операторы goto, то обнаружите, что основные конструкции Си++ делают goto ненужным.


Оператор goto:

goto label

label:

Оператор goto осуществляет безусловный переход на строку, обозначен­

ную меткой label.


Операторы continue и break

До того, как мы закончим рассмотрение циклов, вам нужно узнать еще о двух ключевых словах, которые помогают управлять выполнением цикла. Оператор continue используется для перехода на начало цикла. Например, вам нужно, чтобы часть цикла не выполнялась, если результатом некоторой проверки будет true. В этом случае следует использовать continue, чтобы перейти обратно к началу цикла и избежать выполнения кода, расположен­ного после оператора continue:

Web-дизайн (с) 2010 - 2017 All rights reserved