在LISP语言中,总是试图对任何S-表达式进行求值。在求值的过程中,有这样几个基本约定()

题目
多选题
在LISP语言中,总是试图对任何S-表达式进行求值。在求值的过程中,有这样几个基本约定()
A

如果S-表达式是一个数字,则它的值就是数字本身。

B

如果S-表达式是一个文字原子,则它的值是在此之前,通过赋值函数赋给该原子的值。

C

如果S-表达式是一个表,则该表被认为是一个函数。

D

符号’是阻止求值符号,如果一个S-表达式前面有符号’,则其值就是该S-表达式本身。

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

第1题:

在DEH阀门管理功能叙述中,错误的是()

A、在单、多阀切换过程中,负荷基本上保持不变;

B、在单、多阀切换过程中,如果流量请求值有变化,阀门管理程序不响应;

C、阀门管理程序能提供最佳阀位;

D、能将某一控制方式下的流量请求值转换成阀门开度信号。


参考答案B

第2题:

对布尔表达式进行短路求值是指在确定表达式的值时,没有进行所有操作数的计算。对于布尔表达式 “a or ((b>c) and d)”,当( )时可进行短路计算。

A.a 的值为trueB.d的值为trueC.b的值为trueD.c的值为true


正确答案:A

第3题:

● 对布尔表达式进行短路求值是指:无须对式中所有操作数或运算符进行计算就可确定表达式的值。对于表达式“b or ((c > d) and a)” , (31) 时可进行短路计算。

(31)

A. d 为 true

B. a 为 true

C. b 为 true

D. c 为 true


正确答案:C


第4题:

表达式采用逆波兰式表示时,利用______进行求值。

A.栈
B.队列
C.符号表
D.散列表

答案:A
解析:
本题考查程序语言基础知识。后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。借助栈可以方便地对后缀式进行求值。方法为:先创建一个初始为空的栈,用来存放运算数。对后缀表达式求值时,从左至右扫描表达式,若遇到运算数,就将其入栈,若遇到运算符,就从栈顶弹出需要的运算数并进行运算,然后将结果压入栈顶,如此重复,直到表达式结束。若表达式无错误,则最后的运算结果就存放在栈顶并且是栈中唯一的元素。

第5题:

栈在()中应用。

A.递归调用
B.子程序调用
C.表达式求值
D.A,B,C

答案:D
解析:
栈的特点是先入后出。A项,递归调用的特点是最外层的调用最后执行,最内层的调用最先执行,递归调用符合栈的特点,即先将外层的调用依次入栈,然后从最内层调用出栈执行;B项,子程序的调用与递归调用的特点类似;C项,表达式求值将数据入栈,遇到运算符时与栈顶的运算符比较优先级,级别高则数据出栈,进行运算。

第6题:

●在程序运行过程中, (19)时可能需要进行整型数据与浮点型数据之间的强制类型转换。

①访问数组元素 ②进行赋值运算

③对算术表达式求值 ④进行递归调用

(19)

A.②③

B.①②

C.①③

D.②④


正确答案:A

第7题:

在程序运行过程中,( )时可能需要进行整型数据与浮点型数据之间的强制类型转换。①访问数组元素 ②进行赋值运算 ③对算术表达式求值 ④进行递归调用

A.②③
B.①②
C.①③
D.②④

答案:A
解析:
当表达式中操作数的类型不同时,需要进行强制类型转换,即将操作数转化为所需要的类型。强制类型转换分为显式强制转换和隐式强制类型转换。强制类型转换不改变原来数据的类型,而是产生一个符合类型要求的中间结果。当赋值表达式右边的表达式的求值结果类型与左边变量的类型不同时,也有可能需要进行强制数据类型转换。

第8题:

栈在()中有所应用。

A.递归调用

B、函数调用

C.表达式求值

D、前三个选项都有


参考答案:D
解释:递归调用、函数调用、表达式求值均用到了栈的后进先出性质。

第9题:

表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为(),其中^为乘幂。


答案:D
解析:

第10题:

对布尔表达式进行短路求值是指:无须对表达式中所有操作数或运算符进行计算就可确定表达式的值。对于表达式"a or ((c< d) and b)",( )时可进行短路计算。

A.d为true
B.a为true
C.b为true
D.c为true

答案:B
解析:
此题考察的是短路问题。or的含义代表或的意思,and的意思是代表并且的意思。所以此题a为true后面的就可以不用执行下去直接判定为真。所以形成短路效应。