【程序说明】 如果在命令窗口输入并执行命令“LIST名称”后在主窗口中显示:记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电 线假定名称字段为字符型、宽度为6。【程序】GO 2SCAN NEXT 4 FOR LEFT (名称,2)=“电” IF RIGHT (名称,2)=“线” LOOP ENDIF ?? 名称ENDSCAN
单选题
程序段的输出结果为 ______。
【正确答案】
C
【答案解析】解析:本程序考查对SCAN语句的掌握和理解。GO 2是指指针移动到第二条记录,SCAN语句接下来扫描下面的四条记录,根据SCAN语句的循环条件LEFT(名称,2)=“电”可知,只要是名称字段中第一个字是“电”就执行循环语句;在SCAN循环语句内部IF RIGHT (名称,2)=“线” LOOP ENDIF 表示如果记录的最后一个字是“线”就跳到循环的开始。也就是说程序从第二条记录开始查找第一个字是“电”并且最后一个字不是“线”的记录来显示,符合显示条件的只有“电冰箱”和“电线”两条记录;这道题容易出错的是误以为“电线”最后一个字是“线”,因为字段宽度是6,所以从右边开始两个字节是空格。
单选题
若将“LOOP”改为“EXIT”,则程序段的输出结果为 ______。
【正确答案】
D
【答案解析】解析:当扫描第三条记录时,进入IF语句后,碰到EXIT就直接结束SCAN …ENDSCAN 循环,不执行“??名称”语句,所以结果无任何显示。
单选题
若将“LOOP”改为“EXIT”,且“?? 名称”放在“ENDSCAN”的下方,则程序段的输出结果为 ______。
【正确答案】
A
【答案解析】解析:本题与第(17)题的不同之处,在于“??名称”语句的位置不同,当扫描到第三条记录时,结束SCAN… ENDSCAN 循环后,还要执行“?? 名称”语句,所以结果显示电话线。
单选题
若将“LOOP”删除,“?? 名称”放在IF… ENDIF语句中,即取代“LOOP”的位置,则程序的输出结果为______ 。
【正确答案】
C
【答案解析】解析:经分析第三条记录和第五条记录满足条件,所以显示结果是电话线电线。