📜  C++ |嵌套三元运算符

📅  最后修改于: 2021-05-25 23:35:10             🧑  作者: Mango

三元运算符也称为条件运算符,它使用三个操作数来执行运算。

句法 :

op1 ? op2 : op3;

嵌套三元运算符:可以嵌套三元运算运算符。嵌套三元运算符可以具有多种形式,例如:

  • 一种 ? :
  • 一种 ? b:c? d:e? f:克?你好
  • 一种 ? ? c:d:e

让我们一一理解语法:

  1. 一种 ? b:c =>此三元运算符类似于if-else语句。因此它可以用if-else语句的形式表示。
    使用三元运算符的表达式:
    a ? b : c

    使用if else语句的表达式:

    if ( a ) 
        then b execute
    else 
        c execute

    例子:

    // C++ program to illustrate
    // nested ternary operators
    #include 
    using namespace std;
      
    int main()
    {
        cout << "Execute expression using"
        << " ternary operator: ";
        // Execute expression using
        // ternary operator
        int a = 2 > 5 ? 2 : 5;
        cout << a << endl;
          
        cout << "Execute expression using "
        << "if else statement: ";
          
        // Execute expression using if else
        if ( 2 > 5)
            cout << "2";
        else
            cout << "5";
        return 0;
    }
    
    输出:
    Execute expression using ternary operator: 5
    Execute expression using if else statement: 5
    
  2. 一种 ? b:c? d:e? f:克? h:i =>此嵌套三元运算符可以分解为if,else和else-if语句。该表达式可以在三元运算符和if else语句中分成较小的部分,如下所示:
    使用三元运算符的表达式:
    a ? b
        : c ? d
        : e ? f
        : g ? h
        : i

    使用if else语句的表达式:

    if a then b
        else if c then d
        else if e then f
        else if g then h
        else i
    // C++ program to illustrate
    // nested ternary operators
    #include 
      
    using namespace std;
      
    int main()
    {
        cout << "Execute expression using "
        << "ternary operator: ";
        int a = 2 > 3 ? 2 : 3 > 4 ? 3 : 4;
        cout << a << endl;
          
        cout << "Execute expression using "
        << "if else statement: ";
        if ( 2 > 3 )
            cout << "2";
        else if ( 3 > 4 )
            cout << "3";
        else 
            cout << "4";
        return 0;
    }
    
    输出:
    Execute expression using ternary operator: 4
    Execute expression using if else statement: 4
    
  3. 一种 ? ? c:d:e =>下面是使用三元运算符和if else语句的表达式扩展。
    使用三元运算符的表达式:
    a ?
          b ? c
        : d
    : e

    使用if else语句的表达式:

    if ( a )
        if ( b )
            c execute
        else 
            d execute
    else 
        e execute
    // C++ program to illustrate
    // nested ternary operators
    #include 
      
    using namespace std;
      
    int main()
    {
        cout << "Execute expression using "
        << "ternary operator: ";
        int a = 4 > 3 ? 2 > 4 ? 2 : 4 : 3;
        cout << a << endl;
          
        cout << "Execute expression using "
        << "if else statement: ";
        if ( 4 > 3 )
            if ( 2 > 4 )
                cout << "2";
            else
                cout << "4";
        else
            cout << "3";
        return 0;
    }
    
    输出:
    Execute expression using ternary operator: 4
    Execute expression using if else statement: 4
    
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”