C语言 goto语句
goto语句被称为无条件转移语句,它的一般形式为:
goto标号;
goto语句的功能是使程序执行流程转到标号对应的语句处,并从该语句处继续执行。标号的命名遵循标识符的命名规则。用标号标注语句的形式为:
标号:语句;
一般可以使用goto语句和if语句结合实现循环。
【例题】goto语句举例
利用goto语句计算: 1-1/3+1/5-1/7…的前n(n>3)项之和,n由用户输入。
算法分析:
这是累加问题,核心是计算s=s+t。假设将累加项表达式t用循环次数i来表示,那么T=1/(2*i-1)。
本题中,每个累加项的符号是不一样的,第1项、第3项、第5项……是正号;而第2项、第4项、第6 项……是负号,可以设置一个变量f来控制符号的变化,f初值为1,每循环一次,使f=-f,从而达到改变符号的目的。
流程图如图所示。
从流程图中可以看出,使用goto语句和if语句组成一个循环的形式,循环体就是标号a1和if语句括起来的部分。
程序如下:
#include <stdio.h>
main ()
{
int i=2,f=l,n;
double s=1,t;
printf("input n:\n");
scanf("%d",&n);
al:
t=1.0/(2*i-l);
f=-f;
s = s+f;
i++;
if(i<=n) /*如果i小于n,转到前面继续执行*/
goto al;
printf("s=%7.5f\n",s);
}
程序执行时,屏幕上显示提示信息:
input n:
输入数据:
3
输出结果为:
s=0.86667
点击加载更多评论>>