- •Операторы циклов. Массивы
- •1. Операторы циклов
- •Параметрический оператор цикла
- •Операция «Запятая»
- •Оператор цикла while
- •Более изящной является запись
- •Оператор цикла do . . . While
- •Операторы continue, break
- •2. Массивы. Переменные типа массив
- •2.1. Описание массивов
- •2.2. Ввод и вывод массивов Использование массивов в вычислениях предполагает их ввод, как исходных данных, а также вывод их в качестве результата вычислений.
- •2.2.1. Ввод массивов
- •2.2.2. Вывод массивов
- •2.2.3. Операции с массивами
- •2.2.4. Многомерные массивы
- •Для четырехмерного
- •Представление многомерных массивов как массив массивов.
- •Описание массивов с помощью инструкции typedef
Лекция 13
Операторы циклов. Массивы
1. Операторы циклов
Оператор цикла – это инструкция, предписывающая циклическую операцию.
В С++ используется три вида операторов цикла:
-
for (параметрический, с предусловием),
-
while (с предусловием),
-
do…while (с послеусловием).
-
Параметрический оператор цикла
Этот оператор представляет собой компактную форму записи цикла с предусловием. В заголовке цикла собраны три операции:
-
инициализация (подготовка) цикла,
-
проверка условия выполнения цикла,
-
продвижение цикла.
Синтаксис оператора цикла следующий:
-
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;
}
Последовательность операций при выполнении цикла следующая:
-
инициализация параметра цикла (только один раз до начала цикла);
-
проверка условия выполнения цикла (перед каждым выполнением тела цикла);
-
продвижение цикла (после каждого выполнения тела цикла).
Эта последовательность строго соблюдается.