3、设有int a=1,b=2,c=3,d=4,m=1,n=1; 则执行表达式(m=a>b)&&(n=c>d)后,n的值为。 (A)1 (B) 0 (C)3 (D)2

作者&投稿:乌启 (若有异议请与网页底部的电邮联系)
int a=1, b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?~

n=2,因为m=(a>b);
解释为:如果a大于b,那么m等于true(即1);否则m等于false(即0);
n=c>d也是这个意思.
再有(m=a>b)&&(n=c>d)首判断a>b是否为真,因为a=1,b=2.所以a>b为假。m=0,接着就不进行
n=c>d。故n的值未改变。估是因为&&的原因。

这是逻辑运算,n的值为2
(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)不参加运算,因此n的值不变。

扩展资料:逻辑运算规则:
逻辑变量之间的运算称为逻辑运算。 二进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“无”。这种具有逻辑属性的变量就称为逻辑变量。
计算机的逻辑运算和算术的逻辑运算的主要区别是:逻辑运算是按位进行的,位与位之间不像加减运算那样有进位或借位的联系。
逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)、逻辑乘法(又称“与”运算)和逻辑否定(又称“非”运算)。此外,“ 异或”运算也很有用。

执行之后 m =0 n=1
因为 执行到 m=a>b时候,运算符>优先级高于=,先执行a>b,返回0,然后执行m=0,即执行到 m=a>b 这个值返回是0 , 所以后面的 n=c>d 就不执行了 也就是 n 还是原来的值没有变
选择A

楼上说的对,这题考得很隐蔽,特别是&&表达式前面为假,整个表达式必为假,因此后面不用再判断。


池州市13640789282: 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c> -
叔萍方舟: 这是逻辑运算,n的值为2(m=a>b) 是赋值表达式,若a大于b则m得真,否则m得假. a=1,b=2, a>b 为假,故 m=假.赋值表达式(m=a>b)为假.m=0. 在逻辑与&&运算中,如果第一个操作数为假,则结果是假,后面的操作数不参与运算,本...

池州市13640789282: 设有:int a =1,b = 2,c = 3,d = 4,m = 2,n = 2;执行(m = a > b)&&(n = c>d )后n的值是 . A. 1 B. 2 C. 3为什么?这道题选什么? -
叔萍方舟:[答案] 赋值运算级是最低的,于是 a>b 如果成立 结果为1 不成立为0 显然m=0; 既然m=0不成立 那么后面那句就不会走 于是n还是 2

池州市13640789282: 3、设有int a=1,b=2,c=3,d=4,m=1,n=1; 则执行表达式(m=a>b)&&(n=c>d)后,n的值为. (A)1 (B) 0 (C)3 (D)2 -
叔萍方舟: 执行之后 m =0 n=1 因为 执行到 m=a>b时候,运算符>优先级高于=,先执行a>b,返回0,然后执行m=0,即执行到 m=a>b 这个值返回是0 , 所以后面的 n=c>d 就不执行了 也就是 n 还是原来的值没有变 选择A

池州市13640789282: 设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是? -
叔萍方舟:[选项] A. if(a>b) c=a,a=b,b=c; B. if(a>b){ c=a,a=b,b=c;} C. if(a>b) c=a;a=b;b=c; D. if(a>b){ c=a;a=b;b=c;}

池州市13640789282: 在C语言中,设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为,过程 -
叔萍方舟: n的值仍然为2,没有改变! 过程: 先计算a>b,值为0,赋给m的值为0,表达式m=a>b的值也是0. 对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,因此,C语言不再对表达式n=c>d进行计算.因而n的值没有改变!!

池州市13640789282: 设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值是( ).求高手解答,最好有解释,谢谢了 -
叔萍方舟:[答案] m=a>b=false x&&y当x为false时y不执行 所以 n=2

池州市13640789282: 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=ad)后,m,设有如下定义:inta=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=ad)... -
叔萍方舟:[答案] m=1,n=0;解释如下,如果ad)这个式子,由以上分析,(c>d)为假,其真值为0,所以n为0.

池州市13640789282: 关于C语言如何运算?设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;执行表达式:(m=a>b) && (n=c>d)后,n的值为 (A) 1 (B)2 (C)3 (D)0 -
叔萍方舟:[答案] 因为a>b是不正确,所以m=a>b这个表达式的值为m=0,根据短路操作,因为(m=a>b)已经是零了,(m=a>b) && (n=c>d)的值肯定是零,所以后面的(n=c>d)是不会执行的,所以n的值是原来的值2,选B

池州市13640789282: 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=3;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( ).设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=3;则执行... -
叔萍方舟:[答案] 执行之后 m =0 n=3 因为 执行到 m=a>b时候 这个值返回是0 不成立 所以后面的 n=c>d 就不执行了 也就是 n 还是原来的值没有变

池州市13640789282: 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后n的值是?书上n的答案是2.所以我看不懂 -
叔萍方舟:[答案] 先将a的值赋给m,即m=1,而b=2,显然m=a>b的值是0.由于是"与'运算,后面的式子可以不看,即不用执行了.整个表达式的值也为0.而n前后的值没有变化,n=2

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网