Цикл for

 

С помощью конструкции цикла вы можете повторно выполнять некоторую последовательность кодов. В С++ предусмотрен богатый ассортимент конструкций циклов. Здесь мы рассмотрим только цикл for. Если вы знакомы с С# или Java вам будет приятно узнать, что цикл for действует в С++ точно так же. как и в этих двух языках. Ниже приведена простейшая форма цикла for:

 

for(инициализация; условие; приращение) предложение;

 

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

Приводимая ниже программа демонстрирует простой цикл for. Она выводит на экран числа от 1 до 100.

// Программа, иллюстрирующая цикл for.

 

#include <iostream>

using namespace std;

 

int main()

{

for( count = 1; count <- 100; count = count +1)

cout << count << " " ;

return 0;

}

 

В этой программе переменная count инициализируется числом 1. В каждом шаге цикла проверяется условие

 

count <= 100

 

Если результат истинен, значение count выводится на экран, после чего count увеличивается на 1. Когда count достигает значения, большего 100, условие становится ложным и цикл прекращает свое выполнение.

В профессионально написанной С++-программе вы почти никогда не встретите предложение вроде

 

count = count + l

 

потому что С++ включает в себя специальный инкрементный оператор, выполняющий эту операцию более эффективно. Инкрементный оператор записывается как ++ (два последовательных знака плюс). Этот оператор увеличивает операнд на 1. С его помощью предыдущее предложение forзапишется таким образом:

 

for(count=1; count <= 100; count++)

cout << count << " " ;

 

В С++ имеется и декрементный оператор, который записывается
как -- . Он уменьшает операнд на 1.

 

Цель 1.9. Использование программных блоков

 

Еще одним ключевым элементом С++ является программный блок. Программный блок представляет собой группу из двух или более предложений. Блок образуется заключением его предложений в фигурные скобки. Блок, будучи создан, становится логической единицей, которую можно использовать в любом месте, где может находиться одиночное предложение. В частности, блок может служить целевым объектом (мишенью) в предложениях ifи for. Рассмотрим пример предложения if:

 

if (w < h) {

v = w * h;

w=0;

}

 

В этом фрагменте если w меньше чем h, выполняются оба предложения внутри блока. Таким образом, эти два предложения внутри блока образуют логическую единицу, в которой одно предложение не может выполняться без второго. Во всех случаях, когда вам требуется логически связать два или несколько предложений, вы заключаете их в блок. С использованием программных блоков многие алгоритмы реализуются с большей ясностью и эффективностью.

Рассмотрим программу, которая использует программный блок для предотвращения деления на 0:

 

//Демонстрация программного блока.

 

#include <iostream>

using namespace std;

 

int main() {

double result, n, d;

 

cout « "Введите значение: ";

cin >> n;

cout « "Введите делитель: ";

cin » d;

// целевым объектом предложения if является блок

if (d != 0) {

cout << "d не равно нулю, поэтому делить можно" << "\n";

result = n / d;

cout << n << " / “ << d << " равно" << result;

}

return 0;

}

 

Ниже приведен пример прогона программы:

Введите значение: 10

Введите делитель: 2

d не равно нулю, поэтому делить можно

10 / 2 равно 5

 

В этом случае мишенью предложения if является программный блок, а не просто одиночное предложение. Если проверяемое в предложении ifусловие истинно (как это имеет место в примере прогона программы), то выполняются все три предложения, заключенные в блок. Если задать в качестве делителя ноль, весь код внутри блока не выполняется.