Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 

Розділ 5. Розгалуження

5.1. Поняття розгалуження

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

Для програмної реалізації розгалужень використовуються опера­тори передавання керування, що дають змогу змінювати порядок виконання операторів програми. У мові С для цього передбачено такі операції:

  • безумовний перехід (goto);
  • умовний перехід (if);
  • вибір варіанта (switch).

Для запису умови переходу використовуються логічні (булеві) вирази.

5.2. Оператор безумовного переходу

Оператор безумовного переходу goto дає змогу передавати керування у будь-яке місце програми, позначене спеціальною міткою. Мітку записують перед оператором, на який потрібно передати керування, і відо­кремлюють від нього символом двокрапки (:). В мові С мітки не оголошують. Назва мітки може містити цифри та ла­тинські літери, але починатися повинна обов’язково з літери.

Синтаксис оператора goto такий:

1) спосіб:

<оператор 1>;

goto <мітка1>;

<оператор 2>;

<оператор 3>;

...

<оператор N>;

<мітка1>:

<оператор N+1>;

2) спосіб:

<оператор 1>;

<мітка2>:

<оператор 2>;

<оператор 3>;

...

<оператор N>;

goto <мітка2>;

<оператор N+1>;

Приклад 5.1.

int a;

goto Start;

a = 5;

a += 2;

Start:

a = 10;

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

5.3. Умовний оператор

Оператор розгалуження if має скорочену та повну форми.

Скорочена форма оператора if має такий вигляд:

if (<умова>) <оператор>;

(Для ознайомлення з повним текстом статті необхідно залогінитись)