Программирование на языке си ( с ) | C Sharp (Си шарп) с нуля. Сортировки | Массивы | Функции

Условный оператор if — else

С основами разобрались и теперь можно приступать уже к управляющим операторам. Начнем с условного оператора if. Вот ее синтаксис:

if (условие) { }
[else { } ]

Т.е. в скобках пишется условие, и если оно истинно (TRUE), то выполняется тело условного оператора. Так же в противовес if используют необязательную конструкцию - оператор else, который вступает, когда условие в if является ложным (FALSE).
Например:

int a = 5;
if (a > 6) {
    printf ("a большое число");
}
else {
   printf ("a маленькое число");
}

В этом примере если, в теле условного оператора if условие ложно (а оно таковым и является), вступает в бой оператор else. Вследствие чего на экране появится только одно сообщение: a маленькое число.

Условный оператор if можно влаживать сколько душе угодно раз. Например:

int d = 0;
if (d > 5) {
    d++;
}
else {
    if (d == 0){
       printf ("d = %d",d);
    }
    else {
       printf ("d != 0");
    }
    d--;
}

Как будет работать этот пример? И так:

  1. сначала проверяется условие (d > 5). Т.к. оно ложно, то происходит выполнение тела оператора else.
  2. В теле else опять проверяется условие вложенного оператора if : (d == 0)
  3. Условие является истинным, следовательно, выполняется тело этого оператора, т.е. выполняем функцию printf
  4. Т.к. условный оператор if дал результат TRUE, то блок else мы просто пропускаем
  5. Ну и в конце, выполняем декрементацию числа d, т.е. отнимаем единицу

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

int r = 4;
if (r == 0)
    printf ("Верно");
else
    printf ("Ошибка")

Подробнее о использовании фигурных скобок или об их неиспользовании можно прочесть в статье: Стилевое единство

Так же важно иметь понятие об изображении оператора в виде блок схемы:

Блок схема условного оператора if

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

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

Задания:

  1. повторить булеву алгебру, так как без нее тут делать нечего
  2. определить максимальное и минимальное значения из двух различных вещественных чисел РЕШЕНИЕ
  3. известны год и номер месяца рождения человека. Определить возраст человека на март(3 месяц) 2008 года РЕШЕНИЕ
  4. определить, есть ли среди цифр заданного целого трёхзначного числа одинаковые РЕШЕНИЕ
  5. выбрать наибольшее из трёх заданных чисел РЕШЕНИЕ

Следующие уроки:

  1. Оператор цикла for
  2. Оператор выбора switch — case
  3. Цикл while
При копировании ( использовании ) материала размещайте ссылку на сайт www.mir-koda.ru