Логические операторы
&& – логическое И
|| – логическое ИЛИ
! – логическое НЕ
A |
B | A && B | A || B | !A | !B |
true |
true | true | true | false | false |
true |
false | false | true | false |
true |
false | true | false | true | true |
false |
false | false | false | false | true |
true |
Логические операторы нужны для составления сложных условий.
Пример 1.
В программном коде эта запись будет выглядеть 1 <= x <= 10, но если вы запишите в таком виде то эта запись будет ошибочной. Правильная запись: x >= 1 && x <= 10.
x = 0
1 <= x – эта запись будет принимать значение false
false <= 10 – данная запись будет эквивалентна записи 0 <= 10 и будет принимать значение true.
Пример 2.
Если первый операнд оператора || вычисляется как true, то второй операнд вычисляться не будет, поскольку результатом выражения будет true.
Если первый операнд оператора логическое И (&&) вычисляется как false, то второй операнд вычисляться не будет, поскольку результатом выражения будет false.
Пример.
1 2 3 |
int a = 5; if (a > 0 || (a += 8) < 10) cout<<a; //выведет на экран 5, так как первый операнд принимает значение true |
1 2 3 |
int a = -5; if (a > 0 || (a += 8) < 10) cout<<a; //выведет на экран 3, так как первый операнд принимает значение false, а второй true |
Операторы инкремента и декремента
Инкремент – это увеличение значения переменной на единицу.
Декремент – это уменьшение значения переменной на единицу.
++ – оператор инкремента.
–– – оператор декремента.
Префиксная форма:
1 |
++ переменная; |
Постфиксная форма:
1 |
переменная ++; |
При вычислении значения выражения с оператором инкремента в постфиксной форме, результатом будет старое значение переменной, а в префиксной новое значение переменной.
Пример 1.
1 2 3 |
int a = 5, b = 5; cout<<a++; //на экран выведется 5 cout<<++b; //на экран выведется 6 |
Пример 2.
1 2 3 4 |
int x = 5; if (++x < 6 || (x += 5) > 4) cout<<x++; //на экран выведется 11 x += 8; cout<< x; //на экран выведется 20 |
1 2 3 4 |
int x = 4; if (++x < 6 || (x += 5) > 4) cout<<x++; //на экран выведется 5 x += 8; cout<<x; //на экран выведется 14 |