Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






IF - ELSE





 

Оператор IF - ELSE используется при необходимости сде-

лать выбор. Формально синтаксис имеет вид

 

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

оператор-1

ELSE

оператор-2,

 

Где часть ELSE является необязательной. Сначала вычисля-

ется выражение; если оно "истинно" /т.е. значение выражения

отлично от нуля/, то выполняется оператор-1. Если оно ложно

/значение выражения равно нулю/, и если есть часть с ELSE,

то вместо оператора-1 выполняется оператор-2.

 

Так как IF просто проверяет численное значение выраже-

ния, то возможно некоторое сокращение записи. Самой очевид-

ной возможностью является запись

 

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

вместо

IF (выражение!=0)

 

иногда такая запись является ясной и естественной, но време-

нами она становится загадочной.

То, что часть ELSE в конструкции IF - ELSE является нео-

бязательной, приводит к двусмысленности в случае, когда ELSE

опускается во вложенной последовательности операторов IF.

Эта неоднозначность разрешается обычным образом - ELSE свя-

зывается с ближайшим предыдущим IF, не содержащим ELSE.

Например, в

 

IF (N > 0)

IF(A > B)

Z = A;

ELSE

Z = B;

 

конструкция ELSE относится к внутреннему IF, как мы и пока-

зали, сдвинув ELSE под соответствующий IF. Если это не то,

что вы хотите, то для получения нужного соответствия необхо-

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

 

IF (N > 0) {

IF (A > B)

Z = A;

}

ELSE

Z = B;

 

 

Tакая двусмысленность особенно пагубна в ситуациях типа

 

IF (N > 0)

FOR (I = 0; I < N; I++)

IF (S[I] > 0) {

PRINTF("...");

RETURN(I);

}

ELSE /* WRONG */

PRINTF("ERROR - N IS ZERO\N");

 

Запись ELSE под IF ясно показывает, чего вы хотите, но ком-

пилятор не получит соответствующего указания и свяжет ELSE с

внутренним IF. Ошибки такого рода очень трудно обнаруживают-

ся.

Между прочим, обратите внимание, что в

 

IF (A > B)

Z = A;

ELSE

Z = B;

 

после Z=A стоит точка с запятой. Дело в том, что согласно

грамматическим правилам за IF должен следовать оператор, а

выражение типа Z=A, являющееся оператором, всегда заканчива-

ется точкой с запятой.

 

 







Date: 2015-09-17; view: 403; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию