CMS专题

单选题下列选项中,能正确地将x和y两个变量中的数据进行交换的表达式是()。A x=x+y y=y+x x=x+yB x=x+y y=x-y x=x-yC x=x+y y=y-x x=x-yD x=x-y y=x-y x=y-x

题目
单选题
下列选项中,能正确地将x和y两个变量中的数据进行交换的表达式是()。
A

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

B

x=x+y y=x-y x=x-y

C

x=x+y y=y-x x=x-y

D

x=x-y y=x-y x=y-x

参考答案和解析
正确答案: D
解析: 本题是赋值运算,计算时要注意x,y值的变化。经过计算,A、C、D选项是无法达到数据交换的目的,只有B符合要求。故选B。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

整型变量X和Y的值相等,且为非0值,则以下选项中结果为0的表达式是( )。A.X‖Y B.X | Y C.X&Y D.X^Y


正确答案:D
X||Y是将X和Y作逻辑或运算,因为都是非0,所以结果为1,X|Y是做位或运算,即相同位置的数字只要有一个为1,结果为1,其结果也为非0,X&Y是为与运算,相同位置的数字都为1的时候才为1,其结果为非0,X^Y做位异或运算,即同0异1,因为X与Y 的值相等,所以相同位置的数字一定相同。

第2题:

设x、Y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。 A.xYB.x<=YSX

设x、Y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

A.xY

B.x<=Y

C.x‖y+zy-z

D.!((x<y)!z‖1)


正确答案:D
本题考查逻辑运算符的使用。当“”的两个运算对象都是逻辑l时,表达式返回值才是1;“‖”的两个运算对象至少有一个是逻辑1时,表达式返回值也是l,x<y为1,!z为0,10为1,0‖为1,因此,!l为0。

第3题:

若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++) : (y++) 中的条件表达式 (x-y) 等价的是

A)(x-y>0)

B)(x-y<0)

C)(x-y<0||x-y>0)

D)(x-y==0)


正确答案:D
答案 D
解析 : 此条件表达式的执行顺序是先求解表达式 “ x-y ” 的值 , 若值为非 0 , 则再求解表达式“ x++ ” ,其值就是条件表达式的值;若表达式 “ x-y ” 的值为 0 ,则再求解表达式 “ y++ ” ,其值就是条件表达式的值。因此本题的答案为选项 D 。

第4题:

设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是()。A.x&&yB.x<=yC.x‖y+z&am

设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

A.x&&y

B.x<=y

C.x‖y+z&&y-z

D.!((x<y)&&!z‖1)


正确答案:D
解析:本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式才返回值是1;当“‖”的两个运算对象至少有一个是逻辑1时,表达式返回值是1。选项A)中,x和y都是逻辑1,所以返回值是1;选项B)中,x=4=y=6为逻辑1,所以返回值是1;选项C中,y+z的值等于14,非0,y-z的值为-2,非0,所以逻辑表达式4‖14&&-2的值不为0;选项D)中,xy为1,!z为0,1&&0为1,0‖1为1,因此,!1为0。

第5题:

整型变量x和y的值相等并且为非零值,则下面选项中,结果一定为零的表达式是( )。

A.x|y

B.xy

C.x||y

D.x&y


正确答案:B
解析:两个相同的数位或和位与的结果还是这个数,所以选项A和D都不正确。两个非0的数逻辑或的结果为真,也就是1,所以选项C不正确。位异或是当两个数对应位的值不同时该位结果为1,相同时该位结果为0,两个相同的数的所有对应位都相同,所以结果肯定为0。故应该选择B。

第6题:

若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是______。

A.(x-y>O)

B.(x-y<O)

C.(x-y<0||x-y>0)

D.(x-y=0)


正确答案:C
解析:“(x-y)?(x++):(y++)”的求解顺序是:先判断x-y的值,如果为非0(真),则执行X++,从而表达式返回X++的值;如果0(假),则执行y++,从而表达式返回y++的值。相当于“或”的关系,所以选项C正确。

第7题:

设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x<y&&!z||1)


正确答案:D
解析:该题考查逻辑与“&&”和逻辑或“||”以及逻辑非“!”符号的用法。选项A)即3&&4为真,选项B)即3=4为真,选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真,此时选项C)变为1&&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。

第8题:

设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是 A.x&&

设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x


正确答案:D

第9题:

设x,y和z都是int型变量,且x=3,y=4,z=5,则下列表达式中,值为0的表达式是A.x&&y B.x<=y C. x||++y&&y-z D.!(x<y&&!z||1)


正确答案:D
在本题中,定义了三个整型变量x,y,z,并分别赋初值为3,4,5。然后求结果为0的表达式。
选项A中的表达式x&&y,由于在C语言中,有非0即真的定义,即变量x,y的值都不为0,因此表达式的结果不为0。
选项B中的表达式x<=y,由于变量y的值比变量x的值大,因此,该表达式的结果也不为0。
选项C中的表达式x||++y&&y-z,由于运算符&&的优先级较||高,那么本表达式等价于x||(++y&&y-z),在表达式中,首先运算++y,将变量y的值变为5,然后执行y-z,得到结果为0,因此,(++y&&y-z)的运算结果为0,但x为非0值,最终的结果不为0。
选项D中的表达式!(x<y&&!z||1),首先运算!z,结果为0,由此可知x<y&&!z的结果为0,但由于||运算符后有一个1,因此,(x<y&&!z||1)部分的结果为1,而再进行逻辑非运算结果为0。

第10题:

设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。A.x&&yB.x<=y

设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

A.x&&y

B.x<=y

C. x||++y&&y-z

D.!(x


正确答案:D
本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式返回值才是1;“||”的两个运算对象至少有一个是逻辑1时,表达式返回值也是1,x<y为1,!z为0,1&&0为1,0||为1,因此,!1为0。

更多相关问题