Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

1.3. Поток контроля 23

1.3 Поток контроля

Управляйте flow в C ++, подобно тому из других языков высокого уровня. Мы рассматриваем базовую структуру и синтаксис контроля flow в C ++ в этой секции, включая прибыль метода, если заявления, заявления выключателя, петли и ограниченные формы «скачков» (разрыв и продолжают заявления).

Если заявление

Каждый язык программирования включает способ сделать выбор, и C ++ нет

исключение. Наиболее распространенный метод делания выбора в C ++ программа с помощью если заявление. Синтаксис, если заявление в C ++ показывают ниже, вместе с небольшим примером.

если (условие)

истинное заявление

еще, если (условие)

еще, если заявление

еще

еще заявление

Каждое из условий должно возвратить Булев результат. Каждое заявление может также

будьте единственным заявлением или блоком заявлений, приложенных в скобах ({...}). «Еще

если» и «еще» части еще дополнительные, и какое-либо число - если части могут быть даны.

Условия проверены один за другим, и заявление, связанное с первым истинным условием, выполнено. Все другие заявления пропущены. Вот простой пример.

если (snowLevel <2)

goToClass (); //делают это, если уровень снега - меньше чем 2

comeHome ();

еще, если (snowLevel <5)

haveSnowballFight (); //, если уровень - по крайней мере 2, но меньше чем 5

еще, если (snowLevel <10)

goSkiing (); //, если уровень - по крайней мере 5, но меньше чем 10

еще

домосед (); //, если уровень снега равняется 10 или больше

Заявление выключателя

Заявление выключателя обеспечивает эффективный способ различить многих отличающихся

варианты согласно ценности составного типа. В следующем примере, a

24

Глава 1. C ++ Учебник для начинающих, единственный характер введен и основанный на стоимости характера, соответствующая функция редактирования, называют. Комментарии объясняют эквивалентную структуру, «если тогда еще», но компилятор свободен выбрать самый эффективный способ выполнить заявление.

команда случайной работы; ci n>> co mmand; //входной управляющий символ

выключатель (команда) //выключатель, основанный на стоимости команды

случай 'я': //, если (командуют == 'я'),

editInsert (); разрыв;

случай 'D': //еще, если (командуют == 'D'),

editDelete (); разрыв;

случай 'R': //еще, если (командуют == 'R'),

editReplace (); разрыв;

неплатеж: //el s e

единое время co <<«U n r e c o g n i z e d command\n»; разрыв;

Аргумент выключателя может быть любым составным типом или перечислением.

случай «по умолчанию» выполнен, если ни один из случаев не равняется аргументу выключателя.

Каждый случай в заявлении выключателя должен быть закончен с оператором выхода из цикла, который, когда выполнено, выходит из заявления выключателя. Иначе, flow контроля «проваливается» к следующему случаю.

В то время как и делают - в то время как петли

C ++ имеет два вида условных петель для повторения по ряду заявлений, пока некоторое указанное условие держится. Эти две петли - стандарт в то время как петля и - в то время как петля. Одна петля проверяет Булево условие прежде, чем выполнить повторение тела петли и другие тесты условие после. Давайте рассмотрим в то время как петля сначала.

в то время как (условие)

заявление тела петли

В начале каждого повторения петля проверяет Булево выражение и затем

выполняет тело петли, только если это выражение оценивает к истинному. Заявление тела петли может также быть блоком заявлений.

Рассмотрите следующий пример. Это вычисляет сумму элементов множества до столкновения с первой отрицательной величиной. Отметьте использование + = оператор, чтобы увеличить ценность суммы и ++ оператор, который увеличивает i после доступа