Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР3-С++-13 марта-2012.doc
Скачиваний:
14
Добавлен:
15.09.2019
Размер:
1.26 Mб
Скачать

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

Операция присваивания = – это операция, вырабатывающая значение, которое может использоваться в выражениях. Например, a=a+b; или a+=b;

Множественное присваивание – присваивание одного и того же значения нескольким переменным. Например, a=b=c=1; или a=1; b=1; c=1;

Выражения – это переменные, функции и константы объединенные знаками операций. Переменные, функции и константы в записи выражения называются операндами. Например, в записи y=cos(x)+x выражением является cos(x)+x, где функция cos(x) – первый операнд, переменная x – второй операнд.

Подробнее о выражениях и операторе присваивания будет рассказано в лабораторной работе № 5.

1.2.4.2. Операции отношения

Операции отношения будут рассмотрены в лабораторной работе № 6.

1.2.4.3 Логические операции

Логические операции будут рассмотрены в лабораторной работе № 6.

1.2.4.4. Операция запятая

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

1.2.4.5. Операции инкремента и декремента

Специфическими для С++ являются операции инкремента (++) и декремента (--).

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

Операции ++ и -- применяются только к переменным и, соответственно, увеличивают или уменьшают значение переменной на 1.

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

Данные операторы могут быть записаны в виде

i++; // операция инкремента (постфиксная)

++i; // операция инкремента (префиксная)

i--; // операция декремента (постфиксная)

--i; // операция декремента (префиксная)

Примечание: наличие в С/С++ операций ++ и -- связано с тем, что в системе команд микропроцессора имеются специальные операции для увеличения и уменьшения значения (обычно в регистре) именно на 1. Поэтому запись а++; предпочтительнее записи а=а+1; поскольку в большинстве случаев операции инкремента выполняются быстрее.

Префиксные и постфиксные операции выполняются по-разному в выражениях.

Например, выражение b = ++a означает выполнение двух операций в следующем порядке: a = a+1; b = a, а выражение b = a++ означает выполнение тех же операций, но в другом порядке: b = a; a = a+1.

Операция декремента выполняется аналогично.

Разницу между первой и второй формами записи данных операторов можно продемонстрировать на следующем примере:

int i=10,j=10;

int a = i++ //значение a = 10; i = 11;

int b =++j //значение b = 11; j = 11;

Из полученных результатов видно, что если оператор инкремента стоит после имени переменной, то сначала выполняется операция присваивания и только затем операция инкремента. Во втором случае наоборот, операция инкремента реализуется до присвоения результата другой переменной. Поэтому значение a = 10, а значение b = 11.

Пример 3.5. Операция ++ в постфиксной и префиксной формах

1) int a=3, b=2;

c=a++*b++;

В результате получим с=6, а=4, b=3

2) int a=3, b=2;

c=++a*++b;

В результате получим с=12, а=4, b=3

3) самостоятельно определите значение переменной d:

int a=5, b=1, c=4, d;

d=++a*b++-++c;

Операции инкремента и декремента подробнее будут рассмотрены в лабораторной работе № 5.