设x和y均为int型变量,则执行下面的循环后y的值为 试题内容: 设x和y均为int型变量,则执行下面的循环后,y...

作者&投稿:廖慧 (若有异议请与网页底部的电邮联系)
先来看看x的变化:1—>6—>3—>8—>5—>10
每循环一次,y的值加1,x的值改变一次。故最后跳出循环的时候y==6。
continue和break的含义首先应该读懂!

x=1,x%2=1,为真,执行。x=x+5=6;x=x-3=3;然后执行y=y+1=2;
x=3,x%2=1,为真,执行。x=x+5=8;x=x-3=5;然后执行y=y+1=3;
x=5,x%2=1,为真,执行。x=x+5=10;x=x-3=7;然后执行y=y+1=4;
x=7,x%2=1,为真,执行。x=x+5=12;x=x-3=9;然后执行y=y+1=5;
x=9,x%2=1,为真,执行。x=x+5=14;x=x-3=11;然后执行y=y+1=6;
x=11,x%2=1,为真,执行。由于此时(x>=10),所以执行break.
所以,执行完此循环后,y值为6.

楼主有粘贴到这里的功夫已经运行出来了

用vc2010运行的结果:6

6

设x和y均为int型变量,则执行下面的循环后,y值为多少?~

x=1,x%2=1,为真,执行。x=x+5=6;x=x-3=3;然后执行y=y+1=2;
x=3,x%2=1,为真,执行。x=x+5=8;x=x-3=5;然后执行y=y+1=3;
x=5,x%2=1,为真,执行。x=x+5=10;x=x-3=7;然后执行y=y+1=4;
x=7,x%2=1,为真,执行。x=x+5=12;x=x-3=9;然后执行y=y+1=5;
x=9,x%2=1,为真,执行。x=x+5=14;x=x-3=11;然后执行y=y+1=6;
x=11,x%2=1,为真,执行。由于此时(x>=10),所以执行break.
所以,执行完此循环后,y值为6.

题目写全了。

设x,y,z均为int型变量,则执行语句:x=y=z=3;t=++x||++y后,y的值为什么...
答:t=(++x||++y)赋值右边是一逻辑表达式,先计算++x,结果是4,为真,所以后面的“||”运算符后面的就不计算了,或运算,只要一个为真,就为真。后面的++y没计算

设x,y,z,s均为int型变量,且初值为1,则执行语句s=++x||++y&&++z后,则...
答:设x,y,z,s均为int型变量,且初值为1,则执行语句:最后s的值是1。s=++x||++y&&++z 这一句中,运算符优先级顺序为:++最高,其次是&&,然后是||,最后是 = 该句完全等价于:++x;if (x!=0)s=1;else { ++y;if (y!=0){ ++z;if (z!=0)s=1;else s=0;} else s=0;} Int...

47、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后...
答:括号中的是逗号表达式,这个表达式的取值是最后一个式子的值,即k=32的值,即赋值成功的值32,因此选C

C语言题。 若 w,x,y,z 均为int 型变量,则执行下面的语句后,
答:首先你这个代码是有错了,运算符号左边不能是表达式,所以--x*=这里肯定会报错。如果不考虑运行,单独看算法。首先看运算符号优先级 '--' > '*' > '='/'*='所以z=--x*=--x*--x;相当于代码:--x;--x;--x;z=x*=x*x;x初值4,自减3次后=1,赋值符号从右往左结合,先算x*=...

设x,y,z,t均为int型变量,则执行以下语句后,t的值为(D?)。 x=y=z=1...
答:后面一项,&&++z,因为++运算优先等级大于&& 所以先计算++z,z计算后变为2,执行&&"且"运算。最后得出结果为1。或:if(x=y)t =z else t=!baiz if的判断条件是一个赋值表达式,赋值表达式的值为其=右边的值,也zhuan就是y,也就是0。在c语言中0代表假false。所以if的条件不成立,不执行if...

设x,y,z,t均为int型变量,则执行完下面语句后,y的值是( )
答:y的值是1,选择答案C。因为++x后,x的值为2,非0(即为“真”,所以后面的逻辑或已经不需要再判断)

设x,y,t均为int型变量,执行语句: x=y=3; t=++x||++y; 完成后,y的...
答:y值仍然为3 t=++x||++y;等效于t=(++x||++y);逻辑运算符||,左侧为非零,右侧就不用判断了,整体肯定为1

(50) 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的...
答:53、C 54、D 55、B 56、D

设x.y.t均为int型变量,则执行语句;x=y=3;t=++x||++y;后,t的值为??X...
答:这种题的答案根本就有好多个,因为不同的编译器,不同的优化层级,会得出不同的结果。建议不要为了考试而钻这类题目,一点实际意义都没有。实际的代码出现这种情况,早给上头毙了。因为你的程序拿到不同的环境去编译得出的结果竟然是不一致的。对于一些编译器而言,结果可能是4,3,1,也有可能是4,4...

设x,y,z,t均为int型变量,则执行以下语句后,t的值为(D?)。 x=y=z=1...
答:后面一项,&&++z,因为++运算优先等级大于&& 所以先计算++z,z计算后变为2,执行&&"且"运算。最后得出结果为1。或:if(x=y)t =z else t=!baiz if的判断条件是一个赋值表达式,赋值表达式的值为其=右边的值,也zhuan就是y,也就是0。在c语言中0代表假false。所以if的条件不成立,不执行if...