设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是

作者&投稿:门重 (若有异议请与网页底部的电邮联系)
假设x=1,y=2,z=3,则表达式y+=z--/++x的值是多少?答案是3,怎么算出来的?~

分解计算
这和C的计算逻辑有关,
z--先计算后赋值,在这个式子里其值是3
++x先赋值后计算,所以是2
y+=3/2 等效于 y=2+(3/2)=2+1(如果X,Y,Z都是int变量)

话说你这个题坑还是挺多的。
其实你应该写在c或者PHP里分步执行下,观察每个变量的值就明了了。

using System;

public class Test
{
public static void Main()
{
int x=1;
int y=2;
int z=3;
y+=z--/++x;
Console.WriteLine(y);
}
}

这种题, 出题的人真是差劲,
1.这么复杂的表达式,适合在C语言中出现
2.如果在java中出现,考虑的一般就是int double(转型问题),简单的就行了,需要自增有自检么?
直接 y += z / x 就得了呗....
3.可怜的孩子们,都被这种绕来绕去的题目 转蒙了.

需要考虑的类型无外乎 int double (short, long ,float 不用考虑,这两个足够表示了)
4. 表达式右侧
z--/++x 3 / 2
1) 如果 z ,x 都为 int 结果为 1
2) 如果 z, x有一个为double, 结果为1.5

5. 表达式左侧
最终结果的类型取决于y的类型
1) y 为 int 结果为 2 + (1或者1.5) = 3
2) y 为 double 结果
1)) 右边是1的时候 结果为 2.0 + 1 = 3.0
2)) 右边是1.5的时候 结果为 2.0 + 1.5 = 3.5

3 。

z--等于3,++x 等于2,z--/++x 等于3/2,结果为1,y+=1,结果为y=2+1=3。

基本的优先级需要记住:指针最优,单目运算优于双目运算,如正负号,先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7。

未知数:

在解方程中有待确定的值,也用来比喻还不知道的事情。在数学中用符号x或者y来标记未知数,并且我们可以将它们用在等式或者不等式关系中来帮助我们解决问题。

我国古代并不用符号来表示未知数,而是用筹算来解方程。至宋、元时代李治的“天元术”,用“立天元”表示未知数,并在相应的系数旁写一个元字以为记号。

至元朝朱世杰(约13 世纪)用天、地、人、物表示四个未知数,建立了四元高次方程组理论。数学中的消元问题中元的叫法也由此而来。



3 。

1.z--等于3;

2.++x 等于2;

3.z--/++x 等于3/2,结果为1;

4.y+=1,结果为y=2+1=3。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.

逻辑运算最后结合。

扩展资料

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。

数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。



由于z--是后缀,所以在除的时候还是Z等于3,而x为前缀自加,此时x等于2;
3/2=1;
y+=1;
所以y=2+1;

3
按从左到右的顺序计算
y=y+(z--/x++)

y=2+1
y=3


淮阳县15947293694: 设x=1,y=2,z=3;则执行表达式 a = ++x || ++y && ++z 后a的值为: x的值为: y的值为: z的值为: 求原因 -
卫万丹参: 真正编程中要避免这样写 作为出题难为人可以这样做,虽然没什么意义 答案是x = 2 y=2 z=3 因为第一个运算符是|| 而一旦||左边的值为真,则其余部分将不被计算,因为不会影响最终的结果

淮阳县15947293694: 设int x=1,y=2,z=3,w=4,则表达式:x<y?x:z<w?x:w的结果为怎么会是3啊 -
卫万丹参: 这道C语言提目应该如此看(x<y)? (x): [(z<w) ? (x) : (w)],注意不要写成[(x<y)? (x): [(z<w)] ? (x) : (w),因为该语句的结合方式是从右至左的.该题主要考的是形如a;b;c的语句.该语句的运算法则是:先算a语句,(1)、若a语句为真(即为1)...

淮阳县15947293694: C语言判断题,答案为正确,设x=1,y=2,z=3,则逻辑表达式x - y>z&&y!=z的值为0. -
卫万丹参:[答案] x-y>z是假的,为0;y!=z是真的,为1;0与1是“且”的关系,有一个为假,总体真值就为假(也就是0),希望对你有帮助

淮阳县15947293694: 已知y与x成正比例函数,当x=1时,y=2.求:(1)求y与x之间的函数关系式;(2)求当x= - 1时的函数值;(3)如果当y的取值范围是0≤y≤5,求x的取值范围. -
卫万丹参:[答案] (1)设y=kx, 将x=1、y=2代入,得:k=2, 故y=2x; (2)当x=-1时,y=2*(-1)=-2; (3)∵0≤y≤5, ∴0≤2x≤5, 解得:0≤x≤ 5 2.

淮阳县15947293694: 设有说明:int x=1, y=2;执行条件表达式(x=y)? ++x: - x后,x的值为:3.这个结果是怎么算出来的呀 -
卫万丹参:[答案] (x=y)?++x:--x 表示 将y值赋给x ,因为y=2 ,所以,执行过(x=y)?之后 ,x=2 因为 x 为非0值 ,所以(x=y)?的判断结果为true ; 所以 会执行冒号前面的 ++x ,结果 x = 3

淮阳县15947293694: C语言,设有说明语句int x=1,y=2; 则执行表达式x=y= =3后,变量x的值为? . -
卫万丹参: #include<stdio.h>int main(){ int x=1,y=2; x=y==3; printf("%d",x); return 0;}先计算y==3,这个式子的值为0,因为y不等于3,为假,然后x=0.

淮阳县15947293694: Java问题解析设 x = 1 ,y = 2 ,z = 3,则表达式 y+=z - /++x 的值是( 1 )A.3 B.3.5 C.4 D.5 -
卫万丹参:[答案] z-- 先返回值在运算,故:返回值是3,z的值变为2 ++x 先运算再返回值,故:x值变2,返回2; 3/2整形数据范围内的计算,返回1; y +=1 y = 3; 返回y = 3.

淮阳县15947293694: 设 int x = 1 , y = 2则表达式x+=++y的值是 -
卫万丹参: x+=++y ++y=3; x+=3;->>>x=x+3=1+3=4

淮阳县15947293694: 设x=1,y=2,z=3,则表达式y, ,z, ,/, ,x的值是 -
卫万丹参: 作函数F(x,y)=x2+y2+λ(x+y-1),令 ?F/?x=2x+λ=0...........(1) ?F/?y=2y+λ=0...........(2) x+y=1............................(3) (1)-(2)得2(x-y)=0,即x-y=0..........(4) (3)+(4)得2x=1,故x=1/2,y=1/2. 即(1/2,1/2)是锥面z=x2+y2在满足条件x+y=1的极小点;zmin=(1/2)2+(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网