手把手教你学C++(十)--C++ 判断

目录

1. if 语句

语法:

示例:

2. switch 语句

语法:

示例:

3. 条件运算符(Ternary Operator)

语法:

示例:

4. 嵌套的 if 语句

示例:

5. 使用逻辑运算符

示例:

6. 使用 assert 断言

示例:

7. 使用 try-catch 异常处理

示例:

总结


 

在 C++ 中,判断语句(或称分支语句)用于根据不同的条件执行不同的代码块。这些语句允许程序根据特定条件作出决策,从而实现更复杂的逻辑。C++ 支持几种主要的判断语句,包括 if 语句、switch 语句以及 ternary 条件运算符。

1. if 语句

if 语句是最基本的判断语句,用于根据一个条件的真假来选择执行不同的代码块。

语法:

 

cpp

深色版本

if (条件) {
    // 当条件为真时执行的代码块
} else if (另一个条件) {
    // 当另一个条件为真时执行的代码块
} else {
    // 当所有前面的条件均为假时执行的代码块
}

示例:

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int score = 85;

    if (score >= 90) {
        cout << "Grade: A" << endl;
    } else if (score >= 80) {
        cout << "Grade: B" << endl;
    } else if (score >= 70) {
        cout << "Grade: C" << endl;
    } else {
        cout << "Grade: F" << endl;
    }

    return 0;
}

2. switch 语句

switch 语句用于基于不同的条件执行不同的代码块。它通常用于多个互斥条件的情况。

语法:

 

cpp

深色版本

switch (表达式) {
    case 常量表达式1:
        // 当表达式等于常量表达式1时执行的代码块
        break;
    case 常量表达式2:
        // 当表达式等于常量表达式2时执行的代码块
        break;
    ...
    default:
        // 当没有匹配的 case 时执行的代码块
}

示例:

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int dayOfWeek = 3;

    switch (dayOfWeek) {
        case 1:
            cout << "Monday" << endl;
            break;
        case 2:
            cout << "Tuesday" << endl;
            break;
        case 3:
            cout << "Wednesday" << endl;
            break;
        case 4:
            cout << "Thursday" << endl;
            break;
        case 5:
            cout << "Friday" << endl;
            break;
        case 6:
            cout << "Saturday" << endl;
            break;
        case 7:
            cout << "Sunday" << endl;
            break;
        default:
            cout << "Invalid day" << endl;
    }

    return 0;
}

3. 条件运算符(Ternary Operator)

条件运算符(也称为三元运算符)提供了一个简短的方式来根据条件选择不同的值。

语法:

 

cpp

深色版本

(条件) ? 表达式1 : 表达式2;

示例:

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int a = 10;
    int b = 20;
    int result = (a > b) ? a : b;

    cout << "Max: " << result << endl;

    return 0;
}

4. 嵌套的 if 语句

if 语句可以嵌套使用,即在一个 if 语句的代码块中又包含另一个 if 语句。

示例:

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int age = 20;
    bool hasLicense = true;

    if (age >= 16) {
        if (hasLicense) {
            cout << "Can drive legally." << endl;
        } else {
            cout << "Needs a license to drive legally." << endl;
        }
    } else {
        cout << "Too young to drive." << endl;
    }

    return 0;
}

5. 使用逻辑运算符

逻辑运算符(&&||)可以用于组合多个条件。

示例:

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int age = 20;
    bool hasLicense = true;

    if (age >= 16 && hasLicense) {
        cout << "Can drive legally." << endl;
    } else if (age >= 16 && !hasLicense) {
        cout << "Needs a license to drive legally." << endl;
    } else {
        cout << "Too young to drive." << endl;
    }

    return 0;
}

6. 使用 assert 断言

assert 用于在开发过程中进行调试,确保某个条件为真。如果条件为假,则程序会终止并输出错误信息。

示例:

 

cpp

深色版本

#include <cassert>

int main() {
    int x = 10;
    assert(x > 0); // 如果 x 不大于 0,则程序会终止
    cout << "Passed assert check." << endl;

    return 0;
}

7. 使用 try-catch 异常处理

异常处理机制也可以用于条件判断,特别是用于检测和处理程序运行中的错误情况。

示例:

 

cpp

深色版本

#include <iostream>
#include <stdexcept>
using namespace std;

int main() {
    try {
        int divisor = 0;
        if (divisor == 0) {
            throw runtime_error("Cannot divide by zero.");
        }
        int result = 10 / divisor;
        cout << "Result: " << result << endl;
    } catch (const exception& e) {
        cout << "Caught exception: " << e.what() << endl;
    }

    return 0;
}

总结

判断语句是 C++ 中非常重要的控制结构,用于根据不同的条件执行不同的代码块。通过合理使用 if 语句、switch 语句、条件运算符以及其他控制结构,你可以实现复杂的逻辑判断。随着编程经验的积累,你会更加熟练地运用这些判断语句来优化你的代码结构。理解并掌握这些判断语句,可以帮助你在编写程序时更加得心应手。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值