int a=1,b=2,c=3,d=4,m=2,n=2;执行表达式:(m=a>b)&&(n=c>d) 后,m,n的值为?
4个回答
展开全部
这是逻辑运算,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=a>b,因为a大于b不成立,于是m=0,由于后面是逻辑与,也就是要两个表达式都为真,结果才为真,显然,现在第一个都已经是假了,大多数c编译器就会阻止后面一个语句的执行,于是,最后的结果就是m=0,其余数字不变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m=0
n=2
a>b不成立m=0;
又因为(m=a>b)为0,所以不执行(n=c>d),即n的值不变。这是&&的特性。
n=2
a>b不成立m=0;
又因为(m=a>b)为0,所以不执行(n=c>d),即n的值不变。这是&&的特性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行之后 m =0 n=1
① 执行到 m=a>b时候,运算符>优先级高于=,先执行a>b,返回0,然后执行m=0,即执行到 m=a>b 这个值返回是0 ,所以后面的 n=c>d 不执行 n值不变
① 执行到 m=a>b时候,运算符>优先级高于=,先执行a>b,返回0,然后执行m=0,即执行到 m=a>b 这个值返回是0 ,所以后面的 n=c>d 不执行 n值不变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询