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


Что такое оператор ветвления?

Давайте представим, что вы закончили 11 классов. И вам надо выбрать учебное заведение где вы будете осваивать будущую профессию. Однако есть одно ограничение. Вы сможете поступить туда куда пройдете по баллам ЕГЭ. В нашем случае условие следующие: our_students >= ball. Если это условие выполняется, то у нас все замечательно, и вы поступаете куда и хотели. В противном случае нам придется искать другое учебное заведение. В этом и заключается оператор ветвления.

Вот маленький пример ветвления (напишите его в своем компиляторе и посмотрите как он работает):

#include "stdafx.h"
#include <iostream>
using namespace std;

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

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

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

	system("pause");
    return 0;
}
  

Оператор if

Чтобы указать условие при выполнении которого будет выполняться определенный код потребуется прибегнуть к следующей структуре:

  • набрать ключевое слово if в своей программе;
  • после него, в круглых скобках, нужно указать логическое выражение:
  •     if ( <выражение> ) // вместо <выражение> нужно указать требуемое условие, 
                           //при котором будет выполняться требуемый код.
        
  • инструкции, которые будут выполнятся, нужно обернуть в фигурные скобки сразу после круглых скобок с условием:
  •     if ( <условие> ) {
        <выполняемый код>
    }
        

Также можно вовсе не использовать фигурные скобки. Однако это можно сделать только в том случае, если в качестве исполняемого кода будет указана лишь одна инструкция (или один оператор, в том числе другой оператор ветвления, который уже может содержать любое количество инструкций).

  if (a > 7) // никаких скобок нет
    if (a < 9) { // вложенный оператор if
        cout << "A = 8" << endl; // выводим сообщение
 
        return 0; // завершаем работу программы
    }
 
// или
 
if (a < 7)
    cout << "Да!" << endl;
  

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

Оператор else

Оператор else выполняется в том случае, если условие указанное в if ложно. В таком случае будет проигнорирован код в блоке if, и программа сражу перейдет к выполнению кода в блоке else. Например:

 if (a < b) {
    a = b;
} else {
    b = a + 1;
}
 
// или так
 
if (c < b)
    c = 7;
else
cout << "C >= b" << endl;
 

Вы наверно заметили что правила к коду внутри оператора else ровно такие же как и к коду внутри оператора if.

Комбинация нескольких операторов

Бывает необходимость в указании сразу нескольких вариантов действий. В таком случае нам не сможет помочь всего один оператор ветвления if-else. И тогда мы используем комбинацию операторов (else if):

if (err == 1) // начальное условие
    return 1;
else if (err == 2) // второе условие
    return 2
else if (err == 3) // третье условие
    return 3;
else // если ничто не подошло
    return 0;
  
  • Сначала мы указали начальное условие.
  • Далее прописали второй вариант при помощи else if.
  • Подобных вариантов может быть сколько угодно.
  • В самом конце, после else, мы указываем тот код, который должен выполнится в том случае, если ни одно из условий не соответствует нашим требованиям.

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

Для закрепления материала попробуйте придумать свои конструкции ветвления используя свои жизненные ситуации. Это очень интересно.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Chinese (Traditional)EnglishJapaneseRussianUkrainian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: