Основы программирования на C++, PASCAL
«тип» выше деления (и других бинарных арифметических операций), поэтому сначала значение переменной х приведется к целому типу (отбросится дробная часть), а затем выполнится деление по модулю.
Следующий фрагмент программы иллюстрирует одну из практических ситуаций, в которой потребовалось использовать преобразование типа:
float с;
int a=l, b=2;
с=(float)а/b;
В результате переменная с получит значение 0,5. Без преобразования типа ее значение стало бы равно 0.
Операция sizeof. Эта операция имеет две формы записи:
sizeof(тип) и sizeof (выражение)
Результатом операции является целое число, равное количеству байтов, которое занимает в памяти величина явно указанного типа или величина, полученная в результате вычисления выражения. Последняя определяется также по типу результата выражения. Хотя по форме записи это похоже на функцию, однако sizeof является именно операцией. Ее приоритет выше, чем у бинарных арифметических операций, логических операций и отношений. Примеры использования операции:
Операция «запятая». Эта необычная операция используется для связывания нескольких выражений в одно. Несколько выражений, разделенных запятыми, вычисляются последовательно слева направо. В качестве результата такого совмещенного выражения принимается значение самого правого выражения. Например, если переменная X имеет тип int, то значение выражения (X=3, 5*Х) будет равно 15, а переменная X примет значение 3.
Операция «условие ?:». Это единственная операция, которая имеет три операнда. Формат операции:
выражение1 ? выражение 2 : выражение 3
Данная операция реализует алгоритмическую структуру ветвления. Алгоритм ее выполнения следующий: первым вычисляется значение выражения 1, которое обычно представляет собой некоторое условие. Если оно истинно, т. е. не равно 0, то вычисляется выражение 2 и полученный результат становится результатом операции. В противном случае в качестве результата берется значение выражения 3.
Пример 1. Вычисление абсолютной величины переменной Х можно организовать с помощью одной операции:
Х<0 ? -X : X;
Пример 2. Выбор большего значения из двух переменных а и b:
mах=(а<=b)?b:а;
Пример 3. Заменить большее значение из двух переменных а и b на единицу:
(a>b)?a:b=l;
Правила языка в данном случае позволяют ставить условную операцию слева от знака присваивания.