6. C++知识点之三目运算符

本文详细介绍了C++中的三目运算符(?:),这是一种用于替代if-else语句的简洁方式。文章通过示例解释了其工作原理,并对比了与if-else语句在不同场景下的适用性。

三目运算符

C++有一个常用来代替if-else语句的操作符,这个操作符被称为三木运算符(?:),它是C++中唯一一个需要3个操作数的操作符。该操作符的通用格式如下:

b?a:c

如果b为真,则整个表达式的值为a;否则表达式的值为c。下面两个语句演示了该操作符是如何工作的:

x=5>3?10:12                    //5>3为真,所以x=10;
x=3==9?25:18                  //3==9为假,所以x=18;

程序练习

使用三目运算符来确定两个值中较大的一个

#include<iostream>          
using namespace std;              
int main()                                        
{
 int a,b;
 cin>>a>>b;
 int c=a>b?a:b;     //相当于int c;if(a>b) c=a;else c=b; 
 cout<<c<<endl;
 return 0; 
} 

与if-else序列相比,三目运算符更简洁,但第一次使用时不那么容易理解。这两种方法之间的区别是,三目运算符返回一个值,可以将其赋给变量或者将其放到一个更大的表达式中。例如x=a>b?(c>d?e:f):g;相当于:

if(a>b)
{
    if(c>d) x=e;
    else x=f;
}
else x=g;

从可读性来说,条件操作符最适合于简单表达式的值:x=(a>b)?a:b;
当代码变得更复杂时,使用if-else语句更清晰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值