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

2.3 Оператор уменьшения на 1

Как и в случае оператора приращения, в программе часто возникает необходимость уменьшения значения переменной на 1:

variable = variable - 1;

Ввиду частого использования этой операции в языке C++ обеспечивается более краткая нотация - специальный оператор уменьшения. Следующий пример использует оператор уменьшения для вычитания 1 из значения переменной:

variable--;

Как и в случае оператора увеличения, префиксная и постфиксная формы обеспечиваются в C++ также и для оператора уменьшения. Оба следующие оператора уменьшают содержимое переменной count на 1:

count--;

--count;

В первой строке используется постфиксная форма, а во второй - префиксная. Различие между формами применения оператора приращения существенно, поскольку они и здесь интерпретируются по-разному.

При применении постфиксной формы C++ сначала использует значение переменной и только потом выполняет операцию вычитания. При использовании префиксной формы C++ сначала вычитает 1 из значения переменной, а затем уже использует переменную. Для лучшего понимания различия между префиксной и постфиксной формами оператора приращения рассмотрим следующую программу, в которой используются обе формы:

#include <iostream>

int main()

{

int value = 1;

cout<<"Использование постфиксной формы"<<value--<<endl;

cout<<"Значение после уменьшения"<<value<<endl;

value = 1;

cout<<"Использование префиксной формы"<<--value<<endl;

cout<<"Значение после уменьшения"<<value<<endl;

return 0;

}

После компиляции и запуска этой программы на экран выводится:

Использование постфиксной формы 1

Значение после уменьшения 0

Использование префиксной формы 0

Значение после уменьшения 0

Как можно видеть, при использовании постфиксной формы оператора C++ сначала использует значение переменной (выводя 1) и только затем уменьшает значение (получается 0). При использовании префиксная формы C++ сначала уменьшает значение (получается 0) и только затем использует полученное значение (остающееся равным 0).

3. Операторы цикла

В языке C++ существует три вида циклов: цикл while c предусловием, цикл while с постусловием, цикл for.

3.1 Цикл for

Очень часто возникает необходимость выполнить одну и ту же последовательность действий несколько раз: например, для вычисления выражения an необходимо выполнить умножение на величину «a» (n-1) раз. Для этого используются циклы. В данной теме речь пойдет о цикле for.

Рассмотрим задачу вычисления суммы всех натуральных чисел от 1 до n. Для этого заведем переменную s и к ней будем прибавлять значение переменной i, где i будет принимать все значения от 1 до n. На языке C++ это можно сделать при помощи цикла for следующим образом:

int n, s=0, i;

cin>>n;

for (i=1; i<=n; ++i)

{

s=s+i;

}

cout<<s<<endl;

В этом примере последовательность инструкций в блоке, то есть инструкция s=s+i будет выполнена многократно для всех значений переменной i от 1 до n, то есть в результате переменная s будет равна сумме всех натуральных чисел от 1 до n.

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

Первый параметр – начальное значение переменной, задается в виде присваивания переменной значения, в нашем случае – i=1.

Второй параметр – конечное значение переменной, задается в виде условия на значение переменной. Цикл будет исполняться, пока условие истинно, в нашем случае условие i<=n означает, что переменная i будет принимать значения до n включительно.

Третий параметр – шаг изменения переменной. Запись ++i означает, что переменная i будет увеличиваться на 1 с каждым новым исполнением цикла, запись –-i – уменьшаться.

В нашем примере мы могли бы сделать цикл, в котором переменная i принимала бы все значения от n до 1, уменьшаясь при этом: for(i=n; i>0; --i).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]