Логические операции и операции отношения
Логические операции и операции отношения используются при формировании логических выражений, имеющих только два значения: 1, если логическое значение ИСТИННО; 0, если логическое выражение ЛОЖНО. Логические выражения наиболее часто используются вместе с операторами управления потоком вычислений – операторами циклов и ветвлений.
С++ поддерживает следующие операции отношения:
>
<
==
>=
<=
!=
Если для операнда слева и для операнда справа отношение выполняется, результат равен 1 (ИСТИНА), если не выполняется – результат равен 0 (ЛОЖЬ).
С++ поддерживает следующие логические операции:
&& - логические И;
|| - логическое ИЛИ;
! – логическое НЕ;
В С++ значению ИСТИНА соответствует не только значение 1, но и любое другое ненулевое значение.
4.2.5. Операция условия ?:
Специфичным для С++ является операция условия, задаваемая знаками операции ? и : следующим образом:
cond_expression?TRUE_statement:FALSE_statement
При выполнении операции условия сначала вычисляется значение логического выражения cond_expression. Если оно – ИСТИНА, результатом всей операции условия является результат выражения TRUE_statement, если ЛОЖЬ, - результат выражения FALSE_statement.
Например:
int a = 4, b = 3, c;
c = a > b ? a * a + b * b : 0; /* c = a * a + b * b = 25 */
Операции присваивания
Язык С++ имеет несколько особенностей выполнения присваивания, задаваемого символом операции =. При выполнении операции значение операнда справа от знака равенства пересылается в ячейку памяти, отведенную компилятором под переменную, ссылка на которую записана слева от знака.
В большинстве языков программирования присваивание – это отдельное предложение языка, задающее только операцию пересылки значения. В С++ операция присваивания дополнительно имеет еще и значение результата выполнения, совпадающее с присваиваемым значением. поэтому С++ допускает запись в одном предложении сразу нескольких операторов присваивания. Пример:
int a, b, c, d;
a = b = c = d = 0;
Другая особенность операции присваивания в С++ – наличие так называемой комбинированной операции присваивания:
var1 op= expression;
где var1 – переменная, имеющая ячейку памяти, op – одна из операций, задаваемых знаками *, /, +, -, %, <<, >>, &, ^, |; expression – любое выражение. Комбинированная операция присваивания эквивалентна следующей записи:
var1 = var1 op expression;
var1 += 1; /* var1 = var1 + 1; */
Операция sizeof
Результатом операции sizeof является размер в байтах типа или объявленной переменной. Применение операции к массивам возвращает число байтов, необходимое для размещения всех элементов массива.
Например:
int i, r; char c; long double ff;
r = sizeof char; /* 1 */
r = sizeof c; /* 1 */
r = sizeof ff; /* 10 */
r = sizeof (long double) /* 10 */
Дата добавления: 2017-01-29; просмотров: 572;