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


Полезное:

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


Категории:

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






Условные выражения





 

Операторы

 

IF (A > B)

Z = A;

ELSE

Z = B;

 

конечно вычисляют в Z максимум из а и в. Условное выражение,

записанное с помощью тернарной операции "?:", предоставляет

другую возможность для записи этой и аналогичных конструк-

ций. В выражении

 

е1? Е2: е3

 

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

(истинно), то вычисляется выражение е2, которое и становится

значением условного выражения. В противном случае вычисляет-

ся е3, и оно становится значением условного выражения. Каж-

дый раз вычисляется только одно из выражения е2 и е3. Таким

образом, чтобы положить Z равным максимуму из а и в, можно

написать

 

Z = (A > B)? A: B; /* Z = MAX(A,B) */

 

Следует подчеркнуть, что условное выражение действитель-

но является выражением и может использоваться точно так же,

как любое другое выражение. Если е2 и е3 имеют разные типы,

то тип результата определяется по правилам преобразования,

рассмотренным ранее в этой главе. например, если F имеет тип

FLOAT, а N - тип INT, то выражение

 

(N > 0)? F: N

 

Имеет тип DOUBLE независимо от того, положительно ли N или

нет.

 

Так как уровень старшинства операции?: очень низок,

прямо над присваиванием, то первое выражение в условном вы-

ражении можно не заключать в круглые скобки. Однако, мы все

же рекомендуем это делать, так как скобки делают условную

часть выражения более заметной.

Использование условных выражений часто приводит к корот-

ким программам. Например, следующий ниже оператор цикла пе-

чатает N элементов массива, по 10 в строке, разделяя каждый

столбец одним пробелом и заканчивая каждую строку (включая

последнюю) одним символом перевода строки.

 

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

PRINTF("%6D%C",A[I],(I%10==9 \!\! I==N-1)? '\N': ' ')

 

Символ перевода строки записывается после каждого десятого

элемента и после N-го элемента. За всеми остальными элемен-

тами следует один пробел. Хотя, возможно, это выглядит муд-

реным, было бы поучительным попытаться записать это, не ис-

пользуя условного выражения.

 







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



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