分号小结(部分)

VB中分号用法详解

分号小结(部分)

今天老师讲了一个程序,发现其中有分号,很疑惑,很显然vb中到现在为止用分号的很少,结尾的地方用标点的也很少,于是总结了下分号在vb中的用法,很显然不全,请多多指教。

说到分号的用法首先说到现在为止我遇到的都只是在print语句中用到,其作用就是光标定位在上一个显示的字符之后。当然很可能是我孤陋寡闻了,或许还有很多的地方用到,只是我不知道。望眼欲穿的渴望有人来补充这点知识。

首先有几个是必须要用的地方,那就是Tab(n)函数和Spc(n)函数,在使用这两个函数的时候一般也是在print语句中使用,必须要用分号。

在一个就是分号使用的时候就是用的分号的功能,作用是将光标定位在上一个显示的字符之后。比如:

Private Sub Form_click()

FontSize = 11

Print Tab(31); "九九乘法表"

For i = 1 To 9

For j = 1 To i

Print Tab((j - 1) * 8); i & "*"& j & "=" & i * j;

Next j

Next i

End Sub

这时候程序中得红色分号起到的作用即是如此,如果将分号去掉,vb默认的就是每行输出一条结果对比如下:

这是用分号产生的效果。

这是不用符号或者用冒号,逗号等产生的效果

还有比如print a,b 和print a;b

这样的输出用逗号隔开则输出项按照标准输出(分区输出)格式显示,即每隔14列为一个输出区,逗号的表达式值将在下一个输出区显示;而使用分号隔开,则按紧凑格式输出,即后一项紧跟前一项输出。这时候可根据具体情况选择使用。显示格式如下

Option Explicit

Private Sub Form_click()
Print "a", " b"
Print "a"; " b"

End Sub

这是一个非常好的问题! 我们来详细解释一下你提到的: > `for (int i = 1; ; )` 后面为什么有两个分号? --- ### ✅ 回答:这是 C++/C/Java 等语言中 `for` 循环语法的一部分 #### 📌 标准 `for` 循环结构是: ```cpp for (初始化; 条件判断; 更新操作) ``` 这三个部分用 **两个分号** 分隔,格式为: ```cpp for (A; B; C) ``` - A:初始化(如 `int i = 1`) - B:循环继续的条件(如 `i <= 10`) - C:每次循环后的更新操作(如 `i++`) 所以即使某个部分为空,**分号仍然必须保留**,用来“占位”。 --- ### 🔍 示例分析 ```cpp for (int i = 1; ; i++) ``` 拆解如下: | 部分 | 内容 | 说明 | |------|------|------| | 初始化 | `int i = 1` | 定义并初始化变量 i 为 1 ✅ | | 条件判断 | (空) | 没写 → 默认为“真” → 无限循环 ⚠️ | | 更新操作 | `i++` | 每次循环后 i 加 1 ✅ | ✅ 所以这个循环会一直执行,直到遇到 `break` 或其他跳出语句。 --- ### ❓ 为什么允许中间条件为空? 有时候我们不知道确切的结束条件,比如本题中我们要根据 **某一项的值 ≤ eps** 才停止。这种情况下无法在 `for` 的条件部分写出明确的 `i <= n`,所以我们写成: ```cpp for (int i = 1; ; i++) { double ai = 1.0 / (i * (2*i - 1)); sum += ai; if (ai <= eps) { break; // 在循环体内决定何时退出 } } ``` 这就是典型的“无限循环 + break 控制退出”的写法。 --- ### ✅ 更多类似写法举例 | 写法 | 含义 | |------|------| | `for (;;)` | 完全省略三部分 → 死循环,等价于 `while(true)` | | `for (; i < 10; )` | 只保留条件,初始化和更新在外部处理 | | `for (int i = 0; i < n; ++i)` | 最常见的标准形式 | --- ### ❌ 常见错误:少写分号 ```cpp // 错误!缺少分号 for (int i = 0, i < 10, i++) // 编译错误:应该用分号,不是逗号 ``` 记住口诀: > `for` 循环三段式,**两个分号不能少** --- ### 💡 小结 | 问题 | 回答 | |------|------| | 为什么有两个分号? | 是 `for(初始化; 条件; 更新)` 的语法要求 | | 中间可以为空吗? | 可以!表示无终止条件(即永远为真) | | 这样写安全吗? | 安全,只要在循环体内有 `break` 防止死循环即可 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值