条件运算符和条件表达式

有一种if语句,当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且向同一个变量赋值。如:

if(a>b)
   max=a;
else
  max=b;

当a>b时将a的值赋值给max,当a<=b时将b的值赋给max,可以看到无论a>b是否满足,都是给同一个变量赋值。c提供的条件运算符和条件表达式来处理这类问题。可以把上面的if语句改写为

max=(a>b)?a:b;

(a>b)?a:b;是一个“条件表达式”。?是条件运算符

如果(a>b)为真,则表达式的值等于a,否则取值为b。条件运算符由两个符号(?和:)组成,必须一起使用。要求三个对象,成为三目运算符,它是c语言唯一的一个三目运算符。

题目:
假定产品的单价是3.5,提供3个级别的折扣:数量超过50,折扣为15%;数量超过20,折扣为10%;数量超过10,折扣为5%

这里写图片描述

注意15、16、17行的代码风格,个人感觉15、16好些,能清晰的看到语法结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值