Основи програмування на С ++ для початківців

Операторы выбора if и else в C

До этого урока, изучая основы программирования для начинающих, мы с вами писали очень простые и скучноватые программы, которые как-то работали, что-то делали, но были абсолютно лишены способности выбирать, как им развиваться. Такие программы называются линейными. Они были, как трамваи: если путь прегражден – стоп. Ни в право, ни влево не свернёшь.

Теперь же, хочу всех немного обрадовать – наши программы с сегодняшнего дня будут намного интересней. Мы научимся применять в нашем коде операторы логического выбора if іelse  і програми придбають якусь інтригу,  зможуть “думать”, анализировать и решать, как поступить и какой “дорогой” пойти. То есть теперь программа –  це вже не трамвай, а Ваш автомобіль ))) Якщо дорогу перегородили, ви легко можете об'їхати перешкоду і визначитися, куда ехать дальше.

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

Ну що ж – приступим к нашим операторам выбора (они же условные операторы, они же операторы ветвления). Мы рассмотрим несколько простых примеров, які допоможуть вам познайомитися з цими операторами і застосовувати їх в подальшому вже в більш складних програмах.

Приклад: Пользователь вводит два числа и программа определяет какое их этих двух чисел большее.

До 14-й строки все понятно – пользователь ввел два числа, они записались в соответствующие переменные. Як же їх тепер порівняти і показати результат порівняння? Для цього ми застосуємо оператор if (переводится -ЕСЛИ). Пишем if, далее в круглых скобках () записываем условие – порівняння значень змінних(variable1 > variable2).

И если variable1 действительно больше variable2  –  ця умова поверне true (истину). Тогда выполнение программы перейдет к коду, который размещен внутри фигурных скобок {} – строки 21 – 23. То есть на экране мы увидим сообщение, о том что первое число больше второго.

Якщо ж умова в круглих дужках() не виконується (возвращает false (неправда)), то код в фигурных скобках {} буде проігнорований і виконання програми продовжиться з наступного рядка коду під блоком if – со строки 26.  Там ми знову перевіряємо відношення змінних між собою.

Все аналогично – якщо умова істинна – выполнится код этого блока if, если ложно – переход ниже.  В рядку 33 проверка последнего возможного варианта – перевірка на рівність. Обов'язково застосовуємо оператор == (равно), а не = (присвоить). Інакше код цього блоку if  буде працювати з помилкою. Наприкладvariable1 = 3, а variable2 = 4 , то если мы ошибочно запишем в условии if(variable1 = variable2) , значение 4 запишется в variable1.

отримуємоif(4) . А любое значение отличное от 0, как вы помните, компилятор воспринимает как true . В итоге этот блок выполнится и мы увидим сообщение о том, что значения равны, хотя это изначально было не так.  Будьте уважні.

Этот код можно значительно сократить. Во-первых, можна додати оператор else (посмотрим ниже). Во вторых – если блоки if или else содержат только одну строку кода в фигурных скобках {} , то эти фигурные скобки можно не писать. Посмотрим, как изменится наш код:

Вы видите, что фигурные скобки в этом примере мы уже не используем. Еще один плюс – если первое условие if выполняется, то остальные блоки if else і else, уже не проверяются (т.е. время на выполнение программы сокращается). Ну а якщо перша умова брехливо, программа идет в следующий блок else if (иначе если), и проверяет его условие – (variable1 < variable2) – рядок 18. Если и тут ложь, то выполнится последний блок else, в котором условие можно уже не проверять, так как мы до этого перебрали все возможные варианты отношения двух значений и остается только их равенство.

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

операторы логического выбора if  elseОсновное, что важно запомнить:

  • синтаксис if:

операторы логического выбора if else

  •  синтаксис if else:

операторы логического выбора if else

или если необходимо больше условий:

операторы логического выбора if else

  • конструкція блоківif else  – неразрывна. Если она встречается в коде, її не можна розділяти стороннім кодом. Наприклад :

операторы логического выбора if else

    • принцип работы оператора выбора if  – если условие в круглых скобках истина (true), то код блока выполнится. Если ложь (false) – игнорируется и выполнение программы начинается со строки кода, Наступного під блоком if.

 

    • умова оператора вибору в круглих дужках може бути звичайним: if(variable > 0)  або комбінованим:  if(variable > 0 && variable < 100). Комбіноване умова повернеtrue, якщо обидва умови будуть вірними.

 

    • условие оператора выбора может быть арифметическим выражением:  if(variable1 – variable2).  код блоку if выполнится, если результат вычисления не будет равен 0. Наприклад: if (5 – 7), if (2 + 5).  А ось якщо if (2 -2) – код блока будет проигнорирован.

 

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

Мабуть і все про умовні операторахif  іelse. Тут есть практика программирования по цій темі.

По возможности, посмотрите это видео. У ньому розглянуті умовні операториif  іelse

21 думки про "Операторы выбора if и else в C

  1. #include
    using namespace std;
    int main()
    {
    setlocale(LC_ALL,”rus”);
    cout <> a;
    INT B = 0;
    cin >> b;
    cout <<endl;

    cout << a <<"*" <<b <<"=?"<> d;
    if (д == гр)
    {
    cout << "Верно!"<<endl;
    }
    if (d != з)
    {
    cout << "Вы ошиблись!"<< endl;
    cout << "Верный ответ: "<< c;
    }

    return 0;
    }

  2. Вручення призу,на ваше ім'я вислали квиток лото. Пройдіть за посиланням далі -> https://forms.yandex.ru/cloud/62eb57ce0f5484c5f9535cb0/?hs=7311990aa122855572b920acefb22258& говорить:

    ss7h8e

  3. if
    else if
    else
    if
    ” скасовує необхідність { } оскільки служать роздільником функцій “

  4. мені здається що я став if та мені звуть Сергій читаю текст та чую голос . З пасибо від розуму та серця

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *