Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЯП - ПОИТ (Бахтизин) часть 1 редакт.doc
Скачиваний:
0
Добавлен:
07.01.2020
Размер:
1.76 Mб
Скачать

3. Операторы управления вычислительным процессом

3.1. Оператор if

Оператор if имеет следующую полную форму записи:

if (выражение)

оператор_1;

else

оператор_2;

Выражение – это некоторое условие, которое возвращает одно из двух значений: ноль («ложь»), не ноль – («истина»).

Данный оператор предоставляет программисту возможность выполнить один из двух участков вычислений в зависимости от того, является выражение истинным или ложным (рис.3.1).

Рис.3.1. Схема работы оператора if...else

Например,

if (a>=b)

printf(“Число a не меньше числа b.\n”);

else

printf (“Число a меньше числа b.\n”);

Схема на рисунке 3.1 иллюстрирует работу оператора if/else. Если выражение дает результат «истина», то выполняется оператор 1, иначе оператор 2. Проследим выполнение нашего примера программы: если компилятор определит истинность выражения, то на экран выведется сообщение «Число a не меньше числа b.». Если условие будет ложным, то на экране появится - «Число a меньше числа b.».

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

if (выражение)

{

оператор_1;

оператор_2;

}

else

оператор_3;

В данном случае если выражение будет истинным, то выполнятся оператор 1 и оператор 2, иначе выполнится оператор 3.

Существует сокращенная форма оператора if без ветви else (рис.3.2):

if (выражение)

оператор;

Рис.3.2. Схема работы оператора if без ветви else

Например,

if (a>=b)

printf(“Число a не меньше числа b.\n”);

Если в результате проверки выражения возвращается «истина», то оператор выполняется, после чего выполнение передается следующей строке программы; если же результатом проверки будет «ложь», то выполнение оператора будет пропущено. Т.е. в нашем примере компилятор определит, является ли выражение истинным «число a больше или равно числу b», и если данное выражение истинно, то на экране появится сообщение «Число a не меньше числа b». Если выражение ложно, то на экран ничего не выведется.

Для наглядного иллюстрирования работы данного оператора if с единичным выбором на рис.3.2 изображена схема его работы.

Вложенные операторы if/else служат для проверки составных условий, при этом одни операторы if/else помещаются внутрь других операторов if/else. Если использовать несколько вложенных операторов if, то следует тщательно следить, какому из них соответствует ветвь else.

if (выражение 1)

оператор 1;

else

if (выражение 2)

оператор 2;

else

if (выражение 3)

оператор 3;

else

оператор 4;

Схема на рисунке 3.3 демонстрирует работу вложенного оператора if/else. При выполнении программы компилятор будет проверять выражение за выражением до тех пор, пока одно из них не возвратит условие «истина». Как только это произойдет, все остальные операторы else и связанные с ними действия будут пропущены. В том случае, если ни одно из выражений не будет истинным, то ни один из операторов не будет выполнен, кроме оператора 4.

Рис.3.3. Схема работы вложенного оператора if/else