随着程序越来与复杂,会在代码中出现越来越多的if语句。有些时候我们只要电脑做一个简单的判断,就要用占据多行的if语句,实在有点吓人,使得程序的可读性受到一定的影响。比如程序4.2.1中,使用标准格式写一段将较大数放入max中的语句占据了八行。即使是较简便的写法,也至少要占据两行。那么,C++是否还提供了更为简便的书写方法呢?
答案是肯定的,我们可以用一个问号来判断一个条件,具体的语法格式为:
(条件表达式)?(条件为真时的表达式):(条件为假时的表达式)
“……?……:……”称为条件操作符,它的运算优先级比逻辑或还低,是目前为止优先级最低的操作符。含有条件操作符的表达称为条件表达式。既然是表达式,它就应该有一个计算结果。而这个结果就是已经经过判断而得到的结果。我们可以定义一个变量来存放这个结果,也可以用输出语句把这个结果输出。但是,如果得到结果以后,既没有把它存放起来,也没把它输出来,那么做这个条件运算就失去意义了。
下面我们用条件操作符来改编一下程序4.2.1,看看条件表达式是如何使用的:
#include "iostream.h"
int main()
{
int a,b,max;
cout <<"请输入两个数:"<<endl;
cin >>a >>b;
max=(a>=b)?a:b;//如果a大于等于b,则把a的值放到max中,否则把b的值放到max中
cout <<"较大的数是" <<max <<endl;
return 0;
}
运行的结果就如同程序4.2.1,没有任何区别。而我们也达到了缩短代码的目的,增强了程序的可读性。