C语言题,给出结果、给出解释 。

1设intx=4,y=2;表达式x<y?y:x++的值是2intx=3;do{ptintf("%5d",x-=2);}while(!(--x));... 1 设int x=4,y=2; 表达式x<y?y:x++的值是

2 int x=3;
do
{ptintf("%5d",x-=2);}
while(!(--x));
展开
 我来答
蓉雪球
2013-10-16 · TA获得超过8998个赞
知道大有可为答主
回答量:2846
采纳率:79%
帮助的人:720万
展开全部

1.x<y


4<2不成立,所以取x++

结果4

(但x=5,此处要注意)



2.x=x-2=1

while(!0) //非0则为真,所以继续

x=x-2=-1

while(!-2)=while(!(!0)) //假,所以结束循环

结果-2


附:针对条件表达式


条件表达式由条件运算符构成,并常用条件表达式构成一个赋值语句,其一般形式如下:

x=<表达式1>?<表达式2>:<表达式3>

其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。  口诀:前真后假。

例如:

min=(a<b)?a:b

效果是将a、b中较小的那个赋给min。

若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。

例如: a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为:1


针对循环

http://wenku.baidu.com/view/4d13146db84ae45c3b358c02.html

追问
(第一题...)

++的运算符,不是比条件运算符的优先级高吗?为什么不是先计算x++
追答
你把语句肢解了,自加运算是套在条件表达式里的。这句可以等价于if循环。如果化作下列形式或许你就懂了。
if(x<y)
printf("%d",y);
else
printf("%d",x++;);
mendax007
2013-10-16 · TA获得超过246个赞
知道答主
回答量:123
采纳率:100%
帮助的人:49万
展开全部
1,条件表达式。如题,如果x<y为true,则返回y的值,否则执行x++:即先返回x的值,然后x自增。设变量z=x<y?y:x++,则z=4.
2,首先打印输出:(4空格)1(4空格)-2
先说空格,是因为控制为%5d:至少共5列,不足的左边补空格;
do……while循环先无条件do一次,x=x-2,x=1,输出;
紧接着while中判断:x先自减,此时x=0。那么!(0)为真,循环继续输出4空格和x-2的值,即-2.
再进入while,-2自减为-3,!(0)为假。循环结束。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
418310500
2013-10-16 · TA获得超过756个赞
知道小有建树答主
回答量:573
采纳率:54%
帮助的人:248万
展开全部
1.
int x=4,y=2;
if(x<y)
y=2;
else
x++;

2.
int x=3;
do
{
ptintf("%5d",x-=2);//x-=2相当于x=x-2,%5d意思是给定5个位置输出那个值
} while(!(--x));
屏幕上输出1 0 -2 -4....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YIGUT
2013-10-16 · TA获得超过153个赞
知道答主
回答量:93
采纳率:0%
帮助的人:68.7万
展开全部
  1. 输出为4   表达式理解为  如果x<y   输出  y;否则输出 x  然后x++ ,此时你在后面再写个单独输出x,那x就是5了

  2. 输出为1  -2    首先执行printf  ,输出 x=3-2=1   ,然后判断while语句。--x为0,!0为1,就是while(1)  继续执行循环体,输出x=0-2=-2    然后再判断while,就是while(0),跳出循环,结束。

追问
++的运算符,不是比条件运算符的优先级高吗?为什么不是先计算x++     (我说的是第一题...)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式