double arrow

Операции отношения. Меньше <, (7) Больше или равно > =, (7)

Меньше <, (7) Больше или равно > =, (7)

Меньше или равно <=, (7) Не равно != (8)

Больше > (7) Равно = = . (8)

Используются для сравнения в условных выражениях. Вырабатывают значения «истина» и «ложь».

Не следует путать знаки = и = =. С помощью операции присваивания (=) некоторой переменной слева от этого знака присваивается значение. А с помощью операции отношений (= =) проверяется равенство выражений, стоящих слева и справа от этого знака.

Все операции отношений возвращают результат «истина» или «ложь» (0 или 1). Значение переменных при этом не изменяется.

При сравнении float лучше пользоваться только операциями < и >, т.к. ошибки округления могут привести к тому, что числа окажутся неравными, хотя по логике они должны быть равны. (например 3*1/3 равно 1,0, но 1/3 в вещественном формате будет представлена как 0,999999…, и произведение не будет равно 1)

Приоритет больше чем у операции присваивания, но меньше чем у +, -.

y > x+2; - сначала сложение, затем сравнение.

Логические операции

Используются для проверки условия, вырабатывая значение истина или ложь.

1) && "И"(операция логического умножения.)

Выражение истинно только в том случае, если истинны выражения, стоящие до и после &&. Если первое – ложь, то дальше не проверяется. (12)

2) || "ИЛИ" (логическое сложение.)

Выражение истинно, если одно из выражений истинно. Если первое – истина, дальше не проверяется (13)

3) ! "НЕ" (отрицание) (2)

Булева логика:

x y && || !
0 11

Примеры:

if(x>0 && x<10) действие

5>2 && 4>7 - ложь

5>2 || 4>7 - истина

!(4>7) – истина

У операции ! (НЕ) очень высокий приоритет (выше только у скобок). && и || выше присваивания, но ниже чем отношения.

a>b && b>c || b>d

((a>b) && (b>c) || (b>d))






Сейчас читают про: