Условный оператор и условная операция

Условный оператор предназначен для выбора одного из двух альтернативных действий и имеет следующую форму записи:

 

БНФ:

условный_оператор =

"if" "("выражение")" оператор_1 ["else" оператор_2]

 

Пример:

if ( a ) c = b+1; else c = b - 1;

if ( a > b ) k = sin( x ); else k = x + x;

 

При выполнении условного оператора вначале вычисляется <выражение>. Если его значение не равно нулю, то выполняется <оператор_1>, а <оператор_2> пропускается. Если значение выражения равно нулю, то выполняется <оператор_2>, а <оператор_1> пропускается.

При наличии вложенных операторов if следует иметь в виду, что ключевое слово else всегда относится к ближайшему if, как показано в следующем примере:

 

if( b > a )

if( c < d ) k= sin(x);

else t = cos(x);

 

else c = tan( x );

 

Для того чтобы избежать ошибок рекомендуется использовать операторные скобки

 

if( b < a )

{

if( c < d ) k = sin( x );

else t = cos( x );

}

else c = tan( x );

 

 

Особенно это важно если у вложенного оператора if отсутствует else, т.е

 

if( b > a )

if( c < d ) k = sin( x );

else c = tan( x ); /* else относится к

вложенному if */

 

if( b > a )

{

if( c < d ) k = sin( x );

}

else

c = tan( x ); /* else относится к первому if */

 

Если в качестве <оператора_1> или <оператора_2> используется группа операторов, то ее записывают как составной оператор, заключая ее в операторные скобки "{" и "}".

Для того, чтобы сделать программу более понятной, рекомендуется операторы записывать в следующих формах:

 

1) короткие операторы:

 

if( a > b ) k = sin( x ); else k = x*x;

 

if( a > b ) k = sin( x );

else k = x*x;

 

2) группы коротких операторов:

 

if( a > b ) { ... } else {... }

 

if( a > b ) { ... }

else { ... }

 

или

 

if( ... )

{ ..... }

else

{ ..... }

 

3) длинные группы операторов:

 

if(... )

{

.

.

.

}

else

{

.

.

.

}

 

4) множественный выбор:

 

if ( a == 6 ) { ... }

else if ( a == 8 ) { ... }

else if ( a == 15 ) { ... }

else if ( a > 20 && a < 28 ) { ... }

else { ... }

 

В некоторых случаях вместо оператора if удобно использовать условную операцию ?:, которая позволяет сократить запись программ и число используемых переменных.

 

БНФ:

условное_операция = выр_0 "?" выр_1 ":" выр_2

 

Значение условной операции равно <выр_1>, если <выр_0> не равно 0 и <выр_2> в противном случае. Например, следующий оператор

 

if ( x>a ) f = sin( x-a ); else f = sin(x);

 

можно заменить условной операцией, и сразу вычислить f:

 

f = sin( x>a ? x-a : x );

 

Очевидно, в последнем случае получился более короткий код, поскольку обращений к переменной f и функции sin вдвое меньше.








Дата добавления: 2015-02-13; просмотров: 753;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.