русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Унарные операции


Дата добавления: 2015-01-16; просмотров: 450; Нарушение авторских прав


 

 

Выражение с унарными операциями группируется справо на-

лево.

Унарное-выражение:

* выражение

& L-значение

- выражение

! Выражение

\^ выражение

++ L-значение

-- L-значение

L-значение ++

L-значение --

(имя-типа) выражение

SIZEOF выражение

SIZEOF имя-типа

 

Унарная операция * означает косвенную адресацию: выраже-

ние должно быть указателем, а результатом является L-значе-

ние, ссылающееся на тот объект, на который указывает выраже-

ние. Если типом выражения является "указатель на...", то ти-

пом результата будет "...".

Результатом унарной операции & является указатель на

объект, к которому ссылается L-значение. Если L-значение

имеет тип "...", то типом результата будет "указатель на

...".

Результатом унарной операции - (минус) является ее опе-

ранд, взятый с противоположным знаком. Для величины типа

UNSIGNED результат получается вычитанием ее значения из 2**N

(два в степени N), где N-число битов в INT. Унарной операции

+ (плюс) не существует.

Результатом операции логического отрицания ! Является 1,

если значение ее операнда равно 0, и 0, если значение ее

операнда отлично от нуля. Результат имеет тип INT. Эта опе-

рация применима к любому арифметическому типу или указате-

лям.

Операция \^ дает обратный код, или дополнение до едини-

цы, своего операнда. Выполняются обычные арифметические пре-

образования. Операнд должен быть целочисленного типа.

Объект, на который ссылается операнд L-значения префикс-

ной операции ++, увеличивается. значением является новое

значение операнда, но это не L-значение. Выражение ++х экви-

валентно х+=1. Информацию о преобразованиях смотри в разборе

операции сложения (п. 15.4) и операции присваивания (п.



15.14).

Префиксная операция -- аналогична префиксной операции

++, но приводит к уменьшению своего операнда L-значения.

При применении постфиксной операции ++ к L-значению ре-

зультатом является значение объекта, на который ссылается

L-значение. После того, как результат принят к сведению,

объект увеличивается точно таким же образом, как и в случае

префиксной операции ++. Результат имеет тот же тип, что и

выражение L-значения.

 

При применении постфиксной операции -- к L-значению ре-

зультатом является значение объекта, на который ссылается

L-значение. После того, как результат принят к сведению,

объект уменьшается точно таким же образом, как и в случае

префиксной операции --. Результат имеет тот же тип, что и

выражение L-значения.

Заключенное в круглые скобки имя типа данных,стоящее пе-

ред выражением , вызывает преобразование значения этого вы-

ражения к указанному типу. Эта конструкция называется пере-

вод (CAST). Имена типов описываются в п. 16.7.

Операция SIZEOF выдает размер своего операнда в байтах.

(Понятие байт в языке не определено, разве только как значе-

ние операции SIZEOF. Однако во всех существующих реализациях

байтом является пространство, необходимое для хранения

объекта типа CHAR). При применении к массиву результатом яв-

ляется полное число байтов в массиве. Размер определяется из

описаний объектов в выражении. Это выражение семантически

является целой константой и может быть использовано в любом

месте, где требуется константа. Основное применение эта опе-

рация находит при связях с процедурами, подобным распредели-

телям памяти, и в системах ввода- вывода.

Операция SIZEOF может быть также применена и к заключен-

ному в круглые скобки имени типа. В этом случае она выдает

размер в байтах объекта указанного типа.

Конструкция SIZEOF (тип) рассматривается как целое, так

что выражение SIZEOF (тип) - 2 эквивалентно выражению

(SIZEOF (тип)9 - 2.

 



<== предыдущая лекция | следующая лекция ==>
 | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.427 сек.