如果在命令窗口执行命令:LIST名称,主窗口中显示: 记录行 名称 1 电视机 2 计算机 3 电扇线 4 电脑连线 5 电话线 假定名称字段为字符型,宽度为8,那么下面程序段的输出结果是( )。 GO 2 SCAN

admin2017-03-28  36

问题 如果在命令窗口执行命令:LIST名称,主窗口中显示:
记录行  名称
1    电视机
2    计算机
3    电扇线
4    电脑连线
5    电话线
假定名称字段为字符型,宽度为8,那么下面程序段的输出结果是(    )。
GO 2
SCAN NEXT 4 FOR LEFT(名称,2)="电"
IF RIGHT(名称,2)="线"
EXIT
ENDIF
ENDSCAN
?名称

选项 A、电视机
B、电扇线
C、电脑连线
D、电话线

答案C

解析 程序中,首先将指针指向第二条记录,然后执行SCAN循环。SCAN语句的格式是:
SCAN[<范围>][FOIk条件1>][WHILE<条件2>]
循环体
执行该语句时,指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。题干中的范围是从第2条记录到第5条记录。循环条件是LEFT(名称,2)=”电”,即表示第一个字为“电”字的记录(因为一个汉字占用两个字符),如果满足条件,则进入循环体,接着判断RIGHT(名称,2)是否为“线”,如果是则跳出循环体,输出该记录的“名称”;否则记录指针指向下一条记录,重新开始循环。通过分析,第4条记录恰好符合条件,循环结束,最后显示的是“电脑连线”。
本题要注意的是第3条记录“电扇线”,因为字段宽度为8,而“电扇线”只占6个字节,因此在使用RIGHT(名称,2)得到的结果是最后两个空字节,而不是“线”字。
转载请注明原文地址:https://kaotiyun.com/show/tSIp777K
0

最新回复(0)