您的位置:

c++中的break用法详解

一、循环体内使用break

在循环体内使用break语句可以终止循环语句的执行,跳出循环。例如,我们可以编写一个while循环,让用户输入数字,直到输入0为止:

#include <iostream>

using namespace std;

int main() {
    int num;
    
    while (true) {
        cout << "请输入一个数字:";
        cin >> num;
        if (num == 0) {
            break;
        }
    }
    
    cout << "程序结束!" << endl;
    return 0;
}

上述代码中,当用户输入0时,break语句将会终止while循环,程序将执行后续代码并输出“程序结束!”。

二、嵌套循环使用break

在嵌套循环中使用break语句可以终止内层循环的执行,跳出内层循环。例如,我们可以编写一个双重for循环,输出九九乘法表中小于10的部分:

#include <iostream>

using namespace std;

int main() {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            cout << i << "*" << j << "=" << i * j << "\t";
            if (j == 9) {
                break;
            }
        }
        cout << endl;
    }
    
    return 0;
}

上述代码中,当内层循环的j等于9时,break语句将会终止内层循环的执行,程序将继续执行外层循环并输出换行符,从而实现九九乘法表的输出。

三、在switch语句中使用break

在switch语句中使用break语句可以强制终止switch语句的执行,跳出switch语句。例如,我们可以编写一个switch语句,根据用户输入的数字输出相应的月份:

#include <iostream>

using namespace std;

int main() {
    int month;
    
    cout << "请输入一个数字(1-12)表示月份:";
    cin >> month;
    
    switch (month) {
        case 1:
            cout << "一月" << endl;
            break;
        case 2:
            cout << "二月" << endl;
            break;
        case 3:
            cout << "三月" << endl;
            break;
        case 4:
            cout << "四月" << endl;
            break;
        case 5:
            cout << "五月" << endl;
            break;
        case 6:
            cout << "六月" << endl;
            break;
        case 7:
            cout << "七月" << endl;
            break;
        case 8:
            cout << "八月" << endl;
            break;
        case 9:
            cout << "九月" << endl;
            break;
        case 10:
            cout << "十月" << endl;
            break;
        case 11:
            cout << "十一月" << endl;
            break;
        case 12:
            cout << "十二月" << endl;
            break;
        default:
            cout << "无效的月份" << endl;
            break;
    }
    
    return 0;
}

上述代码中,当用户输入的数字不在表示月份的范围内时,default标签中的代码将会被执行,并且break语句将会终止switch语句的执行。

四、在函数中使用break

在函数中使用break语句可以终止函数的执行,跳出函数。例如,我们可以编写一个函数,计算斐波那契数列中第n项的值:

#include <iostream>

using namespace std;

int fib(int n) {
    int a = 0, b = 1, c = 1;
    
    if (n < 1) {
        cout << "无效的参数" << endl;
        return 0;
    }
    
    if (n == 1 || n == 2) {
        return 1;
    }
    
    for (int i = 3; i <= n; i++) {
        c = a + b;
        a = b;
        b = c;
        if (c > 100) {
            break;
        }
    }
    
    return c;
}

int main() {
    int n;
    
    cout << "请输入一个正整数n:";
    cin >> n;
    
    cout << "斐波那契数列中第" << n << "项的值是:" << fib(n) << endl;
    
    return 0;
}

上述代码中,当计算的斐波那契数列中某一项的值超过100时,break语句将会终止for循环的执行,函数将会直接返回c的值。