您的位置:

c语言中x>y?x:y,C语言中while和dowhile循环的主要区别是

本文目录一览:

C语言中:x>y?x:y; 是什么意思?问号和冒号的作用是什么?

如果xy,就把x的值赋给z,否则把y的值付给z。

可以把z=xy? x : y理解为

if(xy){

z=x;

}else{

z=y;

}

扩展资料:

三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。

可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

C语言中z=x>y?x:y是什么意思?

?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。

相当于:

if (xy)

{z=x;}

else

{z=y;}

扩展资料

C语言中条件表达式的通用形式如下:

exp0=exp1?exp2:exp3

如果exp1为真(非0),那么把exp2的值赋给exp0;如果exp1为假(0),那么把exp3的值赋给exp0。

2.verilog语法中也有类似C语言中的条件表达式

如下:

inout sda;

assign sda=(flag==1)?data_buf:1'bz;

当flag==1时,sda的值等于发送的数据的data_buf(sda相当于output类型),

当flag==0时,sda的值变成高阻态(sda相当于input类型)。

参考资料来源:

百度百科——条件运算符

c加加中x>y?x:y是什么意思?

xy? x : y为条件表达式,若xy成立则这个表达式的值为后面x,否则表达式的值是y,

条件表达式的原型为:

判断语句?表达式1:表达式2

若判断语句为真,则该条件表达式的值为表达式1的值,否则为表达式2的值。

x>y?x:y;在C语言中代表什么意思

是条件语句:

?前面的xy是个逻辑表达式,如果表达式为真,则该表达式的值取?后面的值x,否则取:后面的值y

也就是说c的值取x和y中的较大值!

? : ; 是c语言中唯一一个三目运算符。如果x大于y为真,结果输送x,否则为假结果输送y;

(!x++||y--)这个逻辑大概就是x等于0或者y不等于0最后表达式结果为1

++和--是后做的,还有如果x为0,y就不--。

扩展资料:

C的运算符有以下几类:

1、算术运算符:* - + / %

2、关系运算符: == != = =

3、逻辑运算符:! ||

4、位运算符: ~ | ^

5、赋值运算符:=及扩展赋值运算符

6、条件运算符:?:

7、逗号运算符:,

参考资料来源:百度百科-运算符