C# for循环的用法(非常详细,附带实例)
for 循环是 C# 中最常用的一种循环结构,它既能够用于循环次数已知的情况,又能够用于循环次数未知的情况。本节将对 for 循环的使用进行详细讲解。
for 循环的流程图如下图所示:

图 1 for循环的流程图
for 循环最常用的格式如下:
【实例 1】使用 for 循环语句编写程序实现 1 到 100 的累加。代码如下:
例如:
注意,若把上面的 for 循环语句改成 for(iNum<=100; iNum++) 后进行编译,就会出现错误提示。因为省略“表达式1”后,其后的分号也省略了,正确的是不能省略分号的。
省略“表达式2”情况的举例:
例如,下面的代码在循环体中对循环变量的值进行了改变:
例如,下面的代码就会出现死循环,因为没有跳出循环的条件表达式:
例如,在“表达式1”处为变量 iNum 和 iSum 同时赋初值,代码如下:
C# for循环的一般形式
for 循环的常用语法格式如下:for(表达式1;表达式2;表达式3) { 语句 }for 循环的执行过程如下:
- 求解表达式 1;
- 求解表达式 2,若表达式 2 的值为“真”,则执行循环体内的语句,然后执行下面第 3) 步,若值为“假”,则转到下面第 5) 步;
- 求解表达式 3;
- 转回到第 2) 步执行;
- 循环结束,执行 for 循环接下来的语句。
for 循环的流程图如下图所示:

图 1 for循环的流程图
for 循环最常用的格式如下:
for(循环变量赋初值; 循环条件; 循环变量增值) { 语句 }
【实例 1】使用 for 循环语句编写程序实现 1 到 100 的累加。代码如下:
static void Main(string[] args) { int iSum = 0; // 记录每次累加后的结果 for (int iNum = 1; iNum <= 100; iNum++) { iSum += iNum; // 把iNum每次的值累加到上次累加的结果中 } Console.WriteLine("1到100的累加结果是:" + iSum); // 输出结果 Console.ReadLine(); }执行结果为:
1到100的累加结果是:5050
在第 4 行代码中,iNum 是循环变量,iNum 的初始值为 1,循环条件是 iNum 小于或等于 100,每次循环结束会对 iNum 进行累加。C# for循环的变体
for 循环在具体使用时,有很多种变体形式,比如,可以省略“表达式1”、省略“表达式2”、省略“表达式3”或者 3 个表达式都省略,下面分别对 for 循环的常用变体形式进行讲解。1) 省略“表达式1”的情况
for 循环语句的一般格式中的“表达式1”可以省略,在 for 循环中,“表达式1”一般用于为循环变量赋初值,若省略“表达式1”,则需要在 for 循环的前面为循环条件赋初值。例如:
for (; iNum <= 100; iNum++) { }此时,需要在 for 循环之前,为 iNum 这个循环变量赋初值。程序在执行时,跳过“表达式1”这一步,其他过程不变。
注意,若把上面的 for 循环语句改成 for(iNum<=100; iNum++) 后进行编译,就会出现错误提示。因为省略“表达式1”后,其后的分号也省略了,正确的是不能省略分号的。
2) 省略“表达式2”的情况
使用 for 循环时,“表达式2”也可以省略,如果省略了“表达式2”,则循环没有终止条件,会无限循环下去。针对这种使用方法,一般会配合后面将会学到的 break 语句等来结束循环。省略“表达式2”情况的举例:
for (int iNum = 1;; iNum++) { }这种情况的 for 循环相当于以下 while 语句:
while(true) // 条件永远为真 { iSum += iNum; iNum ++; }
3) 省略“表达式3”的情况
使用 for 循环时,“表达式3”也可以省略,但此时程序设计者应另外设法保证循环变量的改变。例如,下面的代码在循环体中对循环变量的值进行了改变:
for(iNum = 1; iNum<=100;) { iSum += iNum; iNum ++; }此时,在 for 循环的循环体内,对 iNum 这个循环变量的值进行了改变,这样才能使程序随着循环的进行逐渐趋近并满足程序终止条件。程序在执行时,跳过“表达式3”这一步,其他过程不变。
4) 3个表达式都省略的情况
for 循环语句中的 3 个表达式都可以省略,这种情况既没有对循环变量赋初值的操作,又没有循环条件,也没有改变循环变量的操作,在这种情况下,与省略“表达式2”的情况类似,都需要配合使用 break 语句来结束循环,否则,会造成死循环。例如,下面的代码就会出现死循环,因为没有跳出循环的条件表达式:
int i = 100; for(;;) { Console.WriteLine(i); }
C# for循环中逗号的应用
在 for 循环语句中,“表达式1”和“表达式3”都可以使用逗号表达式,即:包含一个以上的表达式,中间用逗号间隔。例如,在“表达式1”处为变量 iNum 和 iSum 同时赋初值,代码如下:
for(iSum = 0, iNum = 1; iNum <= 100; iNum++) { iSum += iNum; }