Оператор goto(перехід на задану мітку) в мові С++ є поганим засобом. Його використання призводить до значних ускладнень логіки програми .
Існує лише один випадок, коли програмісти-професіонали допускають використання goto, — це вихід з вкладеного набору циклів при виявленні помилок (break дає можливість виходу лише з одного циклу).
Його можна представити в такій формі: goto мітка;
Мітка - це будь-який ідентифікатор.
Наприклад: goto a2;
Оператор goto вказує, що виконання програми необхідно продовжити, починаючи з інструкції, перед якою записана мітка. У програмі обов'язково повинна бути рядок, де вказана мітка, поставлено двокрапка і записана інструкція, до якої повинен виконуватись перехід.
Наприклад: a2: k = 5;
Мітки у програмі описувати не потрібно. Застосування оператора безумовного переходу в мові СІ є небажаним, оскільки він порушує структурну наочність програми.
Приклад
Програма для підрахунку середньої оцінки учня.
#include <iostream.h>
int main()
{
int total=0,
gradeCounter,
grade,
average;
gradeCounter=1;
while (gradeCounter <= 10)
{
cout << “Введіть оцінку:”;
cin >> grade;
total=total+grade;
gradeCounter=gradeCounter+1;
}
average=total/10;
cout << “Середня оцінка дорівнює” << average << endl;
return 0;}