软考中级

逻辑表达式求值时常采用短路计算方式。“&&"、“l l”、“!”分别表示逻辑与、或、非运算,“&a逻辑表达式求值时常采用短路计算方式。“&&"、“l l”、“!”分别表示逻辑与、或、非运算,“&&”、“||”为左结合,“!”为右结合,优先级从高到低为 “!”j.“&&”、“||”。对逻辑表达式“x&&(y II!z)”进行短路计算方式求值时,( )。A.x为真,则整个表达式的值即为真,不需要计算y和z的值。B.x为假,则整个表达式的值即为假,不需要计算y和z的值C.x为真,再根据z的值决定是否需要计算y的

题目
逻辑表达式求值时常采用短路计算方式。“&&"、“l l”、“!”分别表示逻辑与、或、非运算,“&a

逻辑表达式求值时常采用短路计算方式。“&&"、“l l”、“!”分别表示逻辑与、或、非运算,“&&”、“||”为左结合,“!”为右结合,优先级从高到低为 “!”j.“&&”、“||”。对逻辑表达式“x&&(y II!z)”进行短路计算方式求值时,( )。

A.x为真,则整个表达式的值即为真,不需要计算y和z的值。

B.x为假,则整个表达式的值即为假,不需要计算y和z的值

C.x为真,再根据z的值决定是否需要计算y的值

D.x为假,再根据y的值决定是否需要计算z的值

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

Python中用于表示逻辑与、逻辑或、逻辑非运算的关键字分别是_________、___________、_________。


正确答案:and、or、not

第2题:

● 逻辑表达式“a∧b∨c∧(b∨x>0)”的后缀式为(21)。(其中∧、∨分别表示逻辑与、逻辑或,>表示关系运算大于,对逻辑表达式进行短路求值)

(21)

A. abcbx0>∨∧∧∨

B. ab∧c∨b∧x0>∨

C. ab∧cb∧x>0∨∨

D. ab∧cbx0>∨∧∨


正确答案:D
试题(21)分析
    本题考查逻辑表达式的计算及程序语言处理基础知识。
    “逻辑与运算”的优先级高于“逻辑或运算”。
    “逻辑与运算”表达式“x∧Y”的短路求值逻辑是:若x为假,则可知“x∧y”的值为假,无需再对y求值,因此只有在x为真时继续对y求值。
    “逻辑或运算”表达式“x∨y”的短路求值逻辑是:若x为真,则可知“x∨y”的值为真,无需再对Y求值,因此只有在x为假时继续对Y求值。
    对于逻辑表达式“a∧b∨c∨(b∨X>0)”,从运算符的优先级方面考虑,需先“a∨b”求值,然后对“c∧(b∨x>0)”求值,最后进行“V”运算,因此后缀式为“ab∧cbx0>∨∧∨”。
参考答案
      〔21)D

第3题:

布尔逻辑具体检索时,是通过三个布尔运算符来实现其功能的:AND、OR、NOT,分别表示逻辑与、逻辑或、逻辑非三种逻辑运算关系。()

此题为判断题(对,错)。


参考答案:√

第4题:

在计算机逻辑运算中,最基本的逻辑运算时()

A.逻辑与

B.逻辑或

C.异或

D.逻辑非


参考答案:A, B, D

第5题:

逻辑表达式“a∧b∨c∧(b∨x>0)”的后缀式为______。(其中∧、∨分别表示逻辑与、逻辑或,>表示关系运算大于,对逻辑表达式进行短路求值)

A.abcbx0>∨∧∧∨

B.ab∧c∨b∧x0>V

C.ab∧cb∧x>0∨∨

D.ab∧cbx0>∨∧∨


正确答案:D
解析:本题考查逻辑表达式的计算及程序语言处理基础知识。
  “逻辑与运算”的优先级高于“逻辑或运算”。
  “逻辑与运算”表达式“x∧y”的短路求值逻辑是:若x为假,则可知“x∧y”的值为假,无需再对y求值,因此只有在x为真时继续对y求值。
  “逻辑或运算”表达式“x∨y”的短路求值逻辑是:若x为真,则可知“x∨y”的值为真,无需再对y求值,因此只有在x为假时继续对y求值。
  对于逻辑表达式“a∧b∨c∧(b∨x>0)”,从运算符的优先级方面考虑,需先“a∧b”求值,然后对“c∧(b∨x>0)”求值,最后进行“∨”运算,因此后缀式为“ab∧cbx0>∨∧∨”。

第6题:

与A+A·B等价的逻辑表达式是______。(?、+、·分别表示逻辑异或、逻辑加、逻辑乘)

A.A+B

B.A+B

C.A?B

D.A·B

A.

B.

C.

D.


正确答案:B

第7题:

逻辑表达式“a∧b∨c∧(b∨x>0)”的后缀式为(21)。(其中∧、∨分别表示逻辑与、逻辑或,>表示关系运算大于,对逻辑表达式进行短路求值)

A.abcbx0>∨∧∧∨

B.ab∧C∨b∧x0>∨

C.ab∧cb∧x>0∨∨

D.ab∧cbx0>∨∧∨


正确答案:D
解析:后缀式也称为逆波兰式,是波兰逻辑学家卢卡维奇发明的一种表达表达式的方法。他把运算符号写在运算对象的后面。
  将一个普通的中序表达式转换为逆波兰表达式的一般算法是:
  (1)首先构造一个运算符栈,此运算符在栈内遵循越往栈顶优先级越高的原则。
  (2)读入一个用中缀表示的简单算术表达式,为方便起见,设该简单算术表达式的右端多加上了优先级最低的特殊符号“#”。
  (3)从左至右扫描该算术表达式,从第一个字符开始判断,如果该字符是数字,则分析到该数字串的结束并将该数字串直接输出。
  (4)如果不是数字,该字符则是运算符,此时需比较优先关系。

第8题:

● 与A A B + ? 等价的逻辑表达式是 (10) 。(⊕ 、+、? 分别表示逻辑异或、逻辑

加、逻辑乘)

(10)

A. A B +

B. A B +

C. A B ⊕

D. A B ?


正确答案:B
c

第9题:

根据运算前后的符号位可判别溢出。设X、Y、Z分别表示两个参加运算的数的符号位及运算结果的符号位,那么若逻辑表达式X.Y.的值与..Z的值进行(38)运算的结果为1,则表示溢出。

A.与

B.或

C.与非

D.异或


正确答案:B
解析:当两个同符号数相加或者两异号数相减时,运算结果若超出固定码长的数据表示范围,就会发生溢出。例如,X=+65D=+1000001B(D、B分别表示十进制数、二进制数),Y=+67D=+1000011B,编码总长度为8位,那么:[X+Y]补=[X]补+[Y]补=01000001+01000011=10000100符号位为1,表示结果为负数,两正数相加得负数,这显然是荒谬的,因为发生了溢出。判断溢出有四种方式:①双符号位法,即用00表示正数,11表示负数,当运算结果的两个符号位上的数不一样时,则表明发生了溢出。承上例:[X+Y]补=[X]补+[Y]补=001000001+001000011=010000100②进位判断法,当数值最高位和符号位向上一位都有进位或者都没有进位的时候(即异或结果为0),表示没有溢出,否则表示有溢出。③根据运算结果的符号位SF和进位标志CF的异或结果来判断,即若SFCF结果为1,表示运算的结果产生溢出。④根据运算前后的符号位进行判别,设X、Y、Z分别表示两个参加运算的数的符号位及运算结果的符号位,那么若逻辑表达式的值为1,则表示溢出。或运算也称为逻辑加,常用符号OR、∪、V或+表示。从上面的分析可见,在做题时要注意将其作为引子举一反三,此次考的是用第④种方法判断溢出,以后考的就可能是其余三种,而将这四种都掌握了,“鱼网”就织得密集结实,做到了未雨绸缪,获胜的把握就更大。

第10题:

与逻辑表达式a+b等价的是()(+、.、-分别表示逻辑或、逻辑与、逻辑非运算)

A.a.(a+b)
B.a+a.b
C.b.(a+b)
D.a.b+a.b

答案:B
解析: