问题
单项选择题
如果在命令窗口执行命令:LIST名称,在主窗口中显示:记录行 名称1 电视机2 计算机3 电扇线4 电脑连线5 电话线假定名称字段为字符型,宽度为8,那么下列程序段的输出结果是( )。GO2SCAN NEXT 4 FOR LEFT(名称,2)="电" IF RIGHT(名称,2)="线" EXIT ENDIFENDSCAN名称
A.电视机
B.电扇线
C.电脑连线
D.电话线
答案
参考答案:C
解析: 首先将指针指向第二条记录,然后执行SCAN循环。SCAN语句的格式是: SCAN[<范围>)[FOR<条件1>][WHILE<条件2>] 循环体 执行该语句时,指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。题干中的循环条件是LEFT(名称,2)="电",即表示第一个字为“电”字的记录(因为一个汉字占用两个字符),所以指针指向了第3条记录,即“电扇线”的记录。接着判断RIGHT(名称,2)是否为“线”,即最后一个字为“线”,如果是则跳出循环体,而第三条记录不符合条件,则继续执行循环体,指针指向第四条记录,判断RIGHT(名称,2)为“线”,所以循环结束,最后显示的是“电扇线”。 本题要注意的是第3条记录“电扇线”,因为字段宽度为8,而“电扇线”只占6个字节,因此在使用RIGHT(名称,2)得到的结果是最后两个空字节,而不是“线”字。