К логическим данным могут применяться логические операторы (табл. 1.1). Результатом выполнения логического оператора всегда является логическое значение true или false. Константы и переменные логического типа могут входить в состав логического выражения. Кроме этого, в логическом выражении могут использоваться в качестве операндов отношения (например, x>0 имеет значение true при x положительном и значение false при x отрицательном или равном 0; sqr(a)+sqr(b) <= sqr (c) имеет значение true,если условие удовлетворяется для конкретных значений a, b, c, и false в противоположном случае). Отношение – это два арифметических выражения, соединенных знаком операции отношения <, <=, >, >=, = = (равно), != (не равно).
Таблица 1.1
Логические операторы
Название
Обозначение
A
T
T
F
F
B
T
F
T
F
Отрицание
!A
F
F
T
T
Логическое «и»
A && B
T
F
F
F
Логическое «или»
A ׀׀ B
T
T
T
F
Примечание: T – true, F – false.
Например, после выполнении оператора присваивания
L3=(x<=5.5) && (x>=–3.5);
L3 будет иметь значение true, если выполняются оба условия, т.е. x принадлежит отрезку [–3.5, 5.5].
Заключать отношения в скобки необязательно, так как они имеют более высокий приоритет (см. ниже), но в таком виде выражение имеет более ясный смысл.
После выполнения оператора
L2=(i>10) ׀׀ (a<0.0001);
L2 получит значение true, если выполняется хотя бы одно из условий, т.е. либо i>10, либо a<0.0001.
В логическом выражении могут присутствовать, как мы видим, операции трех типов: 1) арифметические (в левой или правой частях отношения, выполняются в первую очередь); 2) операции отношения; 3) логические. Логические операции имеют самый низкий приоритет. Из них в первую очередь выполняется операция отрицания (!), далее операция «Логическое «и» (&&) и в последнюю очередь – «Логическое «или» ( ׀׀). Например,
bool a = true;
bool b = 1 < 0 && a;
Console.WriteLine(b);
Console.ReadLine();
В результате программа распечатает на экране
false
Логические выражения обычно используются в условном операторе if (п. 1.7.1).