Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мини конспект по С++.doc
Скачиваний:
28
Добавлен:
25.03.2015
Размер:
782.85 Кб
Скачать

Операции Операции выражения

Выражения используются для вычисления значений (определенного типа) и состоят из операндов, операций и скобок. Каждый операнд может быть, в свою очередь, выражением. Знак операции – это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются.

Операции делятся на унарные, бинарные и тернарные - по количеству участвующих в них операндов; выполняются в соответствии с приоритетами - для изменения порядка выполнения операций используются круглые скобки. Большинство операций выполняется слева направо, например,

a+b+c → (a+b)+c.

Исключение: унарные операции, операции присваивания и тернарная условная операция (?:) - справа налево.

Полный список операций приводится в прил. 2.

Арифметические операции

Арифметические операции - бинарные, их обозначения:

+ (сложение);

- (вычитание);

/ (деление, дляint операндов - с отбрасыванием остатка);

* (умножение);

% (остаток от деления целочисленных операндов со знаком первого операнда - деление «по модулю»).

Операндами традиционных арифметических операций (+ - * /) могут быть константы, переменные, функции, элементы массивов, указатели, любые арифметические выражения.

Порядок выполнения операций:

1) выражения в круглых скобках;

2) функции (стандартные математические, функции пользователя);

3) операции * / (выполняются слева направо);

4) операции - + (слева направо).

Унарные операции +,– (знак числа) обладают самым высоким приоритетом, определены только для целых и вещественных операндов, «+» носит только информационный характер, «–» меняет знак операнда на противоположный. Таким образом, т.к. операции *, /, % обладают высшим приоритетом над операциями +, -, при записи сложных выражений нужно использовать общепринятые математические правила:

x+yz -x+y*z - a /(b+с) .

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

Формат операции присваивания:

идентификатор = <выражение>;

Присваивание значения в языке Cи в отличие от традиционной интерпретации рассматривается как выражение имеющее значение левого операнда после присваивания. Таким образом, присваивание может включать несколько операций присваивания, изменяя значения нескольких операндов, например:

int i, j, k;

float x, y, z;

...

i = j = k = 0; ↔ k = 0, j = k, i = j;

x = i+(y = 3) - (z = 0); ↔ z = 0, y = 3, x = i + y - z;

Левым операндом операции присваивания может быть только именованная либо косвенно адресуемая указателем переменная. Примеры недопустимых выражений:

а) присваивание константе: 2 = x+y;

б) присваивание функции: getch() =i;

в) присваивание результату операции: (i+1) = 2+y;

Сокращенная запись операции присваивания

В языке Cи используются два вида сокращений записи операции присваивания:

a) вместо записи v =v #e;

где # - арифметическая операция (операция над битовым представлением операндов), рекомендуется использовать запись v #=e; например,i = i + 2; ↔i += 2; (знаки операций без пробелов);

б) вместо записи x =x # 1;

где # - символы, обозначающие операцию инкремента (+), либо декремента (-), x - целочисленная переменная (переменная-указатель), рекомендуется использовать запись:

##x; - префиксную

или