(5).逻辑表达式
由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。表为逻辑运算符的功能。逻辑运算符前后一般要加圆点“.”标记,
以示区别。
表
逻辑运算符 |
运算符 |
功能 |
优先级别 |
( ) |
圆括号 |
最高 |
.NOT.或! |
逻辑非 |
|
.AND. |
逻辑与 |
|
.OR. |
逻辑或 |
最低 |
对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,表所示就是逻辑运算真值表。
表
逻辑运算真值表 |
A |
B |
A .AND.B |
A .OR. B |
.NOTA |
T |
T |
T |
T |
F |
T |
F |
F |
T |
F |
F |
T |
F |
T |
T |
F |
F |
F |
F |
T |
例如:
17>33 .AND.”A”<”a” && 值为.F.?
17>13 .or."A"<"a" .and..not..t. && 值为.T.
例 题
1.在命令窗口中输入下列命令:
x=1
STORE x+l TO a,b,c
a,b,c
主屏幕上显示的结果是____。
A.1 B.1 1
C.2 2 2 D.1 1 1
[解析] 本题考查的知识点是内存变量赋值命令“ST0RE<表达式>To<内存变量名>”的使用。STORE命令可以将同一个表达式的值应该赋与多个内存变量。本题根据输入的命令,可以看出是将表达式分别赋与a,b和c三个内存变量,因此显示的结果也应用是3个值,此时排除选项A,B。再看前提,已知x=1,命令中的表达式为x+1,因此应该赋与3个内存变量的值一定为2。因此正确答案为C。
[答案] C
2.在命令窗口中输入下列命令:
m=”发展口口口”
n="生产力"
?m-n
主屏幕上显示的结果是____。
A. 发展口口口生产力 B.发展生产力口口口
C.m,n D.n,m
[解析]本题考查的知识点是字符串运算符的使用。题目中“发展”后的空余部分表示空格。在VisualFoxPro中,字符串运算符有两个:十和—。 “十”表示前后两个字符串首尾连接形成一个新的字符串; “—” 连接前后两个字符串,并将前后字符串的尾部空格移到合并后的新字符串尾部。
本题用“—”作为连接符,前一个字符(即m)尾部的空格应该移到合并后的新字符串尾部,因此结果中的空格都应该移到字符串的尾部,选项A中结果的空格在字符串中间,所以不正确,因此正确答案为B。
[答案] B
3.已知x=8,y=5,z=27,求表达式x^3/4+6*y-7*2+(4+z/9)^2的值为____。
A.88
B.100
C.72
D.193
[解析]本题考查的知识点是算术表达式的运算优先级。在Visual FoxPro中,算术运算符的运算优先级是:先算括号中的部分,再算**或^(乘方),再算*(乘)、/(除)、%(“取模”),再算(加)、—(减)。
将已知数代入表达式中,计算过程如下:
x^3/4+6*y-7*2+(4+z/9)^2
=8^3/4+6*5-7*2+(4+27/9)^2
=8^3/4+6*5-7*2+7^2
=128+30-14+49
=193
[答案]D
4.关系表达式中关系运算符的作用是____。
A.比较两个表达式的大小
B.计算两个表达式的结果
C.比较运算符的优先级
D.计算两个表达式的总和
[解析] 本题考查的知识点是关系表达式中关系运算符的作用。在Visual FoxPro中,关系运算符有大于(>)、小于(<等于(=)、不等于(<>、#、!=)、小于等于(<=)、大于等于(>=)、字符串精确比较(==)、包含测试( $),其作用是比较两个表达式的大小和结果,其运算结果是逻辑型数据。选项B,C,D的说法都错误,因此正确答案为A。
[答案] A
5.关系型表达式的运算结果是____。
A.数值型数据
B. 逻辑型数据
C.字符型数据
D.日期型数据
[解析] 本题考查的知识点是关系型表达式的运算结果。在Visual FoxPro中,关系型表达式的作用是比较两个表达式的大小或前后,其结果只有两种情况:逻辑真或逻辑假。关系型表达式的运算结果不可能是数值型数据、字符型数据、日期型数据,而只能是逻辑型数据。因此正确答案为B。
[答案] B
6.数组是____,它由一系列____组成,每个数组元素可通过____及相应的下标来访问。
[解析] 本题考查的知识点是数组的概念。在Visual FoxPro中,数组是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。
[答案]内存中连续的一片存储区域 元素 数组名
7.在Visual FoxPro中,只可以使用____和____数组,数组必须先____后____。
[解析] 本题考查的知识点是Visual FoxPro支持的数组及使用数组的前提。Visual FoxPro只支持一维数组和二维数组,数组必须先定义后使用。
[答案] 一维数;二维数;定义;使用
8.根据表达式值的类型,表达式可分为____、____、____、____;大多数____表达式是带比较运算符的关系表达式。
[解析] 本题考查的知识点是表达式的类型。根据表达式值的类型,表达式可分为数值表达式、字符表达式、日期时间表达式和逻辑表达式。大多数逻辑表达式是带比较运算符的关系表达式;
[答案] 数值表达式、字符表达式、日期时间表达式、逻辑表达式;逻辑
9.数值表达式由____构成,其运算结果是____型数据。
[解析] 本题考查的知识点是数值表达式的概念。在Visual FoxPro中,数值表达式由算术运算符将数值型数据连接起来构成。其运算结果仍然是数值型数据。本题是概念性知识,需要记忆。
[答案] 数值型数据和算术运算符 数值
10.在Visual FoxPro中,算术运算符有多种,按优先等级排列,依次为____、____、____、____。
[解析] 本题考查的知识点是算术运算符及优先等级。在Visual FoxPro中,算术运算符共有6种,按优先等级排列,依次为①括号(形成表达式内的子表达式)②乘方( ^或**)③乘(x)、除(/)、取模(%)④加(+)、减(-)。
[答案] ①括号(形成表达式内的子表达式) ②乘方(^或%)③乘(x)、除(/)、求余(%) ④加(+)、减(-)