Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / 2_Посібник_С_002.doc
Скачиваний:
39
Добавлен:
17.05.2015
Размер:
2.7 Mб
Скачать

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

Оператор for - це найбільш загальний спосіб організації циклу.

Приклад 8. Синтаксис оператора for

For ( Вираз 1 ; Вираз 2 ; Вираз 3 ) тіло циклу

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

Схема виконання оператора for наступна:

1. Обчислюється Вираз 1.

2. Обчислюється Вираз 2.

3. Якщо значення Виразу 2відмінне від нуля, тобто «істина» (true), виконується тіло циклу, обчислюєтьсяВираз 3і здійснюється перехід до пункту 2, якщоВираз 2дорівнює нулю, «хибність» (false), то управління передається оператору, що іде за оператором for.

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

Блок-схема оператора циклу for зображена на рисунку 5.4.

Рисунок 5.4 – Блок-схема оператора циклу for

Приклад 9. Написати програму яка виводить на екран таблицю квадратів перших десяти додатних чисел.

#include <stdlib.h>

#include <stdio.h>

int main(){

int x = 1; /*число*/

int y; /*квадрат числа*/

for(int i=0; i<=10; i++)

{

y = x * x;

printf("%3i\t%4i\n", x, y);

x += 2;

}

system("PAUSE");

return 0;

}

5.5 Оператор циклу while

Оператор циклу while є циклом із передумовою.

Приклад 10.Синтаксис оператора while

While ( Вираз ) тіло циклу

У якості виразу допускається використовувати будь-який вираз мови С, а у якості тіла циклу простий чи складений оператор.

Схема виконання оператора while наступна:

1. Обчислюється вираз.

2. Якщо вираз хибний (false), то виконання оператора while закінчується і виконується наступний оператор. Якщо значення виразу «істина» (true), то виконується тіло циклу.

3. Процес повторюється з пункту 1.

Блок-схема оператора циклу while зображена на рисунку 5.5.

а) б)

Рисунок 5.5 – Блок-схема оператора циклу while

На рисунку 5.5а) зображена загальна блок-схема оператора циклу while, блок-схему на рисунку 5.5б) можна інтерпретувати як розгорнуту блок-схему оператора for.

Приклад 11. Напишіть програму, яка виводить на екран таблицю значень функції у діапазоні від -4 до 4. Крок зміни аргумента 0,5.

#include <stdlib.h>

#include <stdio.h>

int main(){

float xmin=-4, xmax=4; /* xmin, xmax – границі діапазону */

float dx = 0.5; /* dx – крок зміни аргументу */

float y,x;

printf (" x | y \n" );

x=xmin;

while ( x <= xmax )

{

y = 2*x*x - 5*x - 8;

printf ("%.2f | %.2f \n", x, y );

x = x + dx;

}

system("PAUSE");

return 0;

}

5.6 Оператор циклу do while

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

Приклад 12. Синтаксис оператора do while

do

Тіло циклу while ( Вираз ) ;

Схема виконання оператора do while наступна:

1. Виконується тіло циклу (яке може бути простим чи складеним оператором).

2. Обчислюється вираз.

3. Якщо вираз хибний (false), то виконання оператора do while закінчується і виконується наступний за do while оператор. Якщо значення виразу «істина» (true), то виконання оператора продовжується з пункту 1.

Блок-схема оператора циклу do while зображена на рисунку 5.6.

а) б)

Рисунок 5.6 – Блок-схема оператора циклу do-while

На рисунку 5.6 а) зображена загальна блок-схема оператора циклу do while, на рисунку 5.5б) зображена розгорнута блок-схема оператора циклу do while, в якій «Вираз 1», «Вираз 2» та «Вираз 3» відповідає виразам визначеним для оператора for.

Приклад 13.Написати програму обчислення суми чисел введених з клавіатури, у випадку введення числа «0» припинити обчислення.

#include <stdlib.h>

#include <stdio.h>

int main()

{

int sum=0, ch;

printf(“Vveditj chysla (0 – kinezj vvedennya):”);

do{

scanf("%i",&ch);

sum=sum+ch;

}while(ch!=0);

printf("sum = %i \n", sum);

system("PAUSE");

return 0;

}

Соседние файлы в папке Архив WinRAR