您的位置:

C++判断

一、基本判断语句

C++中最基本的判断语句是if语句,它的语法格式如下:

if (条件)
{
    // 条件成立执行的代码
}

如果条件成立,则执行if语句块中的代码,否则跳过。

还有if-else语句,它的语法格式如下:

if (条件)
{
    // 条件成立执行的代码
}
else
{
    // 条件不成立执行的代码
}

如果条件成立,则执行if语句块中的代码,否则执行else语句块中的代码。

二、复合条件语句

有时候我们需要同时满足多个条件才能执行某段代码,这时候可以使用逻辑运算符与(&&)来连接多个条件,语法格式如下:

if (条件1 && 条件2)
{
    // 条件1和条件2成立执行的代码
}

还可以使用或运算符(||)来连接多个条件:

if (条件1 || 条件2)
{
    // 条件1或条件2成立执行的代码
}

三、switch语句

switch语句可以用于多路分支,它的语法格式如下:

switch (表达式)
{
    case 值1:
        // 执行代码1
        break;
    case 值2:
        // 执行代码2
        break;
    // ...
    default:
        // 执行代码n
        break;
}

表达式的值会与case后面的值进行比较,如果相等则执行对应的代码块,一般需要在每个case后面加上break语句来结束switch语句。

四、三目运算符

三目运算符相当于简化版的if-else语句,语法格式如下:

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

如果条件成立,返回表达式1的值,否则返回表达式2的值。

五、assert断言

assert断言用于在代码中检查某些条件是否成立,如果条件不成立,则终止程序的运行。可以使用#include <cassert>头文件来使用assert函数。assert函数的语法格式如下:

assert(条件);

当条件不成立时,assert函数会输出错误信息并终止程序的运行。

示例代码:

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

int main()
{
    // 基本判断语句
    int a = 10;
    if (a > 5)
    {
        cout << "a大于5" << endl;
    }

    // 复合条件语句
    int b = 3, c = 4;
    if (b < 5 && c > 3)
    {
        cout << "b小于5,c大于3" << endl;
    }

    // switch语句
    int d = 2;
    switch (d)
    {
    case 1:
        cout << "d等于1" << endl;
        break;
    case 2:
        cout << "d等于2" << endl;
        break;
    default:
        cout << "d不是1也不是2" << endl;
        break;
    }

    // 三目运算符
    int e = 5;
    string s = (e > 3) ? "e大于3" : "e小于等于3";
    cout << s << endl;

    // assert断言
    int f = 10;
    assert(f < 5);  // 条件不成立,程序终止

    return 0;
}