为什么两个语句之间的某些程序中有冒号

时间:2018-01-22 14:33:58

标签: basic qb64

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

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

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

1 个答案:

答案 0 :(得分:2)

我是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]

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

相关问题