Далі у записах формату операторів квадратні дужки позначають необов’язковий елемент оператора.
Оператор безумовного переходу має наступний формат:
goto мітка;
Мітка являє собою ідентифікатор, яким можна позначити будь-який оператор. Мітка відокремлюється від оператора двокрапкою:
мітка: оператор;
Простором імен мітки є функція, у якій вона визначена.
Оператор goto рекомендується використовувати тільки у виняткових ситуаціях. Інтенсивне використання оператора goto та надлишок міток у програмі, роблять програму незручною для читання і малозрозумілою, воно вважається поганим стилем програмування.
Прикладом виправданого використання мітки є організація виходу із системи вкладених циклів:
For (...)
{ for (...)
{ while (...)
{ ........
goto label;
...
}
}
}
label: printf("Вихід із вкладених циклів \n");
Особливістю цього оператора в С++ є те, що він не може вказувати перехід уперед, переступаючи через оголошення змінної з ініціалізацією. У такій ситуації компілятор видає повідомлення “Goto bypasses initialization of a local variable”. У той же час запис такого переходу назад допускається.
Оператор вибору має такий формат:
if (ЛВ) опер_1; [ else опер_2; ]
Тут через ЛВ позначається логічний або цілочисловий вираз. Якщо значенням ЛВ є "true" або ціле число, що не дорівнює нулю, виконується оператор опер_1, а оператор опер_2 не виконується. І навпаки, якщо ЛВ = false, оператор опер_2 виконується, а оператор опер_1 не виконується.
Подивимось, як можна використати оператор if для визначення знака дійсного числа.
// Приклад 1
#include <syst.h>