|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Условная операция «? :»Условная операция – тернарная, т.к. в ней участвуют три операнда. Формат написания условной операции следующий: Выражение 1? выражение 2: выражение 3; если выражение 1 (условие) отлично от нуля (истинно), то результатом операции является значение выражения 2, в противном случае – значение выражения 3. Каждый раз вычисляется только одно из выражений 2 или 3. На рис. 6.3 приведена схема вычисления результата, которая аналогична схеме полного оператора if (см. рис. 6.2):
Условное вычисление применимо к арифметическим операндам и операндам-указателям. Рассмотрим участок программы для нахождения максимального значения z из двух чисел a и b, используя оператор if и условную операцию. 1. Запишем оператор if: if (a > b) z = a; else z = b; 2. Используя условную операцию, получим z = (a > b)? a: b; Условную операцию можно использовать так же, как и любое другое выражение. Если выражения 2 и 3 имеют разные типы, то тип результата определяется по правилам преобразования. Например, если f имеет тип double, а n – int, то результатом операции (n > 0)? f: n; по правилам преобразования типов будет double, независимо от того, положительно n или нет. Использование условных выражений позволяет во многих случаях значительно упростить программу. Например: int a, x; ... x = (a < 0)? –a: a; printf("\n Значение %d %s нулевое!", x, (x? "не": " "));
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |