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

Оператор do-while

У циклі do-while перевірка умови проводиться після виконання тіла циклу:

do ОP while (ЛВ)

дія

  • виконується ОР;

  • якщо ЛВ істинно, повторюється виконання ОР, у противному випадку здійснюється перехід до оператора, наступного за while.

Якщо в циклі повинно виконуватися кілька операторів, вони полягають в {}. Даний цикл носить назву циклу з постусловіем, тобто при будь-якому ЛВ тіло циклу виконується хоча б один раз.

З використанням раніше записаної формули розкладання обчислимо y = sin (x) з точністю e:

# include <stdio.h>

# include <math.h>

# define EPS 0.001

int main (void)

{

float x, S = 0, U;

int i = 0;

printf ("\ n Input x →");

scanf ("% f", & x);

U = x;

do

{

S + = U;

+ + i;

U * = (-x) * x;

U / = 2 * i * (2 * i +1);

}

while (fabs (U)> EPS);

printf ("\ n sin (% 6.3f) =% 7.3f", x, S);

return 0;

}

Оператори переходу

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

У мові C визначено чотири оператора переходу: break, continue, return і goto. Оператори break і continue можна використовувати в будь-якому з операторів циклу. Зауважимо, що вхід в тіло циклу з оператора, розташованого поза цього циклу, неможливий. Можливі вихід з циклу до його нормального завершення та обхід частині циклу при деяких умовах.

Оператор break, як зазначено раніше, можна також використовувати в операторі switch. Оператори return і goto можна використовувати в будь-якому місці всередині функції.

Оператор break

Оператор break застосовується в двох випадках. По-перше, в операторі switch з його допомогою переривається виконання послідовності case. По-друге, оператор break використовується для негайного припинення виконання циклу без перевірки його умови і передачі управління оператору, наступному після оператора циклу.

Наприклад, у програмі

# Include <stdio.h>

int main (void)

{

int num, count = 0;

for (;; count + +)

{

printf ("\ n num →");

scanf ("% d", & num);

if (num <0) break;

}

printf ("\ n count =% d", count);

return 0;

}

послідовно вводяться цілі числа, и підраховується число введень до Першого негативного числа. Після цього Введення чисел пріпіняється. Оператор break Використання в умові оператора if для виходе з циклу.

Можна сказати, що оператор continue трохи схожий на оператор break. Оператор break викликає переривання циклу, а continue - переривання поточної ітерації циклу і перехід до наступної ітерації.

Приклад програми: проводиться генерація випадкових чисел за допомогою функції rand () до тих пір, поки не буде знайдено 10 непарних чисел.

При генерації парного числа виконується оператор continue, передавальний керування на початок циклу:

# include <stdio.h>

# include <stdlib.h>

# include <time.h>

InitRoutin () / * створюємо функцію ініціалізації генератора випадкових чисел * /

{

printf ("Ініціалізація генератора випадкових чисел \ n");

srand (time (NULL)); / * оголошена в time.h * /

return 0;

}

int main (void)

{

int count = 0;

for (InitRoutin (); count <10;)

{

int val = rand (); / * rand ()-генератор випадкових чисел, оголошена в stdlib.h * /

if (val% 2 == 0) / * перевірка на парність * /

{

putchar ('.');

continue;

}

count + +;

printf ("Знайдено непарне число:% d \ n", val);

}

return 0;

}

оператор return

Завершує виконання функції, в якій він заданий, і повертає управління в зухвалу функцію. Управління передається в зухвалу функцію в точку, безпосередньо наступну за викликом.

Синтаксис: return (вираз);

Значення обчисленого в операторі return вираження повертається в зухвалу функцію в якості результату викликається функції. Якщо вираз опущено, то повертане функцією значення не визначено (функції типу void).

Якщо оператор return в викликається функції відсутнє, управління автоматично передається в зухвалу функцію після виконання останнього оператора функції. Повертане функцією значення в цьому випадку не визначено.

Отже, оператор return використовується в 2-х випадках:

  • якщо треба негайно вийти з функції;

  • якщо функція повинна повертати значення.

Наприклад, у першому випадку:

void print (char x) / * створення функції print * /

{

if (x <32)

{

printf ("Це керуючий код \ n");

return; / * return використовується для виходу з функції * /

}

printf ("Введено символ% c \ n", x);

}

у другому випадку:

int sum (int a, int b) / * створення функції sum * /

{

return (a + b); / * return використовується для повернення суми * /

}

Питання для контролю?

1.Які є оператори циклу?

2. Як стровити умову?

3. Які є оператори переходу?

4.Який синтаксис команди return?

Література:

              1. Я. Белецкий, “ Турбо Си. Новая разработка”, Моcква, “Машиностроение”, 2004г ,с. 92-101

Урок №16

(згідно робочої навчальної програми)

Тема: Структури та об'єднання.

Питання:

1.Структури

2.Об'єднання (суміші)

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