已知:int x=3,y=4,z=5;下列表达式为假的是()
A、'x'&&'y'B、x&&y&&zC、x||y+z&&y-zD、!((x<y&&!z||1)第四个选项有两个右括号,不是误写。这题我一点都不明白,不知道重点。请解答时...
A、'x' && 'y'
B、x && y && z
C、x || y + z && y - z
D、! ( (x < y && ! z || 1 )
第四个选项有两个右括号,不是误写。
这题我一点都不明白,不知道重点。请解答时候给点详细的指点。最好直指核心。谢谢师兄师姐了。
下面的这个。
尤其是 m=k+3*!c; k=k*!m!=c这两句,
m=k+3*!c
因为:c=2 所以!c=0 那么 m=k+0 可是定义m=8 k=4 我就不懂了…… m是等于8呢?还是等于4呢? 我就不明白了。
#include"iostream"
using namespace std;
int main()
{
int a=8,b=5,c=2,k=4,m=8,n=6;
cout=0 && m/3.0>2)
{
m=k+3*!c;
}
else
{
k=k*!m!c;
}
cout<<a<<m<<k<<endl;
return 0;
} 展开
B、x && y && z
C、x || y + z && y - z
D、! ( (x < y && ! z || 1 )
第四个选项有两个右括号,不是误写。
这题我一点都不明白,不知道重点。请解答时候给点详细的指点。最好直指核心。谢谢师兄师姐了。
下面的这个。
尤其是 m=k+3*!c; k=k*!m!=c这两句,
m=k+3*!c
因为:c=2 所以!c=0 那么 m=k+0 可是定义m=8 k=4 我就不懂了…… m是等于8呢?还是等于4呢? 我就不明白了。
#include"iostream"
using namespace std;
int main()
{
int a=8,b=5,c=2,k=4,m=8,n=6;
cout=0 && m/3.0>2)
{
m=k+3*!c;
}
else
{
k=k*!m!c;
}
cout<<a<<m<<k<<endl;
return 0;
} 展开
5个回答
2012-05-12
展开全部
A是指两个字符x和y求进行&&运算,没有用x和y的值。都不是空,所以为真。
B是先x&&y,再和z,因为x,y,z都不是0,所以为真。
C里面+,-号优先级最高,所以先进行加减运算,y+z大于0,y-z小于0,都不影响,最前面的x那个数,所以也是为真。
D中除括号运算符外,!运算符优先级最高,就是把不为0的z变成0,或者可以把为0的变成整数。之后是<运算符,x<y为真,接着是&&运算符,!z是假,所以前面是假,但是还有一个||运算符,只要有一个为真就是真,所以括号里面为真,在外面加一个取反运算符,就为假。
B是先x&&y,再和z,因为x,y,z都不是0,所以为真。
C里面+,-号优先级最高,所以先进行加减运算,y+z大于0,y-z小于0,都不影响,最前面的x那个数,所以也是为真。
D中除括号运算符外,!运算符优先级最高,就是把不为0的z变成0,或者可以把为0的变成整数。之后是<运算符,x<y为真,接着是&&运算符,!z是假,所以前面是假,但是还有一个||运算符,只要有一个为真就是真,所以括号里面为真,在外面加一个取反运算符,就为假。
展开全部
C语言对真假的规定是 1为真,0为假,当然一个量非零也是真 所以上题中
A、'x' && 'y' 逻辑与 两边都是非零,结果为真
B、x && y && z x y z都是非零的量, 结果为真
C、x || y + z && y - z ||是逻辑或, 所以只要x为真,结果就为真。 x非零,结果为真
D、! ( (x < y && ! z || 1 ) 同理 || 1 为真,就是括号里的为真,所以整体再!操作,变为假 ,结果为假
A、'x' && 'y' 逻辑与 两边都是非零,结果为真
B、x && y && z x y z都是非零的量, 结果为真
C、x || y + z && y - z ||是逻辑或, 所以只要x为真,结果就为真。 x非零,结果为真
D、! ( (x < y && ! z || 1 ) 同理 || 1 为真,就是括号里的为真,所以整体再!操作,变为假 ,结果为假
追问
谢谢你,师兄,我明白了,您帮我看看下面的这个。
尤其是 m=k+3*!c; k=k*!m!=c这两句,
m=k+3*!c //c=2 !c=0 那m=k+0 可是定义m=8 k=4 我就不懂了……
#include"iostream"
using namespace std;
int main()
{
int a=8,b=5,c=2,k=4,m=8,n=6;
cout=0 && m/3.0>2)
{
m=k+3*!c;
}
else
{
k=k*!m!c;
}
cout<<a<<m<<k<<endl;
return 0;
}
a!=b这种样子的可知道哈,,光是 m=k+3*!c; k=k*!m!=c;这种的不知道
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D,啦,优先级是! && ||
补充
应该是D、! ( (x < y && ! z )|| 1 ) x<y为真1,所以1&&0为0,0|| 1为1 ,!1=0,所以为假
补充
应该是D、! ( (x < y && ! z )|| 1 ) x<y为真1,所以1&&0为0,0|| 1为1 ,!1=0,所以为假
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案:午睡过后
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选项D写错了吧
追问
如果去掉“(”呢?
“非”的用法,您能给我简单说一说吗?,我晕晕乎乎的。尤其是有关赋值的地方!
eg:
#include"iostream"
using namespace std;
int main()
{
int a=8,b=5,c=2,k=4,m=8,n=6;
cout=0 && m/3.0>2)
{
m=k+3*!c;
}
else
{
k=k*!m!c;
}
cout<<a<<m<<k<<endl;
return 0;
}
a!=b这种样子的可知道哈,,光是 m=k+3*!c; k=k*!m!=c;这种的不知道,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询