int a=1,b=2,c=3,d=4;执行:(a*=a<b)&&(c- =b<=d++)后,,a,b,c,d的值是( )。

如题所述

第1个回答  2010-05-28
①(a*=a<b)
因为a<b成立,上式即:a*=1;
a的值为1,表达式值为1,继续往下算。
②(c-=b<=d++)
先算b<=d++,由于x++先使用再自增,先算b<=d,值为1,而后,d=5,b值不变。
再算c-=1,知,c=2。
整个表达式值为2。

所以最后a=1,b=2,c=2,d=5;
第2个回答  2010-05-28
1,2,2,5
先算a<b=1
a=a*1;a还是=1;
再算d++
d=5
b<4=1
c=c-1;
c=2
b的值没有变化
第3个回答  2010-05-28
1225
第4个回答  2010-05-28
1,2,2,5本回答被提问者采纳

已知:int a=1,b=2,c=3,d=4;,则执行语句a>b && ++c>=d;后,变量c的_百度...
c的值没有变,还是3。先判断a>b,结果是逻辑假,”逻辑假 && 其他表达式“的时候,因为前面已经是假,后面无论是什么结果,总的表达式也都是假,就不会再去执行”其他表达式“,所以++c没有执行,c还是3。

已知int a=1,b=2,c=3,d=4;,执行语句a>b&&++c>=d;后,为什么变量c的值...
因为在逻辑表达式A && B中,只要表达式A的值为0,表达式B就不会执行

设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) &&(n=c>d) 后,n的...
【答案】:B 解析:本题考查逻辑与运算的运算规则。其规则是:当运算符前后两个条件表达式都满足时,其最终结果才为真。当发现第一个表达式的值为假时,计算机将不再执行后面表达式的运算。本题中,由于前一个表达式的值为“假”,所以后面的表达式不再进行运算,因而n的值保持不变,仍为2。

设inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为() A1...
结果是2。include<stdio.h> main(){ int a=1,b=2,c=3,d=4,m=2,n=2;(m=a>b)&&(n=c>d);printf("%d",n);} \/\/分析:\/*因为是&&运算,所以先看前段。m=a>b,=的优 先级小于>,a>b不成立,m=0;在&&运算中,如果 出现一边为假的情况下,结果直接为假,后面的 语句不会去...

设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a<b...
m=1,n=0;解释如下,如果a<b成立,则系统认为其为真,真值为1,反之若不成立,则为假,真值为0。因为(m=a<b)这个式子值为1,在&&这个运算符中,先判断&&左边的表达式是否为真,为真才会对&&右边的(n=c>d)进行处理。此题因为&&左边的表达式为真(若左边的表达式为假,则此题n=2,)...

...{ int a=1,b=2,c=3,t; while(a<b<c) { t=a;a=b;b=t;c--; }...
你的 a<b<c 这样判断不太好的 ,编译的时候都有警告说这样不安全。include"stdio.h"main(){ int a=1,b=2,c=3,t;while(a<b<c) \/\/第一次执行到这里成立(a<b成立为1,1<c成立)。执行括号里的。这是a为2,b为1,c为2.在判断的时候,a<b不成立为0,0<c成立,所以仍然成立,继续...

int a=1,b=2,c=3,d=4; if((a=2)&&(b=1)) c=2; if((c==3)||(d=-1...
答案是 5 1 2 -1 首先,if((a=2)&&(b=1)) c=2;a=2这是赋值语句,不是比较语句,成功赋值,表达式为真,b=1同理,所以if为真,执行c=2 此时,a=2,b=1,c=2 然后,if((c==3)||d=-1) a=5;c值为2,c!=3,执行d=-1,if为真,执行a=5 此时a=5,b=1,c=2,d=-1 ...

设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>
(m=a>b) 是赋值表达式,若a大于b则m得真,否则m得假。 a=1,b=2, a>b 为假,故 m=假。赋值表达式(m=a>b)为假。m=0。在逻辑与&&运算中,如果第一个操作数为假,则结果是假,后面的操作数不参与运算,本题中因为第一个操作数(m=a>b)为假,所以第二个操作数(n=c>d)不参加...

...int a=1,b=2,c=3;执行语句 b=(a<4)&&(b<a)&&(c++);之后,c的值是...
3。判断是从左向右,前面的可以判断的话后面的不执行。表达式a<4值为1,但表达式b<a值为0,中间位与运算,则值为0,不必再执行后面的c++,就可判断整个表达式值为0,所以c++不执行,c值为3.

int a=1,b=2,c=3,d=4; if((a=2)||(b=1)) c=2; if((c==3)&&(d=-1...
首先第一句,int a=1,b=2,c=3,d=4;为a,b,c,d分别赋值1,2,3,4。然后看第二句 if((a=2)||(b=1)) c=2;这里一定要区分“=”与“==”的区别,“=”是赋值用,而“==”是判断是否相等用。因此第二句中if里的2个语句都是赋值,一定都为真。但是还需要注意的是“||”与“&&...

相似回答
大家正在搜