设有设int x 1 y 1 表达式=2,y=3,z;,执行语句z=x<y||y--;后y的值是______。 A

有如下的程序代码,在执行完后x和y的值是多少() int x=8,y=2,z; x=++x*y; z=x/y++;_百度知道
有如下的程序代码,在执行完后x和y的值是多少() int x=8,y=2,z; x=++x*y; z=x/y++;
A.x=16,y=2
B.x=16,y=4
C.x=18,y=2
D.x=18,y=3
我有更好的答案
答案是D这两句计算可以分开,等价于下面4句(后面的注释就是计算结果)x=x+1; // x=8+1=9x=x*y; // x=9*2=18z=x/y; // z=18/2=9y=y+1; // y=2+1=3最后显然x=18;y=3;z=9,所以选D
采纳率:74%
X先加1再乘Y,即9X2=18z=x/y++;
Y在这里加1,等于3答案为:D
D 啊 x= 18 y = 3 z = 9
我错了,,,语文没学好,看成了z=3,原来是说Y等于几。。。明白了。
D.................
咳咳,新手,能否给点说明。第一个18简单,++的级别高于*,第二个呢?怎么是3的?
跟第一个一样理解啊,y的初值等于2,y++当然等于3了。
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。设有int x=1,y=1,z=1,c;则执行语句c=--x&&--y||--z;后,x,y,z的值分别为_百度知道
设有int x=1,y=1,z=1,c;则执行语句c=--x&&--y||--z;后,x,y,z的值分别为
设有int x=1,y=1,z=1,c;则执行语句c=--x&&--y||--z;后,x,y,z的值分别为__A.0,1,1
我有更好的答案
选B逻辑运算符的运算特点是左值确定求右值.逻辑运算符不按照规定的优先级计算,在逻辑表达式的求值过程中,如果从&&&&或&||&左边的运算对象部分能够确定整个逻辑表达式的值,则不再求右边运算对象的值.具体地说:若有a&&b且a的值为0,则无须对b进行运算;若有a||b且a 的值为1,则无须对b进行运算.表达式按优先级可分为二部分:第一部分:--x&&--y 第二部分:第一部分值||--z;--x 为前置运算,先将x值减1后,再参与运算,则结果为0;根据优化,第一部分后面的--y就不运算了,值仍然为1。第一部分的值为0。再计算第二部分。0 ||--z;z 的值还要减1,变为0。最终逻辑表达式的值为0。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c++:设”int x=10,y=x,z=y;”,执行“x=y==z;”后,变量x的结果是?要步骤_百度知道
c++:设”int x=10,y=x,z=y;”,执行“x=y==z;”后,变量x的结果是?要步骤
c++:设”int x=10,y=x,z=y;”,执行“x=y==z;”后,变量x的结果是?要步骤,要原因,要解释!
我有更好的答案
x为1;原因:等于运算符(==)的优先级大于赋值运算符的优先级(=),所以先运行“y==z”,再运行赋值操作;其实可以写成这样子:x=(y==z); //PS: y==z 返回值为bool类型,若y等于z则返回true即返回1,否则返回false即返回0
采纳率:53%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。int x=1,y=2,z=3;则表达式z+=x&y?++x:++y的值是?_百度知道
int x=1,y=2,z=3;则表达式z+=x&y?++x:++y的值是?
我有更好的答案
【分析】z+=x&y?++x:++y该表达式执行分为两个过程:1). x&y?++x:++y这个表达式的运算符为 A?b:c,即根据逻辑表达式A的真假情况返回表达式b或c.若A为真(即A运算结果非0),则返回表达式c;若为0,则返回表达式c.因此x&y++x:++y的意思是判断x&y的真假,若为真,则返回表达式++x,若为假,则返回++y.2). 执行z+=【执行过程】表达式z+=x&y?++x:++y等价于z=z+(x&y?++x:++y).变量赋值后即为z=3+(1&2?++1:++2),1)由于1&2为假(即表达式结果为0),因此返回表达式++y;2)执行++y.++y是先对y变量执行自加,在返回自加后结果,即为3(即为(x&y?++x:++y)的结果).3)执行z+=.将(x&y?++x:++y)结果带入,为z+=34)返回z为6 .——————————————————————————————————楼主,这些都是c的基本运算,要扎实c功底啊
采纳率:32%
结果是6因为+=运算符的优先级低于后面的运算,所以先求后面表达式的值,可得结果为3接着,z+=3可得z=6
z=6;表达式值也是6
值是6程序先判断想x,y值大小,之后取y值并自加,赋值给z自加
其他1条回答
为您推荐:
其他类似问题
表达式的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。设int x=2,y=3,z; z=(++x&=y--)?((--y==1)?x--:--y):y--; 则z的值是( )。怎么算啊 要个详解_百度知道
设int x=2,y=3,z; z=(++x&=y--)?((--y==1)?x--:--y):y--; 则z的值是( )。怎么算啊 要个详解
我有更好的答案
3。 自加自减运算(++x或者y--)优先级高于逻辑运算(大于小于),所以++x&=y--这个式子实际是3&=3(因为y--这个整体为y原先的值,但y自减了此时x=3,y=2)成立,运行(--y==1)?x--:--y)这部分。--y==1这个成立,所以z=x--。所以最后x=2,y=1,z=3。纯手打望采纳
采纳率:69%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 int x 5 y 0 z 0 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信