三目表达式的运用

举例如下:

max = (a>b) ? a : b; // 取变量a, b中较大的一个,并赋值给变量max



三目运算符是?:结构的运算
所谓三目就是需要三个变量对能进行运算的操作
举个简单的例子:
a=2>1?3:4
可分成几个部分,用括号分开:
(a=)(2>1)?(3):(4)
最左边是赋值操作
第二个部分是一个判断
第三和第四部分是两个常数
首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分
像上面那个2>1成立,所以就执行了a=3

这种运算还可以嵌套
比如判断year是不是闰年,是则返回1,不是返回0
year=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)

三目运算符也称为条件运算符,其基本形式为 `条件表达式 ? 表达式1 : 表达式2`。它的执行逻辑是:先计算条件表达式,如果条件表达式为真(在C/C++、Java等语言中,非零通常表示真),则整个三目运算符表达式表达式1;如果条件表达式为假(零表示假),则整个三目运算符表达式表达式2的。以下是不同语言中三目运算符的运用示例: ### C++中的运用 在C++里,三目运算符返回的可以是变量,还能对其继续赋。下面是一个比较两个数,将较大赋给变量 `c`,并对三目运算符结果进行赋操作的示例代码: ```cpp #include<iostream> using namespace std; int main() { // 定义三个变量,并对a,b赋 int a = 1; int b = 2; int c = 0; // 三目运算符 c = (a > b ? a : b); cout << "c = " << c << endl; // 对三目运算符赋 (a > b ? a : b) = 3; cout << "a = " << a << endl; cout << "b = " << b << endl; return 0; } ``` ### Java中的运用 在Java里,三目运算符常用于根据条件为变量。下面是根据变量 `a` 的来确定变量 `b` 的的示例代码: ```java public class ThreeOperatorsDemo { public static void main(String[] args) { int a, b; a = 10; b = (a == 1) ? 20 : 30; System.out.println("Value of b is : " + b); b = (a == 10) ? 20 : 30; System.out.println("Value of b is : " + b); } } ``` ### C语言中的运用 在C语言中,三目运算符可用于比较多个数,选出最大或者最小。下面是比较三个数,选出最大和最小的示例代码: ```c #include<stdio.h> int main() { int a = 1, b = 2, c = 3; int max_val, min_val; // a和b先比较,a大就接着和c比较,反之则b和c比较,选出最大的 max_val = (a > b ? a : b) > c ? (a > b ? a : b) : c; // a和b先比较,a小就接着和c比较,反之则b和c比较,选出最小的 min_val = (a < b ? a : b) < c ? (a < b ? a : b) : c; printf("最大数为:%d\n", max_val); printf("最小数为:%d\n", min_val); return 0; } ``` ### 注意事项 如果在表达式中含有多个运算符,需要考虑符号的优先等级。若对优先级不熟悉,要尽可能地加上括号,因为括号内的表达式会先执行 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值