C语言 关系运算符、逻辑运算符与表达式的程序阅读题

求解释printf上面的语句,不知道从哪里开始看,
第一题知道或前面为假,但是或后面不知道怎么看。
第二题,!怎么看。求解释。

img
img
img

第一题:
x = y-- <=x || x=y!=z;
其实这个等式是一个错误的等式,因为等号的优先级最低,所以x=y!=z这里x后面的等号会报错。
所以这里只能猜测出题者的意图,按照这个思路,公式可以分解为:
(1)y <=x (y=2,x=1,所以y<=x的结果是0)
(2)x=y!=z这个先计算 y!=z,结果是1,所以x=1
(3)x = 0 || 1 (0是步骤1的结果,1是步骤2的结果),x = 1
(4)y-- (y--最后计算),y = 1
所以显示的结果就是:1,1
第二题:
x = x || y && z; 先计算x || y ,x和y都非0,所以x || y 的结果是1,然后计算1 && z ,z=0,所以结果就是0,所以x = 0;
printf中x && !y || z ,先计算 x && !y ,x=0,所以结果是0,然后计算 0 || z,z=0,所以结果仍然是0,
所以最后的结果是:0,0