Home »
C++ programming »
C++ find output programs
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.