您的位置:

使用C++中break关键字进行循环中断

一、什么是break关键字?

在C++中,break是一种关键字,可用于各种循环语句中进行中断。当程序执行到break语句时,循环将会立即终止,程序控制流将转移至循环体之后的下一条语句。

使用break可以提高程序性能,避免不必要的循环操作,对于需要在满足某一条件时立即终止循环的情况非常有用。

二、在for循环中使用break

在for循环中使用break通常表示在找到所需元素后跳出循环。例如,以下代码演示了如何在数组中查找指定元素:

#include 

int main()
{
    int arr[] = { 1, 2, 3, 4, 5 };
    int num = 3;
    bool found = false;

    for (int i = 0; i < 5; i++)
    {
        if (arr[i] == num)
        {
            found = true;
            break;
        }
    }

    if (found)
    {
        std::cout << "Number found in array" << std::endl;    
    }
    else
    {
        std::cout << "Number not found in array" << std::endl;
    }

    return 0;
}

  

在以上代码中,for循环遍历数组中的元素,一旦找到指定元素,就将found标记设置为true,然后使用break跳出循环。如果找到了指定元素,程序就输出"Number found in array",否则输出"Number not found in array"。

三、在while循环中使用break

在while循环中使用break通常表示在找到所需条件后跳出循环。例如,以下代码演示了如何在while循环中动态生成随机数,直到生成了指定数量的偶数:

#include 
#include 
   
#include 
    

int main()
{
    srand(time(NULL));
    int count = 0;
    while (count < 5)
    {
        int num = rand() % 100;
        if (num % 2 == 0)
        {
            count++;
            std::cout << num << " ";
        }
        if (count == 5)
        {
            break;
        }
    }
    return 0;
}

    
   
  

在以上代码中,while循环用于生成随机数。使用if语句检查随机数是否为偶数,如果是,则将计数器count加1并输出该随机数。一旦找到了指定数量的偶数(在本例中为5个),程序就使用break跳出循环。

四、在嵌套循环中使用break

在嵌套循环中使用break通常表示在满足某些条件时跳出所有循环,即跳出外层循环和内层循环。例如,以下代码演示了如何在二维数组中查找到指定元素的位置:

#include 

int main()
{
    int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
    int num = 5;
    int row = -1;
    int col = -1;

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            if (arr[i][j] == num)
            {
                row = i;
                col = j;
                break;
            }
        }
        if (row != -1 && col != -1)
        {
            break;
        }
    }

    if (row != -1 && col != -1)
    {
        std::cout << "Number found at row " << row << " and column " << col << std::endl;
    }
    else
    {
        std::cout << "Number not found in array" << std::endl;
    }

    return 0;
}

  

在以上代码中,内层循环遍历二维数组中的元素,一旦找到指定元素,就将其行列位置保存下来,然后使用两个break跳出外层循环和内层循环。如果找到了指定元素,程序就输出"Number found at row x and column y",否则输出"Number not found in array"。