打印本文 打印本文  关闭窗口 关闭窗口  
二级C++精品课程3-1-7:C++运算符之条件运算符
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:40:00  文章录入:杜斌  责任编辑:杜斌

3.1.8条件运算符
  条件运算符是C++中唯一的三目运算符,也称为三元运算符,它有三个操作数:
  操作数1 ? 操作数2 : 操作数3
  条件运算符又可以称为'?'号运算符。操作数1一般是条件表达式,若表达式成立,即为真,则整个表达式的值为操作数2,否则为操作数3。表中的例子:若a>=b, 则例子的结果为a ,否则就为b。
  例如、cout <<('A'<=ch && ch<='Z')? ('a'+ch-'A'):ch
  结果是输出一个小写字母。
  如果第一个操作数非零,表达式的值是操作数2,否则表达式的值取操作数3。例如:
  int m = 1, n = 2;
  int min = (m < n ? m : n); // min 取 1
  由于条件运算本身是一个表达式,即条件表达式,它可以作为另一个条件表达式的操作数。也就是说,条件表达式是可以嵌套的。例如:
  int m = 1, n = 2, p =3;
  int min = (m < n ? (m < p ? m : p)
         : (n < p ? n : p));
  再看看其它的例子:
  int a=10,b=20;
  int min = (a>=b? a: b);
  则min取值为20。
  由条件运算符组成的条件表达式,可以作为另一个条件表达式的操作数,即条件表达式是可以嵌套的,如:
  int a=10,b=20,c=30;
  int min=(a>=b ?) (b<=c ? b: c): (a<=c ? a : c) // 结果为10。
打印本文 打印本文  关闭窗口 关闭窗口