主题:[讨论]对两个qb试题的疑问~
pzh1977
[专家分:0] 发布于 2005-01-12 08:21:00
5.在FOR循环语句中,循环变量的增量(循环步长)( )
A)只能为正数 B)只能为整数
C)不等于0的整数、 小数 D)任何数
10.下列关于FOR循环和DO循环是否能出现死循环的论述中,正确的是( )
A)FOR循环和DO循环都能出现死循环
B)FOR循环和DO循环都不能出现死循环
C)只有DO循环能出现死循环
D)只有FOR循环能出现死循环
这两个题目的答案好象具有关联性
如果5题选c,那么10题应该选c
根据是:qb教科书(谭浩强著 电子工业出版社)p125
(4)循环变量初值和终值可以是正值、负值或零。步长可以是正值或负值。他们可以是整数或小数。
但如果参照
(5)当步长为0时,循环永不终止。因为循环变量始终不改变,始终等于初值,而不会超过终值。
这样的话5题选d,那么10题就选a了
到底选什么呢,各位指定一下~
回复列表 (共12个回复)
沙发
飞鸟12 [专家分:2830] 发布于 2005-01-12 13:14:00
都能出现死循环!
如:
i = 0
DO
PRINT i
i = i + 1
LOOP
和
i = 0
FOR j = 1 TO 2 STEP 0
PRINT i
i = i + 1
NEXT j
和
i = 0
FOR j = 1 TO 2 STEP 1
PRINT i
i = i + 1
j = j - 1 '或j = 1
NEXT j
的结果都一样:都是死循环!!!
注:死循环后,按Ctrl+Break 跳出死循环。
对于这样的问题,我建议你自己实际运行一下程序,就知道结果啦。
板凳
pzh1977 [专家分:0] 发布于 2005-01-13 09:07:00
谢谢楼上的回复,这个问题的实际情况我也知道,也早就上机实践过
现在问题的关键是根据书上和运行的结果有出入,对于题目的答案而言到底应该根据哪一点,是照书上的5题选c,还是根据实际运行选d呢?
3 楼
qb45 [专家分:2880] 发布于 2005-01-13 14:33:00
是啊,
就象小时候学的语文《小马过河》,
到底是深是浅,自己去是是看
4 楼
pzh1977 [专家分:0] 发布于 2005-01-18 16:52:00
你们有没有看清楚我说的话~
我问的不是这个题目的答案
而是到底选择答案依据什么?是书上的明文还是实际运行的结果。
看看清楚啊
5 楼
tttalk19 [专家分:0] 发布于 2005-01-19 13:46:00
樓主的意思應該是第五題的答案是C,
而第十題答案是A,
但是當第五題答案C成立後,
第十題FOR的增量就不能為0,
所以第十題答案是C。
這樣就有爭議了
6 楼
飞鸟12 [专家分:2830] 发布于 2005-03-13 18:08:00
我还是认为一切应以实践结果为准,编者也有可能犯点小错误吧.
7 楼
wglnb [专家分:0] 发布于 2005-03-16 14:52:00
该题是从使用者的角度出发来考虑问题的。FOR的步长当然不能是0,FOR和WHILE都不能出现死循环,若出现了,程序通不过。
8 楼
staa [专家分:3690] 发布于 2005-03-17 22:44:00
同意6楼的说法。这里我引用他的话再重复一遍:
“我还是认为一切应以实践结果为准,编者也有可能犯点小错误吧.”
其实QB本身也有些小错误。
9 楼
qbqb [专家分:400] 发布于 2005-03-19 09:00:00
FOR不会出现死循环,当STEP为0时计算机会自动按1处理。
10 楼
SDFF [专家分:50] 发布于 2006-07-20 15:27:00
[em1]当然听QB的了!!废话!!!!!!!编者也不是神人!!!!!!!
我来回复