C++ goto Statement | Find output programs | Set 1

This section contains the C++ find output programs with their explanations on goto Statement (set 1).
Submitted by Nidhi, on June 04, 2020

Program 1:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int num1 = 1;
    int num2 = 0;

MY_LABEL:
    num2 = num1 * num1;
    cout << num2 << " ";
    num1 = num1 + pow(2, 0);

    if (num1 <= 5)
        goto MY_LABEL;

    return 0;
}

Output:

1 4 9 16 25

Explanation:

The above code will print "1 4 9 16 25" on the console screen.

Understand the program step by step.

Here we initialize the variables num1 and num2 by 1, 0 respectively.  And we created a label MY_LABEL.

Now evaluate statements iteration wise:

First iteration:

num1=1, num2=0
num2 = num1 * num1;
Then num1 = 1 and num2 = 1 and then print num2 that is 1.
As we know that if we calculate the 
zero power of any number that will be 1.
num1 = num1 + pow(2,0);
Then the above statement will increase the value of num1 by one. 
Then num1 become 2. 
And num1 is less than equal to 5 then "goto" statement 
will transfer the program control to the MY_LABEL.

Second iteration:

num1=2, num2=0
num2 = num1 * num1;
After execution of above statement, 
num1=2 and num2=4 and then print num2 that is 4
num1 = num1 + pow(2,0);
Then above statement will increase the value of num1 by one. 
Then num1 become 3. 
And num1 is less then equal to 5 then "goto” statement 
will transfer the program control to the MY_LABEL.

Third Generation:

num1=3, num2=0
num2 = num1 * num1;
After execution of above statement, 
num1=3 and num2=9 and then print num2 that is 9
num1 = num1 + pow(2,0);
Then above statement will increase the value of num1 by one. 
Then num1 become 4. 
And num1 is less then equal to 5 then "goto" statement 
will transfer the program control to the MY_LABEL.

Fourth iteration:

num1=3, num2=0
num2 = num1 * num1;
After execution of above statement, 
num1=4 and num2=16 and then print num2 that is 16
num1 = num1 + pow(2,0);
Then above statement will increase the value of num1 by one. 
Then num1 become 5. 
And num1 is less then equal to 5 then "goto" statement 
will transfer the program control to the MY_LABEL.

Fifth iteration:

num1=3, num2=0
num2 = num1 * num1;
After execution of above statement, 
num1=5 and num2=25 and then print num2 that is 25
num1 = num1 + pow(2,0);
Then above statement will increase the value of num1 by one. 
Then num1 become 6. 
Then condition get false and program get terminated.

Program 2:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int num1 = 1;
    int num2 = 0;
    int num3 = 1;

MY_LABEL:

    num3 = num3 + num2;

    cout << num3 << " ";

    num2 = num2 + 1;
    num1 = num1 + 1;

    if (num1 <= 4)
        goto MY_LABEL;

    return 0;
}

Output:

1 2 4 7

Explanation:

The above code will print "1 2 4 7" on the console screen.

Understand the program step by step.

Here we initialize the variables num1, num2, and num3 by 1, 0, and 1 respectively.  And we created a label MY_LABEL.

Now evaluate statements iteration wise:

First iteration:

Here initial values of num1=1, num2 =0, and num3 =1 
after executing all statements "1" will be printed on 
console screen and modified value will be:

num1 = 2, num2 = 1, num3= 1;

If the condition is true then program control 
will be transferred to MY_LABEL.

Second iteration:

Here values of num1=2, num2 =1, and num3 =1 
after executing all statements "2" will be printed on 
console screen and modified value will be:
num1 = 3, num2 = 2, num3= 2;

If the condition is true then program control 
will be transferred to MY_LABEL.

Third iteration:

Here values of num1=3, num2 =2, and num3 =2 
after executing all statements "4" will be printed on 
console screen and modified value will be:
num1 = 4, num2 = 3, num3= 4;

If the condition is true then program control 
will be transferred to MY_LABEL.

Fourth iteration:

Here values of num1=4, num2 =3, and num3 =4 
after executing all statements "7” will be printed on 
console screen and modified value will be:
num1 = 4, num2 = 4, num3= 7;

Now the if condition gets false and the program will terminate.





Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.