1、国家二级 VF 机试(选择题)-试卷 38 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.有关系:电影(名称,导演,类型),查询电影的类型为“动画片”的操作属于关系运算中的( )。(分数:2.00)A.选择B.投影C.连接D.查找2.要退出 Visual Foxpro 返回 Windows,不正确的操作是( )。(分数:2.00)A.用鼠标左按钮单击 Visual Foxpro 标题栏最右面的关闭窗口按钮B.从“文件”下拉菜单中选择“退出”选项C.按 Ctrl+F4 键D.在命令窗口中键入 QUIT 命令,然后回车3.下列函数中,不属于数据
2、类型转换函数的是( )。(分数:2.00)A.CHRTRAN()B.VAL()C.STR()D.ITOC()4.函数 MOD(16,- 11)的返回值为( )。(分数:2.00)A.-6B.-5C.5D.-l5.下列表达式中,不属于 Visual FoxPro 合法的逻辑表达式的是( )。(分数:2.00)A.AT(“x“,“abxy“)B.ab$“abc“C.FOUND()D.DELETED()6.LEFT(“123456789“,LEN(“是多少“)的计算结果是( )。(分数:2.00)A.123456B.456789C.123D.7897.如下程序的输出结果是( )。STORE - 13
3、5 246 to n?“n=“+STR(n,8,3)n= - 123 456?STR(n)(分数:2.00)A.-135B.-135.246C.135D.2468.在下面的表达式中,运算结果为逻辑真的是( )。(分数:2.00)A.EMPTY( SPACE(10)B.LIKE(“edit“,“edi7“)C.AT(“a“,“123abc“)D.EMPTY(NULL)9.与实体完整性无关的索引是( )。(分数:2.00)A.主索引B.惟一索引C.候选索引D.复合索引10.下面关于数据库与表的叙述,错误的是( )。(分数:2.00)A.一个数据库可以包含多个表B.一个表可以属于多个数据库C.一个表
4、只能属于一个数据库D.数据库表从数据库中移去之后成为自由表11.在 Visual Foxpro 中,空值(NULL)的含义是( )。(分数:2.00)A.空格B.空串C.默认值D.不确定(未输入)12.在创建数据库表时,为某个字段定义了有效性规则,这属于数据完整性中的( )。(分数:2.00)A.实体完整性B.域完整性C.参照完整性D.外键约束13.下面关于表和工作区的叙述,正确的是( )。(分数:2.00)A.一个表可以在多个工作区打开B.一个工作区可以打开多个表C.每个表打开后都有两个默认的别名,一个是表名自身,一个是工作区所对应的别名D.单元格是工作表的行和列的交叉部分,是表格的最小单位
5、14.在表 student dbf 中存储了所有学生信息,其中性别为“女”的有 3 条记录,性别为“男”的有 7条记录。下列程序实现的功能是( )。SET TALK OFFCLEARUSE studentLOCATE FOR sex=“女“IFNOT EOF()DISPLAYENDIFUSERETURN(分数:2.00)A.显示第一个性别为“女”的学生信息B.显示所有性别为“女”的学生信息C.显示所有学生信息D.没有结果显示15.在表 student dbf 中存储了所有学生信息,student 表中包含学号、姓名和专业等字段。设已经执行下面两条命令,现在要查询专业为“信息安全”的学生记录,正
6、确的命令是( )。USE studentINDEX ON 专业 TO student(分数:2.00)A.FIND 信息安全B.FIND 专业=“信息安全“C.SEEK 信息安全D.SEEK 专业=“信息安全“16.设数据库中职工表的结构为(职工号,姓名,部门号,出生日期),如果要查询姓名相同的职工信息,则正确的 SQL 语句是( )。(分数:2.00)A.SELECT*FROM 职工 WHERE 姓名 IN; (SELECT 姓名 FROM 职工 GROUP BY 姓名 HAVING COUNT(*)l)B.SELECT*FROM 职工 WHERE 职工号 IN; (SELECT 职工号 F
7、ROM 职工 GROUP BY 姓名 HAVING COUNT(*)1)C.SELECT*FROM 职工 WHERE 姓名 IN; (SELECT 姓名 FROM 职工 GROUP BY 职工号 HAVING COUNT(*)1)D.SELECT*FROM 职工 WHERE 职工号 IN;(SELECT 职工号 FROM 职工 GROUP BY 职工号 HAVINC COUNT(*)1)17.设数据库有如下表:部门(部门号,部门名,负责人,电话)职工(职工号,姓名,部门号,出生日期)在 SQL SELECT 语句中,“部门 LEFT JOIN 职工 ON 部门,部门号=职工部门号”子句表示(
8、)。(分数:2.00)A.不限制部门表中的数据满足连接条件B.不限制职工表中的数据满足连接条件C.对职工和部门表中的数据均不限制满足连接条件D.职丁和部门表中的数据均必须满足连接条件18.使用 SQL 语句完成“将所有职工的工资增加 1000 元”,正确的操作是( )。(分数:2.00)A.UPDATE 职工 SET 工资=工资+1000B.UPDATE 职工 ADD 工资+1000C.UPDATE 职工 SET 工资=1000D.UPDATE 职工 ADD 100019.查询 2018 年的退休人员的职工号和退休日期,正确的 SQL 语句是( )。(分数:2.00)A.SELECT 职工号,
9、退休日期 FROM 退休 WHERE year(退休日期)=2018B.SELECT 职工号,退休日期 FROM 退休 WHERE 退休日期=2018C.SELECT 职工号,退休日期 FROM 退休 WHERE 退休日期=year(2018)D.SELECT 职工号,退休日期 FROM 退休 WHERE year(退休日期)=year( 2018)20.有商品(编号,品名,产地,价格)表,正确插入一条新记录的 SQL 语句是( )。(分数:2.00)A.INSERT INTO 商品 VALUES(0401,台灯,浙江,1800)B.APPEND 商品 VALUES(0401,台灯,浙江,18
10、00)C.APPEND INTO 商品 VALUES(0401,台灯,浙江,1800)D.INSERT 商品 VALUES(0401,台灯,浙江, 1800)21.使用 SQL 语句从表 STUDENT 中查询所有姓王的同学的信息,正确的命令是( )。(分数:2.00)A.SELECT * FROM STUDENT WHERE LEFT (姓名,2)=“王“)B.SELECT* FROM STUDENT WHERE RIGHT (姓名,2)=“王“)C.SELECT * FROM STUDENT WHERE TRIM (姓名,2)=“王“)D.SELECT*FROM STUDENT WHERE
11、 STR(姓名,2)=“王“22.已知吃货表中包含各餐厅菜品的价格,计算各餐厅菜品平均价的 SQL 语句是( )。(分数:2.00)A.SELECT 餐厅,AVG(价格)FROM 吃货 GROUP BY 餐厅B.SELECT 餐厅,AVG(价格)FROM 吃货 OR-DER BY 价格C.SELECT 餐厅,AVG(价格)FROM 吃货 OR-DER BY 餐厅D.SELECT 餐厅,AVG(价格)FROM 吃货 GROUP BY 价格23.从“定价”表中检索价格大于等于 5 并且小于 50 的记录信息,正确的 SQL 命令是( )。(分数:2.00)A.SELECT*FROM 定价 WHER
12、E 价格 BE-TWEEN 5 AND 49B.SELECT*FROM 定价 WHERE 价格 BE- TWEEN 5 TO 49C.SELECT*FROM 定价 WHERE 价格 BE-TWEEN 5 AND 50D.SELECT*FROM 定价 WHERE 价格 BE-TWEEN 5 TO 5024.使用 SQL 语句完成“将所有职工的体重减少 5”,正确的操作是( )。(分数:2.00)A.UPDATE 职工 SET 体重=体重*095B.UPDATE 职工 ADD 体重*095C.UPDATE 职工 SET 体重=体重*005D.UPDATE 职工 ADD 体重*00525.查询有 1
13、0 名以上(含 10 名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。正确的命令是( )。(分数:2.00)A.SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门,部门号=职工部门号:GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY COUNT(职工号)DESCB.SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门部门号=职工,部门号;GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY COUNT(职工号)ASCC.SELECT
14、 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门,部门号=职工部门号;GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY 职工人数 ASCD.SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门部门号=职工部门号;GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY 职工人数 DESC26.有项目(编号,名称,开发单位)表,正确插入一条新记录的 SQL 语句是( )。(分数:2.00)A.INSERT INTO student VALUES(18040l,A
15、 区电子平台,先锋在线)B.APPEND student VALUES(180401,A 区电子平台,先锋在线)C.APPEND INTO student VALUES(180401,A 区电子平台,先锋在线)D.INSERT student VALUES(180401,A 区电子平台,先锋在线)27.使用 SQL 语句从公司表中查询所有名称以北京开头的信息,正确的命令是( )。(分数:2.00)A.SELECT*FROM 公司 WHERE LEFT(名称,4)=“北京“)B.SELECT*FROM 公司 WHERE RIGHT(名称,4)=“北京“)C.SELECT*FROM 公司 WHER
16、E TRIM(名称,4)=“北京“)D.SELECT*FROM 公司 WHERE STR(名称,4)=“北京“28.查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期,正确的命令是( )。(分数:2.00)A.SELECT 部门名,MIN(出生日期)FROM 部门 JOIN 职工 ON 部门部门号=职工,部门号 GROUP BY 部门名B.SELECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工 ON 部门部门号=职工部门号 GROUP BY 部门名C.SELECT 部门名,MIN(出生日期)FROM 部门 JOIN 职工 WHERE 部门部门号=职工部门号
17、 GROUP BY 部门名D.SELECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工 WHERE 部门,部门号=职工部门号 GROUP BY 部门名29.有如下 SQL SELECT 语句 SELECT*FORM 杯子 WHERE 单价 BETWEEN 276 AND 1720 与该语句等价的是( )。(分数:2.00)A.SELECT*FORM 杯子 WHERE 单价=276B.SELECT*FORM 杯子 WHERF 单价 276C.SELECT*FORM 杯子 WHERE 单价=1720AND单价1720AND单价l) B.SELECT*FROM 职工 WHERE 职工号
18、 IN; (SELECT 职工号 FROM 职工 GROUP BY 姓名 HAVING COUNT(*)1)C.SELECT*FROM 职工 WHERE 姓名 IN; (SELECT 姓名 FROM 职工 GROUP BY 职工号 HAVING COUNT(*)1)D.SELECT*FROM 职工 WHERE 职工号 IN;(SELECT 职工号 FROM 职工 GROUP BY 职工号 HAVINC COUNT(*)1)解析:解析:内层查询语句“SELECT 姓名 FROM 职工 GROUP BY 姓名 HAVING COUNT(*)l”按照姓名字段进行分组,统计每一组中记录个数多于 1 的
19、,即为姓名重复的职工,外层查询条件设置为“姓名”字段在内层查询检索出的范围内,即为满足条件的职工信息,A 选项表述正确。17.设数据库有如下表:部门(部门号,部门名,负责人,电话)职工(职工号,姓名,部门号,出生日期)在 SQL SELECT 语句中,“部门 LEFT JOIN 职工 ON 部门,部门号=职工部门号”子句表示( )。(分数:2.00)A.不限制部门表中的数据满足连接条件 B.不限制职工表中的数据满足连接条件C.对职工和部门表中的数据均不限制满足连接条件D.职丁和部门表中的数据均必须满足连接条件解析:解析:SQL SELECT 语句中与连接运算有关语法格式如下: SELECT F
20、ROMINNERI LEFTl RIGHTI FULL JOIN ON JoinCondotion WHERE 其中:INNER JOIN 等价于 JOIN,为普通连接; LEFT JOIN 为左连接; RIGHT JOIN 为右连接; FULL JOIN 为全连接; ON JoinCondotion 指定连接条件。 本题中“部门 LEFT JOIN 职工 ON 部门,部门号=职工部门号”子句使用了左连接,即除满足连接条件的记录出现在查询结果中外,第一个表(本题中为“部门”表)中不满足连接条件的记录也出现在查询结果中,即不限制部门表中的数据满足连接条件,A 选项正确。18.使用 SQL 语句完
21、成“将所有职工的工资增加 1000 元”,正确的操作是( )。(分数:2.00)A.UPDATE 职工 SET 工资=工资+1000 B.UPDATE 职工 ADD 工资+1000C.UPDATE 职工 SET 工资=1000D.UPDATE 职工 ADD 1000解析:解析:SQL 的数据更新命令格式如下: UPDATE TahleName SET ColumnNamel=eExpression1,ColumnName2=eExpression WHERE Condition 本题中需要将所有职工的工资增加 1000 元,应该使用语句“UPDATE 职工 SET 工资=工资+1000”,A
22、选项正确。19.查询 2018 年的退休人员的职工号和退休日期,正确的 SQL 语句是( )。(分数:2.00)A.SELECT 职工号,退休日期 FROM 退休 WHERE year(退休日期)=2018 B.SELECT 职工号,退休日期 FROM 退休 WHERE 退休日期=2018C.SELECT 职工号,退休日期 FROM 退休 WHERE 退休日期=year(2018)D.SELECT 职工号,退休日期 FROM 退休 WHERE year(退休日期)=year( 2018)解析:解析:在 SELECT 语句中查询 2008 年退休的职工,WHERE 条件子句应设置为“WHEREy
23、ear(退休日期)=2018”,故 A 选项正确。20.有商品(编号,品名,产地,价格)表,正确插入一条新记录的 SQL 语句是( )。(分数:2.00)A.INSERT INTO 商品 VALUES(0401,台灯,浙江,1800) B.APPEND 商品 VALUES(0401,台灯,浙江,1800)C.APPEND INTO 商品 VALUES(0401,台灯,浙江,1800)D.INSERT 商品 VALUES(0401,台灯,浙江, 1800)解析:解析:SQL 中向表中插入一条记录的格式为: INSERT INTO dbf_name(fnamel,fname2,) VALUES(
24、eExpression1,eExpression2,) 本题中向商品(编号,品名,产地,价格)表中插入一条记录,只有 A 选项正确。21.使用 SQL 语句从表 STUDENT 中查询所有姓王的同学的信息,正确的命令是( )。(分数:2.00)A.SELECT * FROM STUDENT WHERE LEFT (姓名,2)=“王“) B.SELECT* FROM STUDENT WHERE RIGHT (姓名,2)=“王“)C.SELECT * FROM STUDENT WHERE TRIM (姓名,2)=“王“)D.SELECT*FROM STUDENT WHERE STR(姓名,2)=“
25、王“解析:解析:本题考查简单查询条件的书写,表示姓王的同学,可以使用 LEFT 函数,因为一个汉字占 2个字符,所以 SELECT 语句中的 WHERE 子句应书写成:LEFT(姓名,2)=“王“,故 A 选项正确。22.已知吃货表中包含各餐厅菜品的价格,计算各餐厅菜品平均价的 SQL 语句是( )。(分数:2.00)A.SELECT 餐厅,AVG(价格)FROM 吃货 GROUP BY 餐厅 B.SELECT 餐厅,AVG(价格)FROM 吃货 OR-DER BY 价格C.SELECT 餐厅,AVG(价格)FROM 吃货 OR-DER BY 餐厅D.SELECT 餐厅,AVG(价格)FROM
26、 吃货 GROUP BY 价格解析:解析:若要计算各餐厅菜品平均价,在查询语句中应该使用 GROUP BY 短语对各餐厅进行分组,然后使用 AVC 函数计算各餐厅菜品的平均单价,故 A 选项书写正确。23.从“定价”表中检索价格大于等于 5 并且小于 50 的记录信息,正确的 SQL 命令是( )。(分数:2.00)A.SELECT*FROM 定价 WHERE 价格 BE-TWEEN 5 AND 49 B.SELECT*FROM 定价 WHERE 价格 BE- TWEEN 5 TO 49C.SELECT*FROM 定价 WHERE 价格 BE-TWEEN 5 AND 50D.SELECT*FR
27、OM 定价 WHERE 价格 BE-TWEEN 5 TO 50解析:解析:本题查询的条件是值在什么范围之内,可以使用 BETWEENAND,这里 BETWEENAND 的意思是在“和之间(含两端数据)”,但是题目中是检索价格大于等于 5 并且小于 50 的记录信息,不包括右侧端点值 50,所以书写条件是应该使用“BETWEEN 5 AND 49”,故 A 选项表述正确。24.使用 SQL 语句完成“将所有职工的体重减少 5”,正确的操作是( )。(分数:2.00)A.UPDATE 职工 SET 体重=体重*095 B.UPDATE 职工 ADD 体重*095C.UPDATE 职工 SET 体重
28、=体重*005D.UPDATE 职工 ADD 体重*005解析:解析:SQL 的数据更新命令格式如下: UPDATE TableName SET ColumnName1=eExpression1,ColumnName2=eExpression WHERE Condition 本题中需要将所有职工的体重减少 5,SET 语句应表述成:体重=体重*095,A 选项符合题意。25.查询有 10 名以上(含 10 名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。正确的命令是( )。(分数:2.00)A.SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHE
29、RE 部门,部门号=职工部门号:GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY COUNT(职工号)DESC B.SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门部门号=职工,部门号;GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY COUNT(职工号)ASCC.SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门,部门号=职工部门号;GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY 职工人数 ASCD.S
30、ELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门部门号=职工部门号;GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY 职工人数 DESC解析:解析:本题要查询有 10 名以上(含 10 名)职工的部门信息,首先需要按照部门名进行分组,并使用HAVINC 子句为分组指定相应的条件,分组之后要使用 COUNT 函数统计每个部门职工的人数,并使用 ORDER BY 短语对每组的人数按照降序排列,故 A 选项书写正确。26.有项目(编号,名称,开发单位)表,正确插入一条新记录的 SQL 语句是( )。(分数:2.00)A.I
31、NSERT INTO student VALUES(18040l,A 区电子平台,先锋在线) B.APPEND student VALUES(180401,A 区电子平台,先锋在线)C.APPEND INTO student VALUES(180401,A 区电子平台,先锋在线)D.INSERT student VALUES(180401,A 区电子平台,先锋在线)解析:解析:SQL 中向表中插入一条记录的格式为: INSERT INTO dbfname(fnamel,fname2,) VALUES( eExpression1,eExpression2,) 本题中向项目(编号,名称,开发单位)
32、表中插入一条记录,只有 A 选项正确。27.使用 SQL 语句从公司表中查询所有名称以北京开头的信息,正确的命令是( )。(分数:2.00)A.SELECT*FROM 公司 WHERE LEFT(名称,4)=“北京“) B.SELECT*FROM 公司 WHERE RIGHT(名称,4)=“北京“)C.SELECT*FROM 公司 WHERE TRIM(名称,4)=“北京“)D.SELECT*FROM 公司 WHERE STR(名称,4)=“北京“解析:解析:本题考查简单查询条件的书写,表示“北京”开头的信息,可以使用 LEFT 函数,因为一个汉字占 2 个字符,所以 SELECT 语句中的
33、WHERE 子句应书写成:LEFT(名称,4)=”北京”,故 A 选项正确。28.查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期,正确的命令是( )。(分数:2.00)A.SELECT 部门名,MIN(出生日期)FROM 部门 JOIN 职工 ON 部门部门号=职工,部门号 GROUP BY 部门名B.SELECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工 ON 部门部门号=职工部门号 GROUP BY 部门名C.SELECT 部门名,MIN(出生日期)FROM 部门 JOIN 职工 WHERE 部门部门号=职工部门号 GROUP BY 部门名D.SE
34、LECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工 WHERE 部门,部门号=职工部门号 GROUP BY 部门名解析:解析:SQL SELECT 语句中与连接运算有关语法格式如下: SELECT FROM Table INNER I LEFT I RI(;HT 1 FULL JOIN Table ON JoinCondotion WHERE_ 其中:INNER JOIN 等价于 JOIN,为普通连接; LEFT JOIN 为左连接; RIGHT JOIN 为右连接; FULL JOIN 为全连接; ON JoinCondotion 指定连接条件、 本题中使用关键字 JOIN
35、连接,则连接条件应使用 ON 指定,所以 C、D 两选项语法有错误。要查询每个部门年龄最长者,应使用 MIN(出生日期)获得年龄最大的信息,故 A 选项正确。29.有如下 SQL SELECT 语句 SELECT*FORM 杯子 WHERE 单价 BETWEEN 276 AND 1720 与该语句等价的是( )。(分数:2.00)A.SELECT*FORM 杯子 WHERE 单价=276 B.SELECT*FORM 杯子 WHERF 单价 276C.SELECT*FORM 杯子 WHERE 单价=1720AND单价1720AND单价=AND=”,由此可知 A 选项正确。30.SQL 语句中条件
36、语句的关键字是( )。(分数:2.00)A.WHERE B.WHILEC.FORD.CONDITION解析:解析:SQL 语句中条件语句的关键字是 WHERE,A 选项正确。31.在查询设计器中,实现选择操作的选项卡是( )。(分数:2.00)A.“筛选”选项卡 B.“字段”选项卡C.“杂项”选项卡D.“联接”选项卡解析:解析:选择操作是指从指定数据源中选择满足条件的记录显示,查询设计器中的“筛选”选项卡对应于 WHERE 语句,用于指定查询条件,故 A 选项正确。32.下面关于视图的叙述,错误的是( )。(分数:2.00)A.视图是操作表的一种手段,通过视图可以查询表,通过视图也可以更新表B
37、.视图设计器的结果是将视图以VCX 为扩展名的文件形式保存在磁盘上 C.在视图设计器中没有“查询去向”的问题D.只有存在打开的数据库时才能创建视图解析:解析:视图是操作表的一种手段,通过视图可以查询表,通过视图也可以更新表,A 选项叙述正确;在视图设计器中没有“查询去向”的问题,C 选项叙述正确;视图是数据库中的一个特有功能,只有在包含视图的数据库打开时,才能使用视图,D 选项叙述正确;查询没计器的结果是将查询以QPR 为扩展名的文件形式保存在磁盘中,而视图设计完成后,在磁盘上找不到类似的文件,视图的结果保存在数据库中,故 B 选项叙述错误。33.下面关于查询的叙述,错误的是( )。(分数:2
38、.00)A.查询设计器的结果是将查询以QPR 为扩展名的文件形式保存在磁盘上B.查询文件是一种表文件 C.可以用 DO 命令执行一个查询D.可以用 CREATE QUERY 命令打开查询设计器建立查询解析:解析:查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,诸如浏览器、报表、表、标签等。一般设计一个查询总要反复使用,查询是以扩展名为QPR 的文件保存在磁盘上的,这是一个文本文件,故 B 选项叙述错误。34.在 Visual FoxPro 中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是( )。(分数:2.00)A.LOCAL B.P
39、UBLICC.PRIVATED.在程序中直接使用内存变量解析:解析:全局变量(使用 PUBLIC 定义的变量)是指在任何模块中都可以使用的变量,又称为公共变量;使用 PRIVATE 命令定义的变量,可以隐藏主程序中可能存在的变量,使得这些变量在子程序中暂时无效;局部变量(使用 LOCAL 定义的变量)只能在建立它的模块中使用,不能在上层或下层模块中使用,当建立它的模块程序运行结束时,局部变量自动释放。故本题 A 选项正确。35.假设之前没有定义变量 x,那么下面程序代码的输出结果是( )。private x?x(分数:2.00)A.OB.FC.空串D.运行出错,变量 x 没有定义 解析:解析:
40、使用 PRIVATE 命令并不能建立内存变量,它的作用是:隐藏指定的在上层模块中可能已经存在的内存变量,使得这些变量在当前模块程序中暂时无效,所以本题程序中显示变量 x 的值会得到一个运行出错的提示信息,D 选项正确。36.下面程序的运行结果是( )。 s=0 FOR i=1 T0 20 IFi%5!=0 LOOP ENDIF s=s+i NEXT ?S(分数:2.00)A.0B.10C.50 D.160解析:解析:IF - ENDIF 语句中的 LOOP 子句表示直接将程序返回到 FOR - ENDFOR 语句,并重新计算条件值。本题循环变量 i 的初始值为 1,终止值为 20,IF 语句中
41、判断循环变量 i 的值是否能被 5 整除,若能够被 5 整除,则将变量 i 累加到 s 中,最终 s 的结果为 5+ 10+15 +20=50,C 选项正确。37.能够将表单的 Visible 属性设置为T,并使表单成为活动对象的方法是( )。(分数:2.00)A.Show B.HideC.ReleaseD.SetFoCus解析:解析:一般情况下,运行表单时,在产生表单对象后,将凋用表单对象的 Show 方法显示表单,如果包含 NOSHOW 关键字,表单运行时将不显示,直至表单对象的 Visible 属性被设置为T,或者调用了Show 方法,故 A 选项正确。38.下面对控件的描述正确的是(
42、)。(分数:2.00)A.用户可以在列表框中进行多重选择 B.用户可以在组合框中进行多重选择C.用户可以在一个选项组中多个选项按钮D.用户对一个表单内的一组复选框中只能选中其中一个解析:解析:列表框(ListBox)提供一组条目,用户可以从中选择一个或多个条目,A 选项叙述正确;组合框( ComboBox)与列表框类似,也是用于提供一组条目供用户从中选择,组合框不提供多重选择的功能,没有 MultiSelect 属性,所以 B 选项错误;选项组( OptionGroup)又称为选项按钮组,是包含选项按钮的一种容器,一个选项组中往往包含若干个选项按钮,但用户只能从中选择一个按钮,C 选项叙述错误
43、;复选框( CheckBox)用于标记一个两值状态,一个表单内的一组复选框中可以进行多重选择,D 选项叙述错误。39.在定义菜单项时,若其对应功能需南一段程序完成,则应在“结果”列上选择( )。(分数:2.00)A.命令B.填充名称C.过程 D.子菜单解析:解析:“菜单设计器”的“结果”列用于指定当用户选择该菜单项时的动作。单击该列将出现一个下拉列表框,有命令、过程、子菜单和填充名称或菜单项#等四种选择。 命令:选择此选项,列表框右侧会出现一个文本框,可以在文本框内输入一条具体的命令,当选择该菜单项时,将执行这条命令。 过程:选择此选项,列表框右侧会出现“创建”命令按钮,单击“创建”按钮将打开
44、一个文本编辑窗口,可以在其中输入和编辑过程代码。 子菜单:选择此选项,列表框右侧会出现“创建”或“编辑”命令按钮,单击“创建”或“编辑”按钮,“菜单设计器”窗口就切换到子菜单页,可以在其中定义子菜单。 填充名称或菜单项#:选择此选项,列表框右侧会出现一个文本框,可以在文本框内输入菜单项的内部名称或序号。故 C 选项正确。40.在菜单设计器环境下,选择“显示”菜单中的“常规选项”命令能够打开“常规选项”对话框。下面不能在“常规选项”对话框中进行的操作是( )。(分数:2.00)A.为条形菜单中的各菜单选项指定一个缺省过程代码B.为弹出式菜单中的各菜单选项指定一个缺省过程代码 C.指定当前定义的菜单在系统菜单中的位置D.指定当前定义的菜单将被添加到一个顶层表单里解析:解析:选择“显示”菜单中“常规选项”命令,就会打开“常规选项”对话框,如下图所示: