C语言Goto以及break语句的讲解

 2023-03-06 11:14:25  阅读 0

一、Goto语句的详细讲解

goto语句为无条件转向语句,它的一般形式为: goto 语句标号;

例:用if语句和goto语句构成循环,求1-100的累加和。

main()
{
     int i,sum=0;
     i=1;
 loop:if(i<=100)
     {
       sum=sum+i;
       i++;
       goto loop;
	 }
     printf("%d\n",sum);
}

二、Break

break语句除用于退出switch结构外,还可用于由while、 do…while和for构成的循环结构中。当执行循环体遇到break 语句时,break所在循环将立即终,从循环语句后的第一条语 句开始继续往下执行。 break语句的一般形式如下: break ;

看一道例题:

判断任意一个数是否为素数。

算法描述:

(1)接收用户输入的m的值;

(2)循环变量赋初值i ← 2, 循环条件i <= m-1,循环变量i++, 循环执行以下语句: 如果m能被i整除,则结束循环。

(3)循环结束后判断m与i的关系,如果m等于i,则输出m是素数。否则输出m不是素数。

#include <stdio.h>
int main()
{
 int m,i;
 scanf("%d",&m);
 for(i=2; i<=m-1; i++)
 {
  if(m%i==0)
   break;
 }
 if(i==m)
   printf(“%d 是素数\n",m);
 else
   printf(“%d不是素数\n",m);
}

Continue语句的详细讲解:

continue语句与break语句不同,当在循环体中遇到 continue语句时,程序将不执行continue语句后面尚未执 行的语句,开始下一次循环,即只结束本次循环的执行, 并不终止整个循环的执行。 continue语句的一般形式如下: continue ;

把100~120之间不能被3整除的整数输出。

#include <stdio.h>
int main()
{
  int n;
  for(n=100; n<=120; n++)
  {
   if(n%3==0)
    continue;
   printf("%d  ",n);
  }
  return 0;
}

接下来通过一道综合例题全面理解:

统计选票。现有选票如下:3,1,2,1,1,3,3,2,1, 2,3,3,2,1,1,3,2,0,1,4,-1。-1是结束标志。设1 选李,2选张,3选王,0和4为废票,问谁会当选?

//FileName: chap3_38.c
#include <stdio.h>
int main()
{
	int vote,lvote=0, zvote=0, 
	wvote=0, invalidvote=0;
	printf("请输入投票情况:");
	scanf("%d",&vote);
	while(vote!=-1)
	{
		switch(vote)
		{
		case 1: lvote++;  break;
		case 2: zvote++;  break;
case 3: wvote++;  break;
case 0: 
case 4: invalidvote++;
}
scanf("%d",&vote);
}
printf("Li: %2d,  Zhang: %2d,  Wang: %2d, Invalid: %2d", lvote, zvote, wvote,invalidvote);
return 0;
}

 

标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码