“21天好习惯” 第一期 -6

 循环中的流程转移控制:

 

使用break,continue和goto语句可以改变流程顺序;

一:break

break表示退出循环转到循环后的下一条语句,一般不会单独使用break(单独使用没有有意义)

表达式为:

        while( 表达式1)

        {

                ......

                if(表达式2)

                        break;

                 .......

        }

二,continue:

表示本次循环提前结束,跳过本条循环语句后面部份,进入下一次循环的条件判断部分;

对比break和continue

#include <stdio.h>
int main()
{
	int x = 0;
	while(x++<10)
	{
		if(x==3)
		break;
	}
	printf("%d",x);
}

#include <stdio.h>
int main()
{
	int x = 0;
	while(x++<10)
	{
		if(x==3)
		continue;
	}
	printf("%d",x);
}

在第一段代码中,输出1  2;第二段中输出 1 2 4 5 6 7 8 9 10;因为continue只能退出本次循环;

实例:

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

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

表示n如果能被3整除则跳过输出语句;从而达到输出不能被3整除的数;

三,goto:

goto为转向语句,能转向指定位置,需配合标号使用;

格式:

        goto label;

        ........

label:语句

例如:从键盘上输入正整数,累加求和,如果输入负数则结束;

#include <stdio.h>
int main()
{
    int n,sum=0;
while(1)
{
    printf("Please enter n:");
    scanf("%d",&n);

    if(n<0)
        goto end;

    sum +=n;
}
    end: printf("sum is %d\n",sum);
}

注意:多次使用goto会使程序可读性降低;

goto和break对比:

 break只能退出一层,而goto能转向到程序的任意位置;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值