goto语句的总结整理

前两天做管理系统做的不是很好,为进步,我参考学习了一位学姐的代码。注意到学姐使用到了goto语句,我就把这一部分也看了一下。goto语句,也被称为无条件转移语句,在现在的代码中并不多见,主要是因为有的人认为goto语句会造成程序结构不清晰,但goto语句还是有自己独到的优点。

goto语句强制中断本语句后面的语句,适用范围仅限于一个函数内部不可以跳转到其他函数内。goto语句可以一次跳出许多层循环,方便检查一些错误,还可以对for循环中包含的if条件句加一个goto,方便我们对满足条件的部分进行及时的处理。goto语句的语法是这样的:1,设置一个后面带冒号的标签,标签的名字可以任意去取,冒号后面的是想要对语句进行的操作。loop:(----)2,goto loop

下面是几个我应用goto语句的简单实例:                                                                                                                                       例一:

从键盘上输入一些数字,求所有正数之和。当输入0或者负数时,程序结束。

#include <stdio.h>
int main()
{
	float x;
	float sum=0;
	scanf("%f",&x);  //输入第一个数 
	loop:
		if(x>0){
			sum+=x;
			scanf("%f",&x);
			goto loop;
		}
		printf("sum=%6.2f",sum);
		return 0;
}

输入数据:1.1 4.2 7.3 8.4 -1

运行结果:21.00

      例二

1-200之内的自然数求和 。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

#include <stdio.h>
int main()
{
	int n,sum=0;
	n=1;
	loop:
		sum+=n;
		n++;
		if(n<=200){
			goto loop;
		}
		printf("%d\n",sum);
		return 0;
 } 

运行结果:20100

例三

打印出所有水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。将三位数的个位,十位,百位数字分离出来,判断各位数字的立方和是否等于该数本身,若相等,输出该水仙花数。

扫描二维码关注公众号,回复: 1560017 查看本文章
#include <stdio.h>
int main()
{
	int i,j,k,n;
	printf("水仙花数是:");
	
	n=100;   //如果是for语句做这道题,这是表达式1
	loop:
	if(n<1000)   //表达式2 
	 {
		i=n/100;
		j=n/10%10;
		k=n%10;
		if(n==i*i*i+j*j*j+k*k*k)
		printf("%-5d",n); 
		n++;   //表达式3 
		goto loop;
	}
	
}

猜你喜欢

转载自blog.csdn.net/jinyu_mobao/article/details/80530649
今日推荐