结构化程序goto语句
Program 1:
程序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.
上面的代码将在控制台屏幕上显示“ 1 4 9 16 25” 。
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.
在这里,我们分别将变量num1和num2初始化为1、0。 然后我们创建了标签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:
程式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.
上面的代码将在控制台屏幕上显示“ 1 2 4 7” 。
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.
在这里,我们分别将变量num1 , num2和num3分别初始化为1、0和1。 然后我们创建了标签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.
Recommended posts
推荐的帖子
C++ goto Statement | Find output programs | Set 2
C ++ goto语句| 查找输出程序| 套装2
C++ Operators | Find output programs | Set 1
C ++运算符| 查找输出程序| 套装1
C++ Operators | Find output programs | Set 2
C ++运算符| 查找输出程序| 套装2
C++ const Keyword | Find output programs | Set 1
C ++ const关键字| 查找输出程序| 套装1
C++ const Keyword | Find output programs | Set 2
C ++ const关键字| 查找输出程序| 套装2
C++ Reference Variable| Find output programs | Set 1
C ++参考变量| 查找输出程序| 套装1
C++ Reference Variable| Find output programs | Set 2
C ++参考变量| 查找输出程序| 套装2
C++ Conditional Statements | Find output programs | Set 1
C ++条件语句| 查找输出程序| 套装1
C++ Conditional Statements | Find output programs | Set 2
C ++条件语句| 查找输出程序| 套装2
C++ Switch Statement | Find output programs | Set 1
C ++转换语句| 查找输出程序| 套装1
C++ Switch Statement | Find output programs | Set 2
C ++转换语句| 查找输出程序| 套装2
C++ Looping | Find output programs | Set 1
C ++循环| 查找输出程序| 套装1
C++ Looping | Find output programs | Set 2
C ++循环| 查找输出程序| 套装2
C++ Looping | Find output programs | Set 3
C ++循环| 查找输出程序| 套装3
C++ Looping | Find output programs | Set 4
C ++循环| 查找输出程序| 套装4
C++ Looping | Find output programs | Set 5
C ++循环| 查找输出程序| 套装5
翻译自: https://www.includehelp.com/cpp-tutorial/goto-statement-find-output-programs-set-1.aspx
结构化程序goto语句