C++ 控制流

概述

控制流语句决定语句执行的顺序。C++ 提供了各种用于决策和循环的控制结构。

条件语句

if-else 语句

#include <iostream>

int main() {
    int age = 18;

    if (age < 13) {
        std::cout << "Child" << std::endl;
    } else if (age < 18) {
        std::cout << "Teenager" << std::endl;
    } else if (age < 65) {
        std::cout << "Adult" << std::endl;
    } else {
        std::cout << "Senior" << std::endl;
    }

    return 0;
}

switch 语句

#include <iostream>

int main() {
    char grade = 'B';

    switch (grade) {
        case 'A':
            std::cout << "Excellent!" << std::endl;
            break;
        case 'B':
            std::cout << "Good!" << std::endl;
            break;
        case 'C':
            std::cout << "Average" << std::endl;
            break;
        case 'D':
            std::cout << "Below Average" << std::endl;
            break;
        case 'F':
            std::cout << "Fail" << std::endl;
            break;
        default:
            std::cout << "Invalid grade" << std::endl;
    }

    return 0;
}

循环语句

for 循环

#include <iostream>

int main() {
    // 基本 for 循环
    for (int i = 1; i <= 10; i++) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 基于范围的 for 循环 (C++11)
    int arr[] = {10, 20, 30, 40, 50};
    for (int value : arr) {
        std::cout << value << " ";
    }
    std::cout << std::endl;

    return 0;
}

while 循环

#include <iostream>

int main() {
    int count = 1;

    while (count <= 5) {
        std::cout << "Count: " << count << std::endl;
        count++;
    }

    return 0;
}

do-while 循环

#include <iostream>

int main() {
    int number;

    do {
        std::cout << "Enter a positive number (0 to exit): ";
        std::cin >> number;

        if (number > 0) {
            std::cout << "You entered: " << number << std::endl;
        }
    } while (number != 0);

    return 0;
}

跳转语句

break 和 continue

#include <iostream>

int main() {
    // break 示例
    for (int i = 1; i <= 10; i++) {
        if (i == 6) {
            break;  // 退出循环
        }
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // continue 示例
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            continue;  // 跳过偶数
        }
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}

goto 语句(谨慎使用)

#include <iostream>

int main() {
    int count = 1;

    start:
    std::cout << "Count: " << count << std::endl;
    count++;

    if (count <= 5) {
        goto start;
    }

    return 0;
}