Конструкция ветвления в 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.
Фигурными скобками обрамляется тело условия. В случае, если условие имеет шанс на выполнение, то и остальные команды, находящиеся в пределах фигурных скобок, также будут выполнены.
Пример конструкции ветвления
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++.