Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Операциями над логическими данными в выражениях Си являются:
• отрицание (другое название– не),знак операции! (восклицательный знак),
• конъюнкция (другие названия– логическое произведение или просто И),знак опе-
рации &&,
• дизъюнкция (другие названия– логическая сумма или просто ИЛИ),знак операции
||,
Отрицание является унарной операцией, остальные – бинарными.
В математике операции! (отрицания) соответствует знак перед аргументом
(Х) или черта над аргументом (X); конъюнкции соответствует знак & или или ∧ (X&Y или XY или X∧Y); дизъюнкции соответствует знак V (X V Y).
Ниже представлены их таблицы перечисленных логических функций.
X!X | X | Y X && Y | X | Y X || Y | ||
Ложь Истина | Ложь | Ложь | Ложь | Ложь | Ложь | Ложь |
Истина Ложь | Истина Ложь | Ложь | Истина Ложь | Истина | ||
Ложь Истина | Ложь | Ложь ИстинаИстина | ||||
ИстинаИстина Истина | ИстинаИстинаИстина |
Логические выражения могут содержать отношения выражений(в частности кон-стант, переменных, обращений к функциям) различных типов, разделенные знаками ло-гических операций и круглыми скобками. В первую очередь вычисляёются выражения в скобках и обращения к функциям, затем – отношения и уже после них – логические опе-рации в соответствии с их приоритетами. Операция отрицание имеет наивысший при-оритет и выполняется в порядке справа налево. Приоритет опрации конъюнкция выше, чем у операции дизъюнкция, а последовательности этих операций выполняются в поряд-ке слева направо.
Пример. Составить условный оператор для вычисления нового значения Y по фор-
муле
Y =
A, B,
Y
если (A ⋅ B >1) & (A >0), если (A + B >1) & (A <0),
− в стальных случаях
«Практикум по программированию на языке C в среде VS C++»
Как видно из задания, при истинности одного из условий другие условия будут иметь значение «ложь», поэтому для вычисления лучше использовать не два, а один условный оператор if else (с вложенным в него другим оператором if), что приведет к сокра-щению вычислений:
if (A*B>1 && A>0) Y=A;
else
if (A+B>1 && A<0) Y=B;
Скобки можно использовать не только для изменения порядка вычислений в логи-ческих выражениях, но и для повышения их наглядности (например, отношения, входя-щие в сложные логические выражения, можно заключить в скобки).
Условное выражение (тернарный оператор)
Конструкцию условного выражения описывает синтаксическая диаграмма
Дата публикования: 2015-03-26; Прочитано: 228 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!