Конструкции принятия решений в C++

Конструкции решенийВ программировании, бывают ситуации, когда нам нужно проверить некоторые условия и соответственно, если условие истинно или ложно, то нам приходится выполнить другой блок операторов.

Другими словами, при программировании нам необходимо позаботиться о принятии решений. В этой статье мы рассмотрим конструкции принятия решений в C++.

Принятие решений в C++

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

Далее мы обсудим важные конструкции принятия решений, присутствующие в C++.

Оператор If

Общий синтаксис оператора If (если) приведен ниже:

Это основная конструкция принятия решений. Условие внутри конструкции if оценивается. Если это правда, выполняется блок операторов внутри фигурных скобок, следующий за оператором «если».

Если условие ложно, то блок операторов пропускается и управление передается операторам, следующим за блоком if.

Блок-схема оператора if приведена ниже:

Блок-схема оператора if

Вот пример для демонстрации конструкции решения «если»:

Вывод данных:

Введите число от 1 до 10
Вы ввели правильный номер

В приведенной выше программе мы используем конструкцию if, чтобы определить, находится ли введенное число в диапазоне от 1 до 10.

Оператор if-else

Иногда возникает ситуация, когда мы хотим выполнить один блок операторов, если условие истинно, а другой блок операторов — если условие ложно. В такой ситуации мы используем конструкцию If-else.

Общий синтаксис для If-else приведен ниже:

Если условие истинно, то выполняется блок операторов, следующий за условием «если». Если условие ложно, то выполняется блок операторов, следующий за оператором else.

Читать также:  Векторы в STL

Блок-схема конструкции if-else показана ниже:

Блок-схема if-else

Чтобы понять работу оператора if-else, давайте рассмотрим следующий пример:

Вывод данных:

Символ «S»

В этой программе мы проверим, является ли символ «S» правильным, и, соответственно, напечатаем сообщение.

Оператор else if

В этой конструкции у нас есть несколько условий, а также вариантов. Если условие истинно, то выполняется блок операторов, следующий за оператором if. Если условие ложно, то другое, если условие проверено.

В зависимости от того, является ли условие истинным или ложным, проверяется блок операторов или другое условие. Это показано в общем синтаксисе этой конструкции ниже:

Как показано выше, в части else первого оператора if есть несколько операторов if. Последний уровень конструкции — оператор else, который выполняет оператор по умолчанию.

Блок-схема оператора Else if:

Блок-схема Else if

Давайте посмотрим пример этой конструкции:

Вывод данных:

Чтобы проверить, является ли введенное число положительным или отрицательным
Введите число: 7
Число положительное

В коде, показанном выше, мы используем конструкцию else-if. Здесь мы проверяем, является ли введенное число нулем, отрицательным или положительным. Для этого мы используем конструкцию if-else if-else.

Вложенный оператор if

Под термином «вложенное если» мы подразумеваем одно или несколько операторов «если» внутри другого оператора «если». У нас может быть любая форма оператора if, например, простое if, if-else, else-if или другое вложенное if в зависимости от наших требований.

Ниже приведен общий синтаксис вложенного if:

Блок-схема вложенного оператора If:

Блок-схема вложенного If

Давайте посмотрим пример, демонстрирующий работу вложенного оператора if:

Читать также:  Преобразование типов в C++

Вывод данных:

Число = 10

Оператор switch

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

Чтобы избежать этого, у нас есть новая конструкция под названием switch «оператор переключения», которая позволит нам проверять условие и иметь несколько вариантов/случаев, которые могут изменить поток выполнения.

Оператор switch оценивает условное выражение, а затем сопоставляет значение этого выражения с каждым случаем. Когда значение выражения соответствует оператору case, выполняется код этого оператора.

Общий синтаксис оператора switch приведен ниже:

Как показано в приведенном выше синтаксисе, условное выражение переключения должно быть таким, которое возвращает постоянное значение. Выражения, оценивающие значения переменных, недействительны. У нас есть n случаев для оператора switch и случай по умолчанию. Обратите внимание, что случай по умолчанию будет выполнен, если выражение не соответствует ни одному из предоставленных случаев.

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

Оператор break «перерыв»; также является необязательным. Оператор break используется для выхода из оператора. В случае, если оператор break не указан, после того, как будет найдено совпадение для case, будут выполняться и другие последующие case.

Блок-схема оператора Switch приведена ниже:

Блок-схема Switch

Ниже приведен пример программы для оператора Switch:

Вывод данных:

Введите заглавную гласную букву: U
Введенный символ: U

Читать также:  Стеки и очереди в STL

В приведенной выше программе мы проверяем, является ли введенный символ английской гласной. Для этого мы указали регистры гласных и регистр по умолчанию, если вводится символ, отличный от гласного.

Оператор goto

Мы используем оператор goto всякий раз, когда нам нужно перейти к другой части кода из одной точки. Здесь мы помечаем конкретный оператор, а затем, используя «метку перехода», переходим к этому конкретному оператору.

Общий синтаксис оператора goto:

Блок-схема оператора Goto показана ниже:

Блок-схема Goto

Оператор goto позволяет нам перейти к любой части программы. Однако использование «goto» считается плохой практикой программирования, и мы должны избегать его, насколько это возможно.

Основная причина заключается в том, что переход к другим частям кода с помощью оператора «goto» может сделать нашу программу более сложной и нечитаемой. Вместо этого мы можем писать гораздо более эффективные программы, используя операторы break и continue.

Вот пример работы оператора «goto»:

Вывод данных:

Число больше 0
Число равно 5

В приведенной выше программе мы используем оператор «goto». Мы проверяем, меньше ли число 5 или равно ему, и если да, то переходим к метке с именем «labelfive».

Итог

Мы подошли к концу этой непростой статьи по конструкциям принятия решений в C++. Как уже говорилось, эти конструкции принятия решений позволяют нам выполнять код по нашему выбору.

В нашем следующем уроке мы подробно обсудим циклы в C++. Циклы в C++ используются для многократного выполнения кода. Мы также обсудим операторы break и continue и их использование с примерами.

С Уважением, МониторБанк

Добавить комментарий