C#入门教程:循环语句详解(for、do/while及中断控制)

阿橙
阿橙
发布时间:2026-10-14| 5人浏览过
原创

流程控制是编程语言的通用基石,不同语言仅在语法细节上存在差异。本文聚焦C#循环语句,深入解析 do/while 与 for 的核心用法,并演示嵌套循环在九九乘法表中的应用,最后通过实例厘清 break 与 continue 的执行逻辑。

结果或目标

熟练掌握 C# 中重复执行代码块的三种主要方式,理解何时使用 do/while 而非 while,如何构建 for 计数器循环,以及如何利用 break 和 continue 精确控制程序流。

准备条件

  1. 安装并配置好 .NET SDK 或 Visual Studio 开发环境。
  2. 具备基础的变量声明与数据类型认知。
  3. 了解基本的数学运算逻辑(如利息计算)。

真实操作顺序

第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#编程资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。