КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Принятие решений и логические величины. Операторы отношения и сравнения на равенство
При разработке программ часто возникает необходимость в принятии решений. В строго типизированных языках для этих целей используются логические (булевские) типы данных. В классическом языке Си логический тип отсутствовал. Для принятия решений использовались некоторые соглашения относительно замены логических значений числами. В связи с тем, что эти соглашения должны обеспечивать взаимные переходы между числами и логическими значениями необходимо учитывать следующее: ● Принцип интерпретации числовых значений в качестве логических значений ● Интерпретация логических значений в качестве чисел. В языке Си эти соглашения выглядят следующим образом: ● Любое число (целое или вещественное), отличное от нуля, может интерпретироваться в соответствующем контексте как логическое значение true, а число, равное нулю – как логическое значение false. ● Логическое значение true в контексте, требующем числовой интерпретации, воспринимается как целое число равное 1, логическое значение false – воспринимается как целое число равное 0. При этом оказывается, что в качестве “источников” логических значений можно использовать следующие программные конструкции: ● Обычные арифметические выражения (нулевое значение такого выражения соответствует логическому значению false, а любое не нулевое значение - true). ● Отношения и сравнения на равенство. ● Выражения, использующие логические операторы, в качестве операндов которых служат арифметические выражения, отношения и сравнения на равенство. Ближайшей нашей задачей является рассмотрение отношений и сравнений на равенство. Как уже отмечалось ранее, отношения и сравнения на равенство используются для получения логических значений. Это обеспечивается путем оценки истинности отношений и сравнений на равенство. Причем в том случае, когда истинность имеет место, указанное выражение возвращает значение 1, в противном случае возвращается значение 0. В таблице приводятся названия рассматриваемых операций, математические знаки операций, операторы языка Си и примеры их применения
Первые четыре оператора, приведенные в таблице, имеют одинаковый приоритет, а операторы сравнения на равенство имеют приоритет на один уровень ниже. Рассматриваемые операторы имеют более низкий приоритет по сравнению с арифметическими операторами. Пусть имеется следующий фрагмент программного кода: /*........................... */ В этом фрагменте кода оцениваются значения отношений n > 2 и n < -1 для случая, когда значение переменной n равно 3. Нетрудно видеть, что первое отношение должно принимать значение true (истина), а второе отношение – значение false (ложь). Обратимся теперь к выводу, полученному в результате выполнения данного фрагмента, который имеет следующий вид: n > 2 = 1 n < -1 = 0 С учетом принятых в языке Си относительно кодирования булевских значений соглашений в качестве значения отношения n > 2 выведено число 1, в качестве значения второго отношения – число 0.
Дата добавления: 2014-01-06; Просмотров: 395; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |