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

Оператор цикла for

Оператор цикла for обычно используется в случаях, когда известно, сколько раз должен быть выполнен цикл, и называется циклом с параметром. Цикл for имеет следующую форму записи:

for(Выражение1; Выражение2; Выражение3)

тело цикла;

В операторе for используются три выражения, разделяемые символами точка с запятой. В тело цикла может входить простой оператор, составной оператор.

Выражение1 называется инициализирующим выражением, предназначено для установки управляющей переменной цикла, равной начальному значению. Эта переменная является счётчиком цикла (параметром цикла) и предназначена для управления работой цикла. Здесь также можно присваивать начальные значения и другим переменным, используемым в цикле. Инициализация выполняется только один раз перед началом выполнения цикла for.

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

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

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

Если в заголовке цикла отсутствует Выражение2, оно считается истинным.

При использовании цикла for следует избегать изменения управляющей переменной цикла в теле цикла.

// Пример 4.12. Цикл типа for. Вычислить значение f = n!.

#include <iostream>

using namespace std;

int main(){

long int f = 1;

int n, i;

cout<<"Vvedi n > 0: " ; cin>>n;

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

f = f * i;

cout<<"f = "<<f<<'\n';

system("pause");

}

В цикле for имеется возможность объявить в выражении1 заголовка цикла одну или несколько переменных, но это объявление будет действительно только в пределах цикла:

for (int i = 1, j=2; i <= 5; i++, j++) // заголовок цикла

тело цикла

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

for(int i = 1; i < m; i++)

if( i*i == VALUE) i = m;

// Пример 4.13. Вычислить сумму вида 2+4+6+ +n, где n вводится.

#include <iostream>

using namespace std;

int main(){

int n, sum = 0;

cout<<"Enter n:"; cin>>n;

if(n % 2)n = n - 1;

for(int i = 2; i <= n; i+=2)

sum = sum + i;

cout<<" 2 + 4 + ... + " <<n<<" = "<<sum<<endl;

}

Способы организации бесконечных циклов

Цикл, в котором не предусмотрен выход из него, будет повторяться бесконечное число раз. Такой цикл называется бесконечным.

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

while(1){

тело цикла

}

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

const bool flag = true;

while(flag){

тело цикла

}

Бесконечный цикл можно организовать и с помощью оператора цикла for.

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

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