问题 单项选择题

下面的程序的功能是将11到2011之间的素数插入数据库prime,程序中的错误语句是______。
create table prime(dat f)
n=11
do while n<=2011
f=0
i=2
do while i<=int(sqrt(n))
if mod(n,i)<>0
i=i+1
loop
else
f=1
exit
endif
enddo
if f=0
insert to prime values(n)
endif
n=n+1
enddo

A.do while n<=2011
B.insert to prime values(n)
C.i=i+1
D.exit

答案

参考答案:B

解析: IF-ENDIF是常用的条件语句,如果<条件>表达式的值是真(.T.)则运行<语句序列1>,然后运行ENDIF后的语句;否则跳过IF和ENDIF间的<语句序列1>,直接运行ENDIF后的语句。DO WHILE-ENDDO是循环结构的一种,运行该语句时,先判断<条件>是否为真,如果是真则运行DO WHILE与ENDDO间的循环体,当运行到ENDDO时,再返回DO WHILE重新判断循环条件是否为真,确定是否再次运行循环体。若条件为假则结束循环语句运行ENDDO后的语句。本题程序的功能是将11到2011之间的素数插入数据库prime,其中程序段insert to prime values(n)错误,插入数据的语句应该是insert into prime values(n)。

填空题
单项选择题