Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Например
int arg=4, rez; rez= arg ++*2; // rez=8, arg=5 rez=++ arg *2; // arg=6, rez=12
Внешнюю неоднозначность имеют выражения, в которых знак унарной операции ++ (или – –) записан непосредственно рядом со знаком бинарной операции +. X+++b или z – – –d. В этих случаях трактовка однозначно и полностью определяется рангами операций (бинарные аддитивные + имеют ранг 4; унарные ++ и –– имеют ранг 2).Таким образом: x+++b эквивалентно (x++)+b z– – –d эквивалентно (z– –)–d.
Операнд для операции ++ (и для операции – –) не может быть константой либо произвольным выражением. Записи ++5 или 84++ будут неверными. ++(j+k) также неверная запись. Операндами унарных операций ++ и – – должны быть всегда модифицируемые выражения (L– value, left value, l – значение, леводопустимое выражение). Термины «леводопустимое выражение» и «l–значение» происходят от объяснения действия операции присваивания E=D, в которой операнд Е слева от знака операции присваивания может быть только модифицируемым l – значением. Примером модифицируемого l – значения служит имя переменной, которой выделена память. L – значение – ссылка на область памяти, значение которой доступно изменениям. Sizeof – операция вычисления размера (в байтах) для объекта того типа, который имеет операнд. Разрешается два формата операции: sizeof < выражение> sizeof (тип). Пример: int a, b[100], *x; sizeof (20.0) 8 байтов sizeof (a) 2 байта sizeof (b) 200 байтов sizeof (*x) 2 байта sizeof (int) 2 байта sizeof (date) 12 байтов
4.2 Бинарные (двуместные) операции
Делятся на следующие группы: · аддитивные; · мультипликативные; · сдвигов; · поразрядные; · операции отношений; · логические; · присваивания; · выбора компонента структурированного объекта; · операция “запятая”; · скобки в качестве операций; Аддитивные операции (операнды: арифметические выражения или указатели). + – бинарный плюс – сложение арифметических операндов или сложение указателя с целочисленным операндом. – – бинарный минус – вычитание арифметических операндов или вычитание указателей.
|