Условные операторы

Оператор ifelse имеет следующую синтаксическую диаграмму

if ( W ) O1 else O2

где

W – выражение, значением которого может быть либо «истина» (true или «не ноль), либо «ложь» (false или 0).

О1 и О2 – операторы, заканчивающиеся знаком; (точка с запятой), или блоки. Каждый из опрерторов может быть пустым (просто знак;).

1 Сложные операторы включают в себя другие операторы

«Практикум по программированию на языке C в среде VS C++»


При выполнении оператора ifelse вначале вычисляется выражение W и если результат – «истина», то выполняется оператор О1, иначе, то есть если результат имеет значение «ложь», выполняется оператор О2.

Оператор ifбезelse имеет синтаксическую диаграмму if ( W ) O1

где W –выражение, О1 – оператор, заканчивающиеся знаком; (точка с запятой), или блок. При выполнении оператора if вначале вычисляется выражение W и если резуль-тат – «истина», то выполняется О1, иначе управление сразу передается следующему по порядку оператору программы.

Простейшими логическими выражениями являются отношения. Знаки отношений записываются следующим образом: > и < – так же, как в математике, знаки =, ≤, ≥, ≠ записываются парами символов ==, <=, >=,!= соответственно. Более сложные логиче-ские выражения рассмотрены в следующем разделе.

Пример. Требуется записать условный оператор, вычисляющий новое значение Y по заданным значениям A, B, X, Y по формуле

то есть в соответствии с алгоритмом

Вот этот оператор: if(A>B)

if(B>= 3)Y=2;

else


«Практикум по программированию на языке C в среде VS C++»


;

elseY=X;

Этому оператору ifelse подчинен оператор присваивания Y=X; и еще один оператор ifelse,который,в свою очередь,содержит пустой оператор (после первогоelse)иоператор присваивания Y=2;. Необходимость использования else во вложенном услов-ном операторе вытекает из следующего правила: else относится к ближайшему пред-

шествующему if, у которого нет части else. Можно было бы не использовать else во вложенном условном операторе, но тогда пришлось бы заключить его в операторные скобки, то есть заменить его блоком {if(B>= 3) Y=2 }:

if (A > B)

{

if (B >= 3)Y=2;

}

else Y=X;

Пример. Для задачи предыдущего примера можно составить другой алгоритм:

Тогда соответствующим ему оператором ifelse будет if(A<=B)

Y=X; else

if (B>=3)Y=2;

и вложенный в него условный оператор естественно использовать в сокращенной форме.

«Практикум по программированию на языке C в среде VS C++»



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: