条件运算符
条件运算符“?:”是一个三目运算符,由其构成的条件表达式能像if…else判断语句一样完成判断。例如:
max=(iA > iB) ? iA : iB;
上述语句首先比较iA和iB的大小,如果iA大于iB,max就取iA的值,否则取iB的值。
可以将上述条件运算语句改为if…else判断语句,代码如下:
if(iA > iB)
max= iA;
else
max= iB;
练习1
使用条件运算符判断数的奇偶性。
用if…else语句判断数的奇偶性,本实例用条件运算符完成同样的判断,代码如下:
#include<iostream>
using namespace std;
int main(){
int input;
cin>>input;
(input%2==0)? cout<<"这是偶数":cout<<"奇数";
cout<<endl;
}
使用条件运算符判断数的奇偶性,比使用判断语句时的代码要简洁。程序同样完成由用户输入整型数,然后和2进行求余(%)运算,如果运算结果不为0,说明是奇数,否则是偶数。
练习2
判断某数是否为3和5的整倍数。
#include<iostream>
using namespace std;
int main(){
int input;
cin>>input;
(input%3==0&&input%5==0)?cout<<"yes":cout<<"no";
cout<<endl;
}
程序需要用户输入一个整型数,然后用“%”运算判断能否被3和5整除,如果能同时被3和5整除,说明输入的整型数是3和5的整倍数。
条件运算符可以嵌套,例如:
表达式1?(表达式a?表达式b:表达式c):表达式d;
由于条件运算符嵌套后的代码不容易阅读,一般不建议使用。