русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-01-16; просмотров: 425; Нарушение авторских прав


 

Операторы

 



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-го элемента. За всеми остальными элемен-

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

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

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

 





<== предыдущая лекция | следующая лекция ==>
Операции и выражения присваивания | Старшинство и порядок вычисления


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.318 сек.