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

2020-12-02 13:49:16 字数 6535 阅读 7179

1楼:三天打鱼

x=1y=3

z=5z>y 条件成立 返回1

然后用返回的值跟后面的x比较 1>x 条件不成立 返回0 所以结果是0

要合并两个逻辑 应该用&& 与运算符 写为 z>y && y>x

2楼:现实梦幻者

这是真假判断

先z > y ; 5 > 3为真,结果是1

再 1 > x 为假,结果是0

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

3楼:南瓜苹果

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

相当于:

if (x>y)

else

扩展资料

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类型)。

4楼:尤永修喻辰

c中x+(y>!z)这种表达式写的其实很不好解释:括号中优先级

!高于》

先求!z

也就是表达式

的逻辑取反

z非01!z

=0;z=0则!z=1

然后判断y的值

是否大于!z

最后用x+上上一步判断的值

这样写的不好处在于

混用逻辑表达式和整型变量

(假定xyz是int之类)

写法不严格,很容易编译器警告(虽然不会报错)。属于习惯不好的写法,尽量避免

5楼:玩转困难

这句话的意思是:

如果x>y为真,那么把x的值赋给z,否则把y的值赋给z。

?在这里起判断作用。

:和?一起是c语言里一起用的,是基本语法,书上有的。。

你好好找找书上,以后的c++和c#里也有这种写法

6楼:依夏青兰晨

根据优先级计算,先算括号里面的y>!z,如果z!=0的话,!z就为0,z为0的话!z就为1,

然后y>(!z),判断y是否大于1或者0(之前已经提到了),大于就返回1,不大于1就返回0,最后再和x相加就行了

举个例子:x==2,y==2,z==3

得出来的就是3。以上

7楼:愈升荣其寒

先求!z的值,如果z是一个非零值,则!z为0,如果z为0,则!

z为1,然后比较y与!z的关系,若z为非零值,则即为判断y>0是否成立,成立则y>!z的值为1,否则为0,若z为0.

则即为判断y>1是否成立,成立则y>!z的值为1,否则为0,。最后用x的值加上y>!

z的值。

8楼:郯媛女秦丁

先取z的否定

判断一是否大于z的否定

再加上x的值

!zz的否定

当z为非0值时

!z=0

z为0时

!z=1

所以最后的值

就是x+0

或者x+1

9楼:张简元芹是群

z取反如果y>z的取反则值为1

否则则为0

x再加上0或者1也就是上面的结果

10楼:匿名用户

?:是个三元运算符

a?b:c 的意思是,如果a等于0结果就是c,否则结果是b

x>y?x:y的意思是,如果x>y 这个式子结果是x, 否则式子结果是y

11楼:匿名用户

相当于:

if x>y

z=x;

else

z=y;

?就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。

12楼:匿名用户

?:是唯一一个三元运算符。意思是,先判断?号前的表达式x>y,如果为真,则x>y?x:y这一整个表达式的值为x,否则为y。

z=x>y?x:y的意思是,如果x>y,则z=x;否则z=y。即将x和y中较大的一个值赋给z。

13楼:匿名用户

假如z=x是真的话! 就是z和x相不相等!等就是真

(x:y)真就输出x的值假的话输出y。

c语言里面z=x>y? x:y;什么意思 怎么用

14楼:匿名用户

z=x>y? x:y;

把中x,y大者赋值给z,

x>y? x:y;

如x>y成立则(x>y? x:y)=x

不成立则(x>y? x:y)=y

a? b:c

先判断a是否成立,

成立则(a? b:c)=a

不成立则(a? b:c)=b

c语言中!(z>y>x)怎么理解

15楼:

c语言中!是单目逻辑非运算符

,从右至左结合,就是说先计算右边的表达式;>是关系运算符,从左至右结合。

在这个表达式中,由于!是从右至左结合,所以先计算表达式(z>y>x)的值,而由于括号内都是从左至右结合的运算符,所以就从左到右依次计算,先计算z>y,结果是真(1)或假(0),然后再用这个结果与x进行比较,结果是真(1)或假(0),然后再进行逻辑非运算,得到最终结果真(1)或假(0)。

16楼:萢萢

1、首先判断z>y。

2、把第1步的结果跟x比较。

3、把第2步的结果取非就得出最终结果了。

c语言里z=x>y?x;y什么意思

17楼:匿名用户

我试了一下,没问题呀,你看看**不一样?

#include

int max(int x,int y)

main()

18楼:苍冥

你这里max(int x,int y)前面有没有int应该是int max(int x,int y)其它应该说没什么问题,这个的确是求最大值

z=x>y?x:y;等价于if(x>y)z=x;else z=y;

c语言中x^y是什么意思?

19楼:學雅思

x^y的意思是按位异或,当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1相同则为0。

也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

扩展资料

若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换。

位运算时把数字用二进制表示之后,对每一位上0或者1的运算。理解位运算的第一步是理解二进制。二进制是指数字的每一位都是0或者1.比如十进制的2转化为二进制之后就是10。

右移运算符m>>n表示把m右移n位。右移n位的时候,最右边的n位将被丢弃。但右移时处理最左边位的情形要稍微复杂一点。

这里要特别注意,如果数字是一个无符号数值,则用0填补最左边的n位。如果数字是一个有符号数值,则用数字的符号位填补最左边的n位。

20楼:匿名用户

%x是16进制输出.

%8x是输出8位

%#x是带格式输出, 效果为在输出前加0x.

所以 这里就是以16进制输出y值,并在前面加0x前缀, 如果输出小于8位,那么实际输出8位,左侧补空格.

比如 y=0x20那么会输出

y= 0x20

如果y=0x12345678

那么会输出

y=0x12345678

21楼:听不清啊

c语言中y=x++;

它的功能就是:

y=x;

x++;

就是上面两个语句的简写形式。

22楼:

c里面没有在变量后面紧跟的!操作符,只有!=操作符,是“不等于”的意思。变量前面有一个!操作符,是逻辑取反的意思,例如若int a=3;,则!a的值就是0。

23楼:匿名用户

这是按位异或的意思 如:x是二进制数0101 y是二进制数1011 则结果为x^y=1110,0^1=1,0^0=0,1^1=0,1^0=1!

24楼:萧竣闰

1,首先,要知道x^=y这个表达式相当于x=x^y.

2,"^"这个符号是按位异或运算符

3,^运算符的运算方式如下:

(1)将两个数即这里的x,y转化为二进制数。

(2)参加运算的两个二进位同号则结果为0(假),异号为1(真)(3)运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0

具体例子如下:

计算4^5:

00000000.........0000010000000000.........00000101--------------------------------00000000.........

00000001 转换十进制为1

所以4^5=1

25楼:匿名用户

a=2*b的意思是b乘以2,并将计算结果赋给变量ab=a+b=1+0=1,输出1,

a=2*b=2*1=2,输出2

因此输出结果为1,2选d

26楼:匿名用户

它等价于以下语句块:

x=y;

y=y+1;

即先将y的当前值赋予x,然后将y值增1

27楼:金色潜鸟

"x!" -- 字符串 内容是 x!

// x! -- 注解

行/* x! */ -- 注解行

条件:if ( x!= 0) printf("x not equ zero \n"); else printf("x == zero \n");

如果 x 不等于 0 则打印 x not equ zero, 否则 打印 x == zero

!= 组合在一起是逻辑运算符“不等于”

!x -- 这个表示 对 x 作 “非”运算。

28楼:西格″佗

把x 异或 y赋值给x,异或运算是指对于二进制的每一位分开运算,对于每一位,0 xor 1=1,0 xor 0=0,1 xor 0=1,1 xor 1=0,即遇0不变,遇1变号。

29楼:匿名用户

++x:先自加后赋值,表达式的值为x加1后的值,x自身加1.比如b=5,a=++b,那么a=6,b=6

y=++x y=x+1 x=x+1

30楼:匿名用户

(!x++||y--)

这个逻辑大概就是

x等于0或者y不等于0最后表达式结果为1

++和--是后做的

还有如果x为0,y就不--了

31楼:嘿_行

^是按位异或运算符。其功能是参与运算的两个运算对象的各对应的二进位异或,当两对应的二进位相同时,则该位的结果为0反之为1.

^=是异或赋值。

x^=y等价于x=x^y.

例如00001001^00000101结果为00001100

32楼:匿名用户

问问题应该明确一点,问问题不清楚,自然回答问题的人也不知道怎么回答了。

x到底是什么呢?x如果是一个变量的话,你问的这个用法应该是用在条件判断上的,比如if(!x),其表示的意思是如果x不为0,则条件成立,否则条件不成立。

上面是我猜测你想问的问题作的回答,也不知道是不是你想要的。希望能帮到你。

33楼:匿名用户

x = x ^ y。^表示异或运算,10011和11001异或将得到01011,也就是说每位同号结果则是0,异号则结果为1。

34楼:法术大师巴林

^不是c中的标准运算符

不过在很多单片机的编译器中,这个都当按位异或用

在托管c++中,是指向托管堆的引用

35楼:代三个表

按位异或正解

位相同为0,相异为1

36楼:百度用户

c语言中没有!在变量之后的写法

!在c语言中表示取反的意思,用法要加在变量之前,比如x=1,!x就为0

C语言中x+y 2是什么意思啊,c语言中x+=++y是什么意思

1楼 匿名用户 x y 2 就相当于 x x y 2 是c中提供的一个自变运算符,其左右两边的数据分别叫左操作数和右操作数,右操作数可以是表达式,也可以是一个常量,不需要加括号,系统会自动按优先级进行先后运算。如 x a b c 就相当于 x x a b c 相类似的运算符还有很多,如 等 2楼 秋...

c语言y x+5是什么意思,x+=5在c语言中是什么意思

1楼 匿名用户 y x 5 y y x 5 2楼 听不清啊 它等价于y y x 5 3楼 和蔼的杰尼 就是y y x 5 和a b就是a a b,a b就是a a b是同样的意思 4楼 夔芃芃理寿 最好写成x y 5 容易读懂。不过关系运算符是比赋值运算符优先级高。 5楼 钊灵寒原雅 y 5表示逻辑...

c语言函数中,z x》y?x:y这一句是什么意思呢

1楼 匿名用户 这是c中的三元运算,其格式为 x e a b x是用来接收结果的 e是个逻辑表达式 是一组运算符 a b是两个备选变量 意思是 当e为真时,返回a,即x a 。 否则,返回b,即x b可以用if语句来替换它,如 if x y z x else z y 2楼 峰回路转 三元运算符。 首...