【问题标题】:Why is there a colon in some Programs between 2 statements为什么某些程序中2条语句之间有冒号
【发布时间】:2018-01-22 14:33:58
【问题描述】:

我正在阅读 QB64 教程,看到了以下用于打印从 1 到 10 的数字的程序结构 →

FOR x = 1 to 10: PRINT x: NEXT x

我从未见过这样的QB64程序。那些冒号: 是什么意思?它们有什么不同吗?

【问题讨论】:

  • 你不能用谷歌搜索一下吗?我已经在这里找到了一些看起来很有用的东西qb64.net/wiki/index.php/Colon
  • 至少从 70 年代后期开始,在源自 MS 的 BASIC 中使用冒号作为语句分隔符已成为标准;我记得在 Apple II Integer BASIC 上这样做过。

标签: basic qb64


【解决方案1】:

QB64 IDE 中,您不需要像在其他语言中那样使用特殊字符来终止语句。这也意味着您不能将语句扩展为多行。考虑以下IF...THEN...ELSE... 代码块。

IF 
x = 1 
THEN
'Do something
...

这不会被解释,因为每个新行都会终止语句。上面的代码会被解析为:

Statement 1: IF [Incomplete Statement]
Statement 2: x = 1 [assign value 1 to x]
Statement 3: THEN [No such statement]
...

这意味着您必须将单个语句限制在一行上。

但是,相反,您允许在一行中使用多个语句。在这种情况下,由于语句不能以新行结束,您必须以冒号 : 结束它们。在你的情况下,

FOR x = 1 to 10: PRINT x: NEXT x

这将被解析为:

Statement 1: FOR x = 1 to 10 [Initialize a value and set a condition for a FOR...NEXT loop]
Statement 2: PRINT x [Print the value]
Statement 3: NEXT x [Close the FOR...NEXT code block, and iterate the variable]

使用冒号或换行来终止没有显着差异,但就个人而言,我建议使用换行,因为它们使代码看起来更清晰,更易于阅读。但是,有时当有多个简短且不太重要的语句一个接一个时,您可以将它们与冒号组合在一行中,以使您的代码更短且简洁。

【讨论】:

    猜你喜欢
    • 2022-07-16
    • 2016-10-16
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2020-07-13
    • 2019-01-27
    • 1970-01-01
    相关资源
    最近更新 更多