3.6 C++条件运算符和条件表达式


点击上方“C语言入门到精通”,选择置顶

第一时间关注程序猿身边的故事


3.6 C++条件运算符和条件表达式_Java


作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?


C++条件运算符和条件表达式


学过C语言的读者应该都了解三目运算符,在C++中同样也有这个三目运算符,它要求有3个操作对象,如下


max=(x>y)?x:y;


等效于


if(x>y)
{
 max=x;
}
else
{
 max=y;
}


条件表达式的一般形式为

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


运算符的执行顺序是:先求解表达式1的值,如果为真,则求表达式2的值,且此时表达式2的值就是整个条件表达式的值,如果表达式1的值为假,则求解表达式3的值,且此时表达式3的值就是整个条件表达式的值。


和C语言一样,它也是C++中的唯一一个三目运算符。


案例:输入一个字符,判断它是否为大写字母,如果是大写,则转换为小写,否则原样输出。


#include<iostream> //头文件
using namespace std;
int main()       //主函数 
{
  char char_1; //定义字符变量 
  cin>>char_1; //输入字符 
  //判断是否是大写,如果是则转换小写,否则原样输出 
  char_1=(char_1>='A'&&char_1<='Z')?(char_1+32):char_1; 
  cout<<char_1<<endl;
  return 0
}


执行本程序之后

输入A,会输出a;

输入a,会输出a;