回 帖 发 新 帖 刷新版面

主题:[讨论]对两个qb试题的疑问~

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个回复)

沙发

都能出现死循环!
如:
  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 跳出死循环。
对于这样的问题,我建议你自己实际运行一下程序,就知道结果啦。

板凳

谢谢楼上的回复,这个问题的实际情况我也知道,也早就上机实践过
现在问题的关键是根据书上和运行的结果有出入,对于题目的答案而言到底应该根据哪一点,是照书上的5题选c,还是根据实际运行选d呢?

3 楼

是啊,
就象小时候学的语文《小马过河》,
到底是深是浅,自己去是是看

4 楼

你们有没有看清楚我说的话~
我问的不是这个题目的答案
而是到底选择答案依据什么?是书上的明文还是实际运行的结果。
看看清楚啊

5 楼

樓主的意思應該是第五題的答案是C,
而第十題答案是A,
但是當第五題答案C成立後,
第十題FOR的增量就不能為0,
所以第十題答案是C。
這樣就有爭議了

6 楼

我还是认为一切应以实践结果为准,编者也有可能犯点小错误吧.

7 楼

该题是从使用者的角度出发来考虑问题的。FOR的步长当然不能是0,FOR和WHILE都不能出现死循环,若出现了,程序通不过。

8 楼

同意6楼的说法。这里我引用他的话再重复一遍:

“我还是认为一切应以实践结果为准,编者也有可能犯点小错误吧.”

其实QB本身也有些小错误。

9 楼

FOR不会出现死循环,当STEP为0时计算机会自动按1处理。

10 楼


[em1]当然听QB的了!!废话!!!!!!!编者也不是神人!!!!!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册