位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 goto语句

提问人:刘团圆发布时间:2020-11-30

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,从而达到改变符号的目的。

流程图如图所示。

image.png

从流程图中可以看出,使用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


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部