x=1,y=1,z=1,执行表达式w=++x||++y&&++z

题目

x=1,y=1,z=1,执行表达式w=++x||++y&&++z后,x、y、z的值分别为()。

  • A、x=2,y=1,z=1
  • B、x=2,y=2,z=2
  • C、x=1,y=1,z=1
  • D、x=2,y=2,z=1
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是()

A、1/x*y*z

B、1.0/(x*y*z)

C、1/(x*y*z)

D、1/x/y/(floAt)z


参考答案:B

第2题:

下面程序段的正确输出是

int w=4,x=3,y=2,z=1;

cout<<(w<x? w:z<y? z:x)<<end1;

A.0

B.1

C.2

D.3


正确答案:B
解析:本题为表达式作为变量进行输出,而且表达式为两个三目表达式的嵌套,条件运算术的结合性为向右结合。可以正确得出答案为B。

第3题:

已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为

A.1

B.2

C.3

D.4


正确答案:C

第4题:

有以下程序:include void f(int v, int w){int t; t=v; v=w; w=t;}main(){int x=1,y=3

有以下程序: #include <stdio.h> void f(int v, int w) { int t; t=v; v=w; w=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d\n",x,y,z); } 执行后的输出结果( )。

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1


正确答案:C
解析:程序中if语句的条件只有y>z为真,所以执行f(y,z)。函数f的功能是交换两形参的值,但由于实参和形参都是一般变量,因此形参变量值的交换不能影响实参的值,main函数中的y和z并来互换,因此输出结果为:1,3,2。

第5题:

设x=4,y=8,z=7以下表达式的值是xz)Or z

设x=4,y=8,z=7以下表达式的值是 x<y And(Not y>z) Or z<x

A.1

B.-1

C.True

D.False


正确答案:D
解析:Not表示“非”。“Or”所连接的关系式,只要有一个为True,则结果为True。And连接的关系式必须同时为True,结果才为True。本题由于“Noty>z”被括号括起来,故优先计算。“Noty>x”为False,“xy”为True,所以“xyAnd(Noty>x)”为False,故“xyAnd(Noty>z)Orzx”为False。

第6题:

有以下程序: void f(int v,int w) { int t; t=v;V=W;W=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d<%d\n",x,y,Z); } 执行后输出结果是( )。

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1


正确答案:C
解析:C语言规定else总是和离它最近的if语句配对。分析可以知道,。函数f()作用是让形参v和形参w的值交换。在主函数中首先定义了3个变量x、y和z。然后再执行下面的if-else语句。由程序可以看出第一个else和第一个if搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x、y、z传给形参v和w,以后行参和实参再无联系,故通过if语句调用f()函数后,x、y和z的值并没有改变。因此最后输出的x、y和z的值为1、3和2,所以,4个选项中选项C符合题意。

第7题:

已知x=5,y=2,z=6。表达式x>y And z>x Or xy的值是()。A.FalseB.TrueC.1D.0

已知x=5,y=2,z=6。表达式x>y And z>x Or x<y And Not z>y的值是( )。

A.False

B.True

C.1

D.0


正确答案:A
解析:此题只有关系运算符和逻辑运算符,应先算关系运算符。所有关系运算符运算过后,上式变成:TrueAndFalseOrFalseAndNotTrue。对于逻辑运算符,应先算Not,再算And,最后算Or。最后的结果是False。

第8题:

以下变量x、y、z均为double类型且已正确赋值,不能正确表示x/(y*z)的C语言表达式是( )。A.x/y*z B.x*(1/(y*z)) C.x/y*1/z D.x/y/z


正确答案:A
除号和乘号的优先级别相同,所以先计算x/y,然后将结果乘以z.与题目的不符。

第9题:

有以下程序: void f(int v , int w) { int t; t=v;v=w;w=t; } main() { int x=l,y=3,z=2; if(x>y} f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d\n",x,y,z); } 执行后输出结果是

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1


正确答案:C
解析:本题考核的知识点是函数的调用和if-else语句的应用。C语言规定else总是和离它最近的if语句配对。分析可以知道,函数f()作用是让形参v和形参w的值交换。在i函数中首先定义了三个变量x。y和z。然后再执行下面的if-else语句.由程序可以看出第—个else和第一个订搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x,y,z传给形参v和w,以后行参和实参再无联系,故通过if语句调用f()函数后,x、y和z的值并没有改变。故最后输出的x、v和z的值为1、3和2,所以,4个选项中选项C符合题意。

第10题:

以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式x/y×z的C语言表达式是 ( )

A.x/y * z)

B.x * (1/(y * z))

C.x/y * 1/z)

D.x/y/z


正确答案:A

更多相关问题