In C++ programming, the goto statement is used for altering the normal sequence of program execution by transferring control to some other part of the program.
Syntax of goto Statement
goto label; ... .. ... ... .. ... ... .. ... label: statement; ... .. ...
In the syntax above, label is an identifier. When goto label; is encountered, the control of program jumps to label: and executes the code below it.
	Example: goto Statement
// This program calculates the average of numbers entered by the user.
// If the user enters a negative number, it ignores the number and 
// calculates the average number entered before it.
# include <iostream>
using namespace std;
int main()
{
    float num, average, sum = 0.0;
    int i, n;
    cout << "Maximum number of inputs: ";
    cin >> n;
    for(i = 1; i <= n; ++i)
    {
        cout << "Enter n" << i << ": ";
        cin >> num;
        
        if(num < 0.0)
        {
           // Control of the program move to jump:
            goto jump;
        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << "\nAverage = " << average;
    return 0;
}
Output
Maximum number of inputs: 10 Enter n1: 2.3 Enter n2: 5.6 Enter n3: -5.6 Average = 3.95
You can write any C++ program without the use of goto statement and is generally considered a good idea not to use them.
Reason to Avoid goto Statement
The goto statement gives the power to jump to any part of a program but, makes the logic of the program complex and tangled.
In modern programming, the goto statement is considered a harmful construct and a bad programming practice.
The goto statement can be replaced in most of C++ program with the use of break and continue statements.