- •Битовые операции
- •Битовые логические операции
- •Битовые операции сдвига
- •Логические операции
- •Битовые операции
- •Логические операции
- •Логический тип
- •Преобразование типов данных
- •Символьный тип
- •Целочисленный тип
- •Вещественный тип
- •Оператор цикла while
- •Оператор цикла for
- •Оператор цикла do while
- •Программирование вложенных циклов
- •Переприсваивание
- •Объединение строк
- •Escape-знаки
- •Точные строки: символ @
- •Преобразование строк в другие типы
- •Объединения
- •Основные понятия
- •7.2. Определение функции
- •Вызов функции
- •Передача данных по значению
- •Передача данных по адресу
- •Передача данных по ссылке
- •Передача одномерного массива в функцию
- •Вызовы с переменным числом аргументов
- •Определение значений по умолчанию
- •Организация работы с файлами средствами c
- •Файловый ввод-вывод с использованием потоков
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Массивы указателей
- •Предварительная инициализация параметров функции
- •Динамические массивы ограниченного размера и их объём[]
- •Макроопределение - директива #define
- •Структура библиотеки
- •Бщее описание[править | править исходный текст]
- •Неструктурная обработка исключений[
- •Структурная обработка исключений[
Логические операции
Логические операции обычно используются с Булевыми (логическими) значения; эти операции возвращают Булево значение. Однако операции && и || в действительности возвращают значение одного из специфицированных операндов, поэтому, если эти операции используются с не-Булевыми значениями, они могут вернуть не-Булево значение. Логические операции перечислены в таблице.
Таблица 3.6 Логические операции
Операция |
Использование |
Описание |
&& |
expr1 && expr2 |
(Логическое И) Возвращает expr1, если может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Булевыми значениями && возвращает true, если оба операнда true; иначе, возвращает false. |
|| |
expr1 || expr2 |
(Логическое ИЛИ) Возвращает expr1, если может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Булевыми значениями || возвращает true, если любой из операндов true; если оба false, возвращает false. |
! |
!expr |
(Логическое НЕ) Возвращает false, если её единственный операнд может быть конвертирован в true; иначе возвращает true. |
Для простоты программирования в языке С++ реализованы компактные операторы инкремента и декремента, т.е. увеличения и уменьшения значения переменной на 1 соответственно. Данные операторы могут быть записаны в виде
i + +; // операция инкремента
+ + i; // операция инкремента
i--; // операция декремента
--i; // операция декремента
Разницу между первой и второй формами записи данных операторов можно продемонстрировать на следующем примере:
int i=10,j=10;
int a = i++; //значение a = 10; i = 11;
int b = + + j; //значение b = 11; j = 11;
Из полученных результатов видно, что если оператор инкремента стоит после имени переменной, то сначала выполняется операция присваивания и только затем операция инкремента. Во втором случае наоборот, операция инкремента реализуется до присвоения результата другой переменной. Поэтому значение a = 10, а значение b = 11. В первом случае говорят о постпрефиксной форме, а во втором - о префиксной. Подобный приоритет операции инкремента остается справедливым и при использовании арифметических операций, например
int a1=4, a2=4;
double b = 2.4*++a1; //результат b = 12.0
double c = 2.4*a2++; //результат c = 9.6
Из приведенного примера видно, что операция инкремента (декремента)
обладает более высоким приоритетом, чем операция умножения (соответственно и деления). Для того чтобы изменить приоритеты используются круглые скобки.
Операция декремента действует аналогично операции инкремента с той лишь разницей, что она уменьшает значение переменной на 1.
5Операции сравнения, логические операции, побитовые операции.
Операция сравнения сравнивает операнды и возвращает значение, основанное на true/верности сравнения. Операнды могут быть числами или строками. Строки сравниваются на основе стандартного лексикографического (словарного) порядка с использованием Unicode-значений. В таблице даны операции сравнения.
Таблица 3.2 Операции сравнения
Операция |
Описание |
Примеры, возвращающие true1 |
Равно (==) |
Возвращает true, если операнды равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды в значения, подходящие для сравнения. |
3 == var1 "3" == var1 3 == '3' |
Не равно (!=) |
Возвращает true, если операнды не равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды в значения, подходящие для сравнения. |
var1 != 4 var2 != "3" |
Строго равно (===) |
Возвращает true, если операнды равны и одного типа. |
3 === var1 |
Строго не равно (!==) |
Возвращает true, если операнды не равны и/или не одного типа. |
var1 !== "3" 3 !== '3' |
Больше (>) |
Возвращает true, если левый операнд больше правого операнда. |
var2 > var1 |
Больше или равно (>=) |
Возвращает true, если левый операнд больше правого операнда или равен ему. |
var2 >= var1 var1 >= 3 |
Меньше (<) |
Возвращает true, если левый операнд меньше правого операнда. |
var1 < var2 |
Меньше или равно (<=) |
Возвращает true, если левый операнд меньше правого операнда или равен ему. |
|
