C语言 条件运算符

 

  1、 条件运算符

      在C语言中,条件运算符是一个三目运算符,在运算的过程中需要有3个运算的对象,

   另外,三目运算符的结合方向是(从右往左)。

 

  2、条件运算符的语法格式

    表达式1?表达式2:表达式3;

 

    语法分析:

     (1)首先执行表达式1。

     (2)一个?。

     (3)如果表达式1的执行结果为真,即非0就会执行表达式2,否则,就执行表达式3。

     (4)表达式2与3之间通过一个“冒号”分隔。

 

  3、例子

       int a = 15;

       int b = 19;

 

      int c = a > b ? a :b;  //首先执行a>b,即15>19,结果为假,即0,因为,15不大于19,

                     所以,就执行表达式3,即b,然后,再将b中的值19赋给变量c,

                     所以,变量c中的值等于19。

 

 

      c = a > b ? a :b+1;  //首先执行a>b,即15>19,结果为假,即0,因为,15不大于19,

                     所以,就执行表达式3,即b+1,然后,再将b+1的结果20,

                     赋值给变量c。

                     所以,变量c中的值由19变为20。

 

 

 4、条件运算符的结合方向是(从右往左)

 

     例子:

        int a = 15;

        int b = 19;

        int c = 17;

        int d = 13;       

 

       int e = a > b ? a :c > d ?d:c;  //这行代码等价于下面的代码

 

     例子分析:

       (1)定义了4个整型变量,a、b、c、d。

       (2)a > b ? a :c > d ?d:c;  //这行代码等价于下面的代码

          a > b ? a :( c > d ?d:c ); 

          //因为条件运算是从右往左结合的,所以,先执行小括号中的条件表达式,

           然后,首先执行c>d,即17>13,结果为真,所以,就执行表达式2,即d

           而d中的值等于13。

           所以,条件表达式就变为 a > b ? a:13,

           然后,再判断a > b,即15 > 19,结果为假,所以,执行表达式13,即13,

           所以,条件表达式最后的执行结果就返回13,然后,保存于变量e中,

           所以,e 中的值为13。

=======================================================================

非常好,现在,我们已经掌握了C语言中的(条件运算符)但是,如何去运行用它呢?

所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行 编程训练)