判断程序运行完毕后,x,y,z值分别为()x="11"+1;y=

题目

判断程序运行完毕后,x,y,z值分别为()x="11"+1;y="11"&1;z="11"+"1"

  • A、111,111,111
  • B、12,111,12
  • C、12,111,111
  • D、12,12,12
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序 main() {int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是______。

A.2,3,3

B.2,3,2

C.2,3,1

D.2,2,1


正确答案:C
解析:x++:表示在使用x之后,使x的值加1;y++:表示在使用y之后,使y的值加1;++y:表示在使用y之前,使 y的值加1。此题中执行z=x++,是将x的值先赋给z,所以z=1,接下来x自行加1,其结果为2:执行y++后,y=2,执行++后,y=3;故答案选C。

第2题:

下列程序的运行结果是_______。

main()

{ int x=1,y=2,z=3;

printf("%d,",x<y?y:x);

primf("%d,",z<y?x++:y++);

primf("%d,%d",x,y);

}


正确答案:2213
2,2,1,3 解析:本题考查++,--运算符和条件运算符的使用。
“表达式1?表达式2:表达式3”的功能是:表达式 1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
本题中,x=1,y=2时,xy成立,输出y的值2;y=2, z=3时,zy不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。

第3题:

有以下程序

main()

{ int x, y, z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序运行后的输出结果是

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1


正确答案:C
答案 C
解析:整型变量 x 、 y 的初值都为 1 , “ x++,y++,++y ” 是一个逗号表达式,程序执行“ z=x++,y++,++y ” 之后 , x 的值为 2 , y 的值为 3 , z 取逗号表达式中的第二个表达式的值 ,为 1 。因此本题的答案为选项 C 。

第4题:

判断程序运行完毕后,x,y,z值分别为()。

A.111111111

B.1211112

C.12111111

D.121212


正确答案:C

第5题:

假定w、x、y、z、m均为int型变量,有如下程序段:

w=l;x=2;y=3;z=4;

m=(W<x)?w:x;

m=(m<y)?m:y;

m=(m<2)?m:z;

则该程序运行后,m的值是【 】。


正确答案:√
1 解析:此题考查条件表达式的运用。第1条语句执行后,变量m的值为1。第2条语句执行后,变量m的值为1。第3条语句执行后,变量m的值为1。

第6题:

判断程序运行完毕后,x, y, z值分别为 x = "11" + 1 y = "11" & 1 z = "11" + "1"

A.111 111 111

B.12 111 12

C.12 111 111

D.12 12 12


正确答案:C

第7题:

以下程序执行后x的值是 main() { int x,y=252,i=386,*m=&y,*z=&i; x=(z==y); printf("%d",x);}

A.252

B.1

C.0

D.运行时出错,x无定值


正确答案:C
解析:指针变量m和z分别指向整型变量y和i,所以这两个指针变量中存储的地址是不同的。变量x接受的是一个关系运算的结果,因为两个地址是不同的,所以“z=y”的判断结果为0。注意:C语言中,逻辑值的表示方法。

第8题:

假定w、x、y、z、m均为血型变量,有如下程序段:

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

m=(W<X)?w:X;

m=(m<y)?m:y;

m=(m<z)?m:z;

则该程序运行后,m的值是【 】。


正确答案:√
1 解析:此题考核条件表达式的运用。第1条语句执行后,变量m的值为1。第2条语句执行后,变量m的值为1。第3条语句执行后,变量m的值为1。

第9题:

单击按钮时,以下程序运行后的输出结果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=x+y End Sub Private Sub Command1_Click() Dim x As Integer,y As Integer,Z As Integer x=1:y=2:z=3 Call proc1(x,x,z) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

A.6 6 12 `

B.9 5 10 6101051010

C.9 6 12

D.9 10 10 910155410


正确答案:A
解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行x=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值变为10,相应的实参y的值变为10,而形参y和x的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

第10题:

有以下程序 include mare() { int x=1,y=2,z=3; if(x>y) if

有以下程序 #include <stdio.h> mare() { int x=1,y=2,z=3; if(x>y) if(y<z) printf("%d",++z); else printf("%d",++y); printf("%d\n",x++); } 程序的运行结果是______。

A.331

B.41

C.2

D.1


正确答案:D
解析:本题考查的是if语句的嵌套。C语言规定else总是与它上面的最近的且不带else的if配对,所以本题else与if(yz)配对,即为内嵌if。在程序执行时,先判断if(x>y)的条件表达式x>y,即1>2,不成立,所以不执行内嵌if,直接执行“printf("%d",x++);”语句。由于x++表示在使用后再将x加1,所以输出1。

更多相关问题