3.C++中的判断语句

C++中的判断语句

一、if 语句

if 语句是最基本的判断结构,用于根据条件执行不同的代码块。

基本形式:
if (condition) {
    // 当 condition 为真时执行的代码块
}

例如:

#include 

int main() {
    int num = 10;
    if (num > 5) {
        std::cout << "num 大于 5" << std::endl;
    }
    return 0;
}
带有 elseif 语句:
if (condition) {
    // 当 condition 为真时执行的代码块
} else {
    // 当 condition 为假时执行的代码块
}

例如:

#include 

int main() {
    int num = 3;
    if (num > 5) {
        std::cout << "num 大于 5" << std::endl;
    } else {
        std::cout << "num 小于或等于 5" << std::endl;
    }
    return 0;
}
带有 else ifif 语句:

可以使用 else if 来检查多个条件。

if (condition1) {
    // 当 condition1 为真时执行的代码块
} else if (condition2) {
    // 当 condition2 为真时执行的代码块
} else {
    // 当所有条件都为假时执行的代码块
}

例如:

#include 

int main() {
    int num = 7;
    if (num > 10) {
        std::cout << "num 大于 10" << std::endl;
    } else if (num > 5) {
        std::cout << "num 大于 5 且小于或等于 10" << std::endl;
    } else {
        std::cout << "num 小于或等于 5" << std::endl;
    }
    return 0;
}

二、switch 语句

switch 语句用于根据表达式的值选择执行不同的代码分支。

基本形式:
switch (expression) {
    case value1:
        // 当 expression 等于 value1 时执行的代码块
        break;
    case value2:
        // 当 expression 等于 value2 时执行的代码块
        break;
    default:
        // 当 expression 不等于任何 case 的值时执行的代码块
        break;
}

例如:

#include 

int main() {
    int day = 3;
    switch (day) {
        case 1:
            std::cout << "星期一" << std::endl;
            break;
        case 2:
            std::cout << "星期二" << std::endl;
            break;
        case 3:
            std::cout << "星期三" << std::endl;
            break;
        case 4:
            std::cout << "星期四" << std::endl;
            break;
        case 5:
            std::cout << "星期五" << std::endl;
            break;
        case 6:
            std::cout << "星期六" << std::endl;
            break;
        case 7:
            std::cout << "星期日" << std::endl;
            break;
        default:
            std::cout << "无效的输入" << std::endl;
            break;
    }
    return 0;
}

三、三目运算符(?:

三目运算符是一种简洁的 if-else 语句的替代形式。

基本形式:
condition? expression1 : expression2;

condition 为真时,返回 expression1 的值,否则返回 expression2 的值。

例如:

#include 

int main() {
    int num = 8;
    std::string result = (num > 5)? "大于 5" : "小于或等于 5";
    std::cout << result << std::endl;
    return 0;
}

四、使用注意事项

if 语句:
  • 条件表达式必须用括号括起来。
  • 可以使用逻辑运算符(&&||!)组合多个条件。
switch 语句:
  • expression 的类型可以是整数类型(包括 char)或枚举类型。
  • 每个 case 后面必须跟一个 break 语句,否则会继续执行下一个 case 的代码(称为 “穿透”)。
  • default 语句是可选的,用于处理 expression 不匹配任何 case 的情况。
三目运算符:
  • 适合简单的条件判断,使代码更简洁。
  • 不适合复杂的代码块,仅适用于简单的表达式求值。

五、示例代码

以下是一个更复杂的综合示例,结合 ifswitch 语句:

#include 

int main() {
    int score;
    std::cout << "请输入成绩:";
    std::cin >> score;

    if (score >= 90) {
        switch (score / 10) {
            case 10:
            case 9:
                std::cout << "优秀" << std::endl;
                break;
            default:
                std::cout << "输入错误" << std::endl;
                break;
        }
    } else if (score >= 80) {
        std::cout << "良好" << std::endl;
    } else if (score >= 60) {
        std::cout << "及格" << std::endl;
    } else {
        std::cout << "不及格" << std::endl;
    }

    return 0;
}

C++ 的判断结构语句可以帮助你根据不同的条件执行不同的代码,是程序控制流的重要组成部分。它们在各种编程场景中都有广泛的应用,从简单的条件判断到复杂的多条件分支处理。

六、嵌套使用

可以将判断结构语句嵌套使用,以处理更复杂的逻辑。

嵌套 if 语句:
#include 

int main() {
    int num = 15;
    if (num > 10) {
        if (num % 2 == 0) {
            std::cout << "num 大于 10 且为偶数" << std::endl;
        } else {
            std::cout << "num 大于 10 且为奇数" << std::endl;
        }
    } else {
        std::cout << "num 小于或等于 10" << std::endl;
    }
    return 0;
}

通过灵活运用这些判断结构语句,可以编写出具有复杂逻辑和强大功能的 C++ 程序,根据不同的输入和条件做出相应的处理和响应。

七、性能考虑

  • 对于简单的条件判断,if 语句通常是最直接和易于理解的。
  • switch 语句在处理多个离散的 case 时可能会更高效,因为编译器可能会将其优化为跳转表,提高性能。
  • 三目运算符在代码简洁性和可读性方面有优势,但不适合复杂的代码块,避免滥用导致代码难以理解。

判断结构语句是 C++ 程序控制流的重要组成部分,合理使用可以使程序逻辑清晰、简洁和高效。

你可能感兴趣的:(C++基础入门,c++,开发语言)