Розділ 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 (<умова>) <оператор>;
(Для ознайомлення з повним текстом статті необхідно залогінитись)