Конструкция ветвления в C++

17672

Конструкция ветвления в C++

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

Например, мы вводим какое-то целое число. Если оно >10, то программа приступает к выполнению одного действия, если <10 – другого. Давайте попробуем реализовать этот алгоритм на языке C++, используя известную всем программистам конструкцию ветвления.

#include 
using namespace std;

int main()
{
    setlocale(0, "");
    double num;

    cout << "Введите произвольное число: "; cin >> num;

    if (num < 10) { // Если введенное число меньше 10.
        cout << "Это число меньше 10." << endl;
    } else { // иначе
        cout << "Это число больше либо равно 10." << endl;
    }
    return 0;
}

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

Оператор if

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

Конструкция ветвления в C++
Конструкция ветвления в C++

Фигурными скобками обрамляется тело условия. В случае, если условие имеет шанс на выполнение, то и остальные команды, находящиеся в пределах фигурных скобок, также будут выполнены.

Пример конструкции ветвления

if (num < 10) {  // Если введенное число меньше 10.
    cout << "Это число меньше 10." << endl;
} else {  // иначе
    cout << "Это число больше либо равно 10." << endl;
}

В данном случае подразумевается зависимость типа появляющегося сообщения от значения переменной num. Давайте попробуем усовершенствовать таким образом, чтобы добиться появления сообщения о num = 10.

if (num < 10) {  // Если введенное число меньше 10.
    cout << "Это число меньше 10." << endl;
} else if (num == 10) {
    cout << "Это число равно 10." << endl;
} else {  // иначе
    cout << "Это число больше 10." << endl;
}

Проверяем три условия при которых число <, > или = 10.

Обратите внимание – во втором условии нами используется именно оператор равенства. Объясняется это тем, что значение переменной при проведении проверки нами не изменяется – мы просто проводим элементарное сравнение переменной с числом 10.

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

Каждому существующему оператору if может быть присвоен один-единственный оператор else. Объединение else if свидетельствует о том, что если более раннее условие не было успешно выполнено, то нужно проверить то условие, которое существует в данный момент. Если все условия неверны, то начинается выполнение тела else.

Если после трех вышеупомянутых операторов планируется выполнение одной-единственной команды, то от использования фигурных скобок можно отказаться. Что же касается предыдущей программы, то ее можно представить так:

#include 
using namespace std;

int main()
{
    setlocale(0, "");
    double num;

    cout << "Введите произвольное число: "; cin >> num;

    if (num < 10) // Если введенное число меньше 10.
        cout << "Это число меньше 10." << endl;
    else if (num == 10)
        cout << "Это число равно 10." << endl;
    else  // иначе
        cout << "Это число больше 10." << endl;

    return 0;
}

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

#include 
using namespace std;

int main()
{
    setlocale(0, "");
    double num;
    int k;

    cout << "Введите произвольное число: "; cin >> num;

    if (num < 10) {  // Если введенное число меньше 10.
        cout << "Это число меньше 10." << endl;
        k = 1;
    } else if (num == 10) {
        cout << "Это число равно 10." << endl;
        k = 2;
    } else {  // иначе
        cout << "Это число больше 10." << endl;
        k = 3;
    }

    cout << "k = " << k << endl;
    return 0;
}

В вышеприведенной программе выполняется проверка num. При значении <10, k = 1. Если num = 10, то k = 2. В ином случае – 3. После того как процедура ветвления будет полностью закончена, значение k будет выведено на экран вашего монитора.

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

Рекомендуем вам также ознакомиться с Переменные и типы данных в C++.