代码改变世界

跳转语句——break、continue、goto

2013-03-28 10:35  Keiven_LY  阅读(278)  评论(0编辑  收藏  举报

1、break语句

       说明:该语句将使程序从当前的循环语句(do……while,while,for)内跳转出来,继续执行循环语句后面的语句

例:从键盘读入用户输入的数,对其求和,直到当用户输入数0时,表示输入结束

#include <iostream>
#include<stdlib.h>
using namespace std; 

void main()
{
    int sum=0,n;
    cout<<"请输入一个整数(输入0时表示结束)"<<endl;
    while(1) //永远循环
    {        
        cin>>n;
        if(n==0)
            break;
        sum=sum+n;
    }
    cout<<"输入的整数之和为:"<<sum<<endl;
    system("pause");
}

2、continue语句

        说明:该语句不是结束循环,而是结束循环语句的当前一次循环,接着执行下一次循环

例:对用户输入的所有正数求和,如果输入的数为负数,则忽略该数。要求每输入一个数,要判断其是正数还是负数,如果是负数,则利于continue语句结束当前一次循环,继续下一次循环吗,否则将该数嫁到总和上

#include <iostream>
#include<stdlib.h>
using namespace std; 

void main()
{
    int sum=0,n;
    cout<<"请输入一个整数(输入0时表示结束)"<<endl;
    while(n!=0) 
    {        
        cin>>n;
        if(n<0)
            continue;
        sum=sum+n;

    }
    cout<<"输入的整数之和为:"<<sum<<endl;
    system("pause");
}

3、goto语句

        说明:该语句无条件转移程序的执行控制,它总是与一标号相匹配

例:求满足条件12+22+32+....+n2≤1000的最大的n

#include <iostream>
#include<stdlib.h>
using namespace std; 

void main()
{
    int sum=0,n=0;
    while(1) 
    {    
        sum=sum+n*n;
        if(sum>=1000)
            goto end;
        n++;

    }
    end:cout<<"最大的n为:"<<n-1<<endl;
    system("pause");
}