求逻辑表达式的值
3个回答
展开全部
第一个化简:
括号优先级最高,
&&
优先级大于
||
((a=b+c,b>c-1)&&(b+=c))||(b*2==a+c)
化简为:
(a=9,4
>
4)&&(b=9)
||
(18
==
14)
(9,0)&&(9)
||
0
9,0
为逗号表达式,其值为0
所以
:0&&1
||
0
化简为
0
||
0
结果为
0
即false
第二个化简:
+
-
的优先级高于
>
高于
!=
((('c'-'a')/2+b)>c)!=(b-a)
所以化简为:
2/2
+
4
>
5
!=1
5
>
5
!=1
0!=1
所以结果为
1
即true
这个主要是考察运算符优先级,实际写程序时强烈不建议这样写,可读性太差
这个是c语言表达式运算符优先级:
http://www.slyar.com/blog/c-operator-priority.html
括号优先级最高,
&&
优先级大于
||
((a=b+c,b>c-1)&&(b+=c))||(b*2==a+c)
化简为:
(a=9,4
>
4)&&(b=9)
||
(18
==
14)
(9,0)&&(9)
||
0
9,0
为逗号表达式,其值为0
所以
:0&&1
||
0
化简为
0
||
0
结果为
0
即false
第二个化简:
+
-
的优先级高于
>
高于
!=
((('c'-'a')/2+b)>c)!=(b-a)
所以化简为:
2/2
+
4
>
5
!=1
5
>
5
!=1
0!=1
所以结果为
1
即true
这个主要是考察运算符优先级,实际写程序时强烈不建议这样写,可读性太差
这个是c语言表达式运算符优先级:
http://www.slyar.com/blog/c-operator-priority.html
展开全部
先写个,对你的需求,还是不太清楚,你试试看
<script>
function
logical_process(){
var
false_value
=
null;
var
true_value
=
null;
if(arguments.length==1){
if(eval(arguments[0]))true_value
=
true;
else
false_value
=
false;
}
else
if(arguments.length==2){
if(eval(arguments[0]))true_value
=
arguments[1];
else
false_value
=
false;
}else{
for(var
i
=0;i<arguments.length
-1;i++){
if(eval(arguments[i])){
true_value
=
arguments[i+1];
}
i++;
}
}
if(true_value
!=
null)
else{
if(arguments.length>2)return
arguments[arguments.length-1];
else
return
false_value;
}
}
alert(logical_process("60>80","优秀","60>60","及格","不及格"));
</script>
<script>
function
logical_process(){
var
false_value
=
null;
var
true_value
=
null;
if(arguments.length==1){
if(eval(arguments[0]))true_value
=
true;
else
false_value
=
false;
}
else
if(arguments.length==2){
if(eval(arguments[0]))true_value
=
arguments[1];
else
false_value
=
false;
}else{
for(var
i
=0;i<arguments.length
-1;i++){
if(eval(arguments[i])){
true_value
=
arguments[i+1];
}
i++;
}
}
if(true_value
!=
null)
else{
if(arguments.length>2)return
arguments[arguments.length-1];
else
return
false_value;
}
}
alert(logical_process("60>80","优秀","60>60","及格","不及格"));
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不论z是真是假;z,整体才为真(但这是;
如果x为假或z为真,整个表达式都为真;
若x和y中有一个或两个是假,那么只有z是真的时候x&&y||z
等价于
(x
&&
y)
||
z
x和y都为真的时候,只有y为假的时候,(y&&z)才为假,,那么表达式为真,表达式才为真。
x>
z)
如果x为假且y为真,那么不论y和z的关系如何;z
如果x>z的时候,表达式才为真!(y
&&
z))
如果x为真且z为假,那么不用管后面表达式真假(实际上肯定是真),整个表达式都为真。
x&&,表达式都为真;
如果x为真或y为假,那么只有y>z)
等价于
((!x)
&&
y
)
||
(y
>!(y&&z)
等价于
(x
&&
(!z))
||
(!(y&&z)才为真!z||,那么只有后面表达式为真;
如果x
评论
0
0
加载更多
如果x为假或z为真,整个表达式都为真;
若x和y中有一个或两个是假,那么只有z是真的时候x&&y||z
等价于
(x
&&
y)
||
z
x和y都为真的时候,只有y为假的时候,(y&&z)才为假,,那么表达式为真,表达式才为真。
x>
z)
如果x为假且y为真,那么不论y和z的关系如何;z
如果x>z的时候,表达式才为真!(y
&&
z))
如果x为真且z为假,那么不用管后面表达式真假(实际上肯定是真),整个表达式都为真。
x&&,表达式都为真;
如果x为真或y为假,那么只有y>z)
等价于
((!x)
&&
y
)
||
(y
>!(y&&z)
等价于
(x
&&
(!z))
||
(!(y&&z)才为真!z||,那么只有后面表达式为真;
如果x
评论
0
0
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询