正在加载...

for 循环

for (int n = 1; n <= 3; n = n + 1) 把 n 从 1 起算,只要 n 小于或等于 3 就继续,并在每轮之后给 n 加 1。花括号里,Console.WriteLine(n) 写出当前数字。屏幕显示三行:1,再 2,再 3。请保留公共类名 Pine。

for 行上坐着三部分

打开 Pine 文件。类名保持 Pine。本页不重命名类型。若仍有 int choice 行,请删掉,包括上一页的每个 switch、case、break 和 default。若仍有 bool ready 请删。删掉任何 ReadLine 行。你保留的文件不等待输入,没有 choice,也没有 switch。屏幕只由 for 花括号里的写出语句写出。

在 Main 里写出循环:
for (int n = 1; n <= 3; n = n + 1) {
Console.WriteLine(n);
}
单词 for 全小写。括号里坐着三件事,用分号隔开。第一:int n = 1; — 做一个整型名 n,从 1 起。第二:n <= 3 — 该条件为 true 时继续。第三:n = n + 1 — 每走完花括号一轮,把 n 存成多一。花括号包住循环体。Console.WriteLine(n); 写出当前的 n 并结束该行。那条写出语句里 n 两侧没有引号,所以出现的是数字,不是字母 n。请保存文件。

你保留的文件

保持这种教学形状。一个 for,括号里是起始、条件与步进。一个名 n,从 1 起。一个条件 n <= 3。一个步进 n = n + 1。花括号里一条写出语句,写出裸名。没有 choice 行,没有 switch,n 两侧也没有引号。

n from 1 to 3

csharp
using System;

public class Pine
{
    public static void Main()
    {
        for (int n = 1; n <= 3; n = n + 1)
        {
            Console.WriteLine(n);
        }
    }
}

从上往下读。using System; 准备短名。public class Pine 命名类型。public static void Main() 是运行时入口。for (int n = 1; n <= 3; n = n + 1) 布置那三件事。Console.WriteLine(n); 每次循环体运行时写出当前的 n。屏幕三行:1,再 2,再 3。无引号。你保留的文件里没有 int choice 行。

用 dotnet run 运行。程序写出三行然后结束。它不等你输入。循环本来就写在文件里。若 dotnet run 卡住,说明还有 ReadLine,删掉它,保留上面的 for。屏幕第一行是 1,第二行是 2,第三行是 3。若屏幕是 mid 或 none,说明 switch 文件还在,删掉 choice 那个 switch。若每行都是字母 n,说明写出语句给名字加了引号:Console.WriteLine("n");。那些引号标的是字母,计数器不会被写出。若屏幕是字母 for,说明写出语句给这个词加了引号。不要因为屏幕行不对就重装 .NET SDK。

按顺序走完一整轮。n 从 1 起。条件 n <= 3 为 true,于是循环体运行,Console.WriteLine(n) 写出 1。接着步进 n = n + 1 存成 2。条件仍为 true,循环体写出 2。步进存成 3。条件仍为 true,循环体写出 3。步进存成 4。此时 n <= 3 为 false,循环结束。没有别的东西再写。你不会用手写三条分开的写出语句;同一循环体带着变化中的 n 跑三遍。起始只在开头跑一次。条件在每轮之前检查。步进在每轮之后执行。那三件事留在括号里;写出这件事留在花括号里。

把上限抬高

只改条件,让循环走得更远:for (int n = 1; n <= 5; n = n + 1)。起始和步进保持原样。现在屏幕应显示五行:1、2、3、4 和 5。

n from 1 to 5

csharp
using System;

public class Pine
{
    public static void Main()
    {
        for (int n = 1; n <= 5; n = n + 1)
        {
            Console.WriteLine(n);
        }
    }
}

这是第二个文件,不是你保留的文件。运行 dotnet run。屏幕显示五行。你没有重写写出语句——只改了 for 括号里的条件。看过五行之后,改回保留文件:n <= 3 以及同一循环体。两个版本都是合法 C#。它们用同一个 for 形状、不同的停止点来教。

再读一遍五行这次运行。n 从 1 起。每次条件为 true 就写出当前的 n,再加 1。当 n 变成 6 时,条件失败,循环停下。本演示里数字 6 不会出现在屏幕上,因为循环体只在条件仍为 true 时运行。

让循环保持清楚的规则

三部分外侧的括号是必需的。写成 for int n = 1; n <= 3; n = n + 1 { … } 没有外层括号时,build 会报错。分号在括号里隔开那三部分。本页循环体始终放在花括号里。C# 允许单行循环体不写花括号,但 for 下面的第二行会落在循环外,除非花括号把两行一起包住。两个演示都保留花括号,让循环体一目了然。

for 不是 switch,也不是 if。switch (choice) 在固定 case 标签之间选一次。if (ready) 按 true 或 false 选两条路径之一。for 在计数器移动时重复同一段花括号循环体。不要把 switch 或 if 留在同一个 Main 里,却奇怪为什么屏幕是 mid 或 pass 而不是 1、2、3。本课的 Main 应只保留那个 for 循环。

常见混淆是写出语法本身:Console.WriteLine("for");。那会写出字符 for,并不会重复。另一种混淆是在循环体里给 n 加引号:Console.WriteLine("n"); 每轮写出字母 n,不是变化中的数字。想让计数器上屏时,请保留无引号的 Console.WriteLine(n)。

步进 n = n + 1 在别处以后的代码里也可以写成 n++。本页保留 n = n + 1,让行上每个记号都是你已经会读的词或数。起始在课程需要时可以从 0 而不是 1 开始;这里两个演示都从 1 起,让第一行写出的数与人们口头数的第一个数对齐。若一开始条件就为 false——例如 n 从 1 起而条件是 n <= 0——循环体永不运行,屏幕保持空白。那仍是合法的 for;本课演示保留至少为 true 一次的条件,好让你看见写出的行。

现在你可以写出带起始、条件与步进的 for,在花括号里放一条写出语句,并看着计数器出现在连续行上。改条件会改你得到多少行。下一页是 while,条件单独占位,步进写在循环体里,而不是写在 for 括号里。

屏幕就是变化中的计数器

你保留的文件写出 1,再 2,再 3。名字 n 在写出语句里,字母 n 不上屏。三部分在括号里,也不会作为一行标题出现在屏幕上。给 n 或 for 加引号只会写出字母,不会走出计数器那条路径。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
5
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部