一、问号表达式基本语法及作用
问号表达式又称为三目运算符,由if-else语句简化而来,其基本语法为:
条件表达式 ? 真值表达式 : 假值表达式;
条件表达式的值为真则执行真值表达式并返回该表达式值,否则执行假值表达式并返回该表达式值。
问号表达式主要用于简化代码,代码简洁,可读性强。在实际开发中经常用到。
二、问号表达式实例
下面是一个简单的例子,比较两个数的大小,如果a大于b,则返回a的值,否则返回b的值:
int a = 3, b = 5; int max = a > b ? a : b; cout << max << endl;
代码中,条件表达式a > b的返回值是布尔类型,为假则执行假值表达式b,否则执行真值表达式a,将返回的值赋给max并输出max的值,输出结果为5。
三、问号表达式实现条件赋值
问号表达式能够实现条件赋值的功能,使得代码更为简洁。下面是一个简单的例子,实现根据分数判断学生的等级,再将等级赋值给grade:
int score = 85; char grade = score>=90?'A':score>=80?'B':score>=70?'C':score>=60?'D':'E'; cout << grade << endl;
如果分数在90分及以上,则等级为A,否则继续判断分数是否在80分及以上,以此类推,当分数低于60分时,等级为E。最终将确定的等级赋给变量grade并输出,输出结果为B。
四、问号表达式实现多条件判断
问号表达式能够通过嵌套实现多条件判断,下面是一个简单的例子,判断一个数字的正负或是否为零:
int num = -5; string result = num>0?"positive":(num<0?"negative":"zero"); cout << result << endl;
在该例子中,首先判断num是否大于0,如果大于0,则返回“positive”,否则继续判断是否小于0,如果小于0,则返回“negative”,否则返回“zero”。最终结果为“negative”。
五、总结
问号表达式是C++语言中用于简化代码的强大工具,能够实现条件判断和赋值操作。通过本文的介绍,大家对问号表达式应该有了更深入的理解,并且能够熟练地应用于实际开发中。