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

For ( [ вир1; ] [ вир2] [; вир3 ] ) оператор;,

де вир1  вираз ініціалізації звичайно використовується для встановлення початкового значення; це вираз присвоювання (необов'язковий параметр);

вир2  вираз умови , що визначає при якій умові цикл буде повторюватися (необов'язковий параметр);

вир3  вираз ітерації, що визначає крок зміни змінних, керуючих циклом після кожного виконання (необов'язковий параметр).

Цей оператор реалізується в такий спосіб:

 спочатку виконується вираз ініціалізації ( ця нотація може бути виконана до оператора for );

( обчислюється умовний вираз;

( якщо результат умовного виразу “істина” (не дорівнює нулю ), те виконується оператор циклу;

 обчислюється вираз ітерації;

 знову перевіряється умова;

 як тільки умовний вираз стає рівним нулю “неправда”, керування передається оператору, що випливає за оператором циклу for .

Оскільки перевірка умови виробляється перед циклом, то цикл може жодного разу не виконуватися, якщо умова відразу буде помилковою.

Проілюструємо використання оператора циклу for для раніше розглянутого приклада 1.3:

// P1_7.CPP ( обчислення функції y = a * x * x - sin(x)

// с використанням оператора циклу for

#include <stdio .h>

#include <math.h>

main ( )

{

float a, x, y;

a = 10.3 ;

for ( x = -1 ; x <= 1; x = x + 0.2 )

{

y = a * x * x - sin(x) ;

printf ( "x = % 4 f, y = % 6 f \n", x, y ) ;

x = x + 0.2;

}

}

В операторі for може використовуватися кілька змінних, керуючих циклом, а будь-які вирази можуть бути відсутними, наприклад :

int = i;

for ( ; i < 4; i++)

або

int k, n, y;

for ( k = 0, n = 20; k <= n; k++, n-- )

y = k * n;

У цьому операторі використовується два вирази ініціалізації і два вирази ітерації. При виконанні такого оператору спочатку привласнюються значення змінним k = 0 і n = 20. Потім відбувається порівняння k <= n. Якщо ця умова має значення “істина”,то буде виконуватися тіло циклу, а потім вираз k++ і n-- ;якщо ж умова не виконується, тоді цикл припиняється.

Оператор циклу do звичайно використовується в тих випадках, коли тіло циклу повинне виконуватися хоча б один раз, і має наступну структуру запису:

do оператор

while (вираження); ,

де вираження  умовне вираження.

Виконується оператор do таким спосібом: спочатку здійснюється вхід у тіло циклу і виконується оператор (він може бути простий чи складов), після того перевіряється умова і, якщо воно виконується, тобто “істина” ( не дорівнює нулю), то цикл повторюється, а якщо “неправда”  здійснюється вихід з циклу. З використанням оператора циклу do приклад 1.3 буде мати вигляд:

// P1_8.CPP ( обчислення функції y = a * x * x - sin(x)

// с використанням оператора циклу do

#include <stdio .h>

#include <math.h>

main ( )

{

float a, x, y;

a = 10.3 ;

x = -1 ;

do

{

y = a * x * x - sin ( x ) ;

printf ( " x = % 4 f, y = % 6 f \n ", x, y ) ;

x = x + 0.2;

}

while ( x <= 1 );

}