【新手C语言】3.1 循环实例,循环跳出(break/continue)

【火箭发射倒计时】

#include <stdio.h>
int main (void)
{
int count = 100;
while (count > 0) {
	printf("%d  \n",count);// a
	count--;               //b
}	
	printf("发射!\n"); 
//当我们想要模拟测试一个比较大的循环时,可以采用一个小的数进行实验。 
//比如我们想要知道ab顺序带来的不同时,可以先用count = 3 进行测试。 
	;return 0;
 } 

【循环的跳出】

#include  <stdio.h>
int main (void){
	int x ; 
	scanf ("%d",&x) ; 
	
	int i ;
	int k =0 ;//设置一个数值k来勇于判断最后的文字输出 
	if(x ==1){
		printf("1就是1");//1的情况 
	}else if (x<1){
		printf("EOORO"); //错误的情况 
	}else{
	
		for(i=2;i<x;i++){ //从2开始到x-1 
			if(x%i == 0) {
			k =1;	
			break; //!!在循环里面,运行至break时,结束该次循环(在这里加入是为了防止重复运算) 
			//continue :跳过循环这一轮剩下的语句进入下一轮(不做接下来的语句,回到循环开头) 	
			}
			printf("%d \n",i);
	} 
	if (k==1) printf("不是素数");
	else printf("是素数") ;
    }
	
	
	;return 0 ;
}

break:直接结束循环
continue:结束本次循环的语句,进入下一次循环的判断与执行

【嵌套循环实例】

#include <stdio.h>
int main(void){
	int x ; 
	x=6;
	for(x=2;x<100;x++)
	{		
		int i;
		int isPrime=1; //x是素数 
		for(i=2;i<x;i++){
			if(x%i ==0){
				isPrime = 0 ;
				break;
			}
		//!!注意,循环与被嵌套的循环中,更新变量(x,i)要不同,以免混淆	
		}
		if(isPrime ==1){
			printf("%d \n",x);
		}
    }
	printf("\n");
	 
	;return 0 ; 
}

【循环跳出2】

#include <stdio.h>
int main()
{
	int x ;
	int one,two,five;
	
	//scanf("%d",&x);
	x = 2;

    int exit = 0 ;//设置一个变量用于确认break的跳出 ,这种break叫做接力break。 
	
	for ( one=1;one<x*10/1;one++){
		
		for(two=1;two<x*10/2;two++){
			
			for(five=1;five<x*10/5;five++){
				if(one+two*2+five*5 == x*10){
					printf("可以用%d个1角加%d个2角加%d个5角得到 %d 元\n",one,two,five,x);
					exit = 1;
					break; 
					//goto out ; //goto的用法见尾 
				}
			}	
			if(exit) break ; //直接写exit就表示exit ==1 ; 
		}
	if(exit) break;
	}
	//break和continue 只会对它所在的循环做  
	
	//out : 
	;return 0 ;
	/*
	   goto A ;将程序跳转至A处 
	 A :         A处,注意后面是冒号  
	
	*/ 
 } 

这里涉及到了新的命令:goto
goto 可以把命令执行“瞬间跳转”到某一行,由于打乱了代码的节奏而存在争议

goto A ; 将程序跳转到A执行
A: 语句...

posted @ 2021-04-21 14:46  RetenQ  阅读(519)  评论(0编辑  收藏  举报