C#入门教程:循环语句详解(for、do/while及中断控制)
流程控制是编程语言的通用基石,不同语言仅在语法细节上存在差异。本文聚焦C#循环语句,深入解析 do/while 与 for 的核心用法,并演示嵌套循环在九九乘法表中的应用,最后通过实例厘清 break 与 continue 的执行逻辑。
结果或目标
熟练掌握 C# 中重复执行代码块的三种主要方式,理解何时使用 do/while 而非 while,如何构建 for 计数器循环,以及如何利用 break 和 continue 精确控制程序流。
准备条件
- 安装并配置好 .NET SDK 或 Visual Studio 开发环境。
- 具备基础的变量声明与数据类型认知。
- 了解基本的数学运算逻辑(如利息计算)。
真实操作顺序
第1步:处理用户输入验证(do/while 循环)
目的:确保用户输入满足特定条件(如本金必须大于0),若不满足则要求重新输入,直到输入正确为止。
入口:Program.cs 主文件。
动作:
- 声明存款金额
benJ、利率liX、预期收益额muB及年份计数器needY。 - 使用
Console.ReadLine()获取输入并通过Convert.ToDouble()转换类型。 - 构建
do ... while块:关键点在于先执行一次循环体,再判断条件。若输入的muB小于等于本金,提示错误并要求重新输入。
double benJ, liV, muB, liX;
int needY = 0;
Console.WriteLine("请输入您的存款数额:");
benJ = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入存款利率:");
// 将百分比转换为小数,+1用于后续计算本利和
liX = Convert.ToDouble(Console.ReadLine()) / 100.0;
liV = 1 + liX;
Console.WriteLine("请输入预期收益额:");
do
{
muB = Convert.ToDouble(Console.ReadLine());
if (muB <= benJ)
{
Console.WriteLine("预期收益额低于本金,请输入高于本金的收益额:");
}
} while (muB <= benJ); // 注意末尾的分号
第2步:模拟复利增长过程(while 循环)
目的:计算本金需要多少年才能达到预期收益目标。
动作:
- 在
while循环中,只要当前本金benJ小于预期目标muB,就持续执行计算。 - 每次循环将本金乘以增长倍数
liV,并使年份计数needY加一。
while (benJ < muB)
{
benJ *= liV;
++needY;
}
第3步:输出结果与格式化
目的:将计算结果展示给用户,并根据年份数值单复数调整文案。
动作:使用占位符字符串拼接输出,并利用三元运算符 ? : 判断年份是单数还是复数。
if (needY == 0)
Console.WriteLine("高起点,低目标,其实,您根本没必要存款到银行~");
else
Console.WriteLine("每年利息 {3},存入 {0} year{4},您的本金和利息之和 {1} 能够达到预期的目标 {2}。",
needY, benJ, muB, liX, needY > 1 ? "s" : "");
Console.ReadKey();
第4步:执行指定次数循环(for 循环基础)
目的:当需要确切知道循环执行次数时,使用 for 循环更加简洁。
动作:
- 在
for括号内定义三个部分:初始化(int i = 1)、条件(i <= 10)、更新(i++)。 - 循环体内打印计数器值。
for (int i = 1; i <= 10; i++)
{
Console.WriteLine("{0}", i);
}
第5步:嵌套循环应用(九九乘法表)
目的:通过双重 for 循环实现行与列的逻辑控制,输出表格状数据。
动作:
- 外层循环控制行数
i(从1到9)。 - 内层循环控制每行的列数
k,条件为k <= i。 - 内层循环结束后换行。
for (int i = 1; i < 10; i++)
{
Console.Write($"{i}: ");
for (int k = 1; k <= i; k++)
{
Console.Write($"{k}x{i}={i * k} ");
}
Console.WriteLine();
}
第6步:控制循环的中断行为(break vs continue)
目的:根据需求选择完全退出循环还是跳过当前迭代。
操作区分:
- break:直接终止整个循环,程序跳出循环体继续执行后续代码。适用于找到目标或遇到致命错误时需立即退出的场景。
- continue:跳过本次循环剩余的代码,直接进入下一次迭代的条件判断。适用于过滤掉不符合条件的项但仍需继续处理其余项的场景。
// Break示例:当i等于6时,彻底停止循环
int i = 1;
while (i <= 10)
{
if (i == 6) break;
Console.WriteLine(i++);
}
// Continue示例:跳过偶数,只打印奇数
for (i = 1; i <= 10; i++)
{
if (i % 2 == 0) continue;
Console.WriteLine(i);
}
完成判断
编译运行上述代码,若控制台能按预期接收输入、计算出正确的存款年限、完整打印出1-9的九九乘法表,并能正确演示 break 和 continue 的行为差异,即表示已掌握 C# 基础循环控制。
原文有依据的排错
- 符号遗漏:在 do...while 循环的最后,
while (condition)后方必须加上分号;,否则编译器会报错。 - 变量作用域:在 for 循环内部声明的计数器变量(如
for(int i=...)),其生命周期仅限于该循环块内,离开大括号{ }后无法访问。 - 死循环预防:无论是 do-while 还是 while,务必确保循环体内的逻辑能让循环条件最终变为 false,或者包含 break 语句,防止无限占用 CPU 资源。
简要总结
C# 的循环结构提供了灵活的控制流手段。do/while 适合需要至少执行一次的场景;for 适合已知次数的遍历;而 break 与 continue 则是精细化控制循环节奏的关键工具。理解这些结构的底层逻辑,能有效提升代码的健壮性与可读性。
以上就是C#入门循环语句使用的详细内容,更多关于C#编程资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













