Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_2. (1 пара) Мат. операции+.doc
Скачиваний:
17
Добавлен:
05.11.2018
Размер:
151.55 Кб
Скачать

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

Унарными называются те операторы, которые имеют только один аргумент, например -а. Унарными математическими операторами являются +, -, ++ и --. А так же операции, представленные в табл. 1.

Пример 2.

int varl=10;

int var2=-varl;

Здесь в последнем выражении используется унарный оператор "-".

Оператор "минус" изменяет знак своего аргумента (в примере это varl) на противоположный. Положительные числа становятся отрицательными и наоборот. Оператор "плюс" знака аргумента не изменяет и фактически вообще ни на что не влияет.

Таблица 1. Унарные операции

Операция

Описание

++

Увеличение на единицу:

префиксная операция - увеличивает операнд до его использования,

постфиксная операция увеличивает операнд после его использования.

--

Уменьшение на единицу:

префиксная операция - уменьшает операнд до его использования,

постфиксная операция уменьшает операнд после его использования.

sizeof

вычисление размера (в байтах) для объекта того типа, который имеет операнд

-

Унарный минус

+

Унарный плюс

&

Получение адреса операнда

*

Получение значения, находящегося по указанному адресу (разыменование)

new

Выделение памяти

delete

Освобождение памяти

(type)

Преобразование типа

Операторы ++ и -- вы можете увидеть впервые. Они увеличивают или уменьшают на 1 значение аргумента и поэтому называются операторами инкремента и декремента (от англ. increment (увеличивать) и decrement (уменьшать)). К действительным переменным их применение недопустимо.

Пример 3.

int var=10; // Инициализация переменной

var++; //увеличение на 1; значение переменной равно

//11

Операторы инкремента и декремента могут находиться либо перед аргументом (префиксная форма), либо после него (постфиксная форма). В зависимости от способа записи, выполнение операторов инкремента и декремента имеет свои особенности.

Рассмотрим оператор инкремента (принципы работы оператора декремента те же). Предположим, что переменная n имеет значение 5. Оба способа применения к n оператора инкремента (++n и n++) приведут к результату 6. Разница между ними состоит в том, что значение n в выражении ++n равно 6, в то время как в выражении с постфиксной формой записи оно равно 5. Это можно проиллюстрировать следующим примером.

Пример 4.

//объявляем три целые переменные

int nl, n2, n3;

nl=5;

n2=++nl; //обе переменные – nl и n2 – получают

//значение 6

nl=5;

n3=nl++; // nl принимает значение 6, а n3 – 5

Другими словами, переменной n2 присваивается уже увеличенное префиксным оператором инкремента значение nl, тогда как переменной n3 передается еще не увеличенное постфиксным оператором значение nl.

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

Бинарными называются операторы, которые имеют два аргумента. В выражениях типа varl op var2 оператор op бинарный. Самыми распространенными бинарными операторами являются простые математические операции.

Бинарные операции, которые поддерживает C++, приведены в табл. 2.

Таблица 2. Бинарные операции

Операция

Описание

Мультипликативные

*

умножение операндов арифметического типа

/

деление операндов арифметического типа (если операнды целочисленные, то выполняется целочисленное деление)

%

получение остатка от деления целочисленных операндов

Аддитивные

+

бинарный плюс (сложение арифметических операндов)

-

бинарный минус (вычитание арифметических операндов)

Операции сравнения

<

меньше, чем

<=

меньше или равно

>

больше

>=

больше или равно

=

равно

!=

не равно

Результат выполнения операторов сравнения:

"истина" – это "1" (точнее "не ноль")

"ложно" – это "0"

Значения, хранимые в переменных (в регистрах) х и у, НЕ изменяются!

Берутся (считываются) значения хранящиеся (или содержащиеся) в переменных и сравниваются