Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция13.doc
Скачиваний:
7
Добавлен:
15.11.2018
Размер:
114.69 Кб
Скачать

Лекция 13

Операторы циклов. Массивы

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

Оператор цикла – это инструкция, предписывающая циклическую операцию.

В С++ используется три вида операторов цикла:

  • for (параметрический, с предусловием),

  • while (с предусловием),

  • dowhile (с послеусловием).

    1. Параметрический оператор цикла

Этот оператор представляет собой компактную форму записи цикла с предусловием. В заголовке цикла собраны три операции:

  • инициализация (подготовка) цикла,

  • проверка условия выполнения цикла,

  • продвижение цикла.

Синтаксис оператора цикла следующий:

for (спецификация1;спецификация2;спецификация3)

оператор;

Верхняя строка оператора называется заголовком цикла. Она содержит три спецификации. Спецификация1 – это запись, реализующая инициализацию параметра цикла. Спецификация2 отображает условие выполнения цикла. Спецификация3 – предписывает продвижение цикла.

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

for (x = x0; x <= xk; x += h) // Заголовок цикла

y = a*x*x; // Тело цикла

Этот оператор реализует циклическую операцию по вычислению функции у = ах2 . В заголовке цикла первая спецификация представляет собой инициализацию параметра цикла х (x = x0;), вторая спецификация отображает условие выполнения цикла ( x <= xk; ) и третья спецификация предписывает продвижение цикла, то есть увеличение параметра цикла х на величину h (x += h). Следует обратить внимание на то, что первые две спецификации завершаются символом точка с запятой , а третья нет.

Тело цикла представлено только одним оператором y = a*x*x;

+

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

  • для продвижения цикла можно использовать операции инкремент и декремент: for (n=10; n < 25; n++) или for (n=10; n > 2; n – –);

  • в качестве параметра цикла можно использовать как целые, так и вещественные (дробные) числа, а также данные символьного типа:

for (n=8; n < 30; n+=2), for (x=1.7; x < 7.5; x+=0.5)

for (ch=`a`; ch < `z`; ch++);

  • в качестве шага использовать как целые, так и вещественные числа: for (x=15.2; x < 25.3; x+=0.1);

  • во всех трех спецификациях можно использовать выражения:

for (x=2*a; x < 8*a + c; x+=h/2);

  • в условие цикла можно записывать выражения, не содержащие параметр цикла:

у = - 3;

for (х=1; у <= 25; х+=0.3)

у = а*х*х;

  • можно опускать первую и (или) третью спецификацию:

for (х = 5; х < 25; ) x = 5;

{ for ( x < 25; )

y = a*x*x; {

x + = h; y = a*x*x;

} x + = h;

}

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

  • инициализация параметра цикла (только один раз до начала цикла);

  • проверка условия выполнения цикла (перед каждым выполнением тела цикла);

  • продвижение цикла (после каждого выполнения тела цикла).

Эта последовательность строго соблюдается.

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