C# while循环用法详解(图文并茂,附带实例)
C# 的 while 循环功能几乎和 for 循环相同,只是写法不同。
while 循环的语法如下:
表达式 1 和表达式 3 是一般设定语句,而表达式 2 则是一个关系表达式,如果此条件判断关系表达式是真(true)则循环继续,如果此条件判断关系表达式是伪(false),则跳出循环或结束循环。
另外,若是循环主体和更新循环指针可以用一道指令表达,可将大括号省略,否则我们应继续拥有大括号。
由于 while 循环各表达式功能不同,所以也可以用下列表达式替换:
【实例 1】使用 while 循环,从 1 加到 10,并将结果打印出来。
【实例 2】将所输入的数字,以相反的顺序打印出来。
while 双层循环的基本语法概念如下所示:
【实例 3】使用双层 while 循环,打印九九乘法表。
执行结果为:
【实例 4】绘制三角形。
while 循环的语法如下:
表达式1; while (表达式2) { 循环主体 表达式3; }上述各表达式的功能如下:
- 表达式 1:设定循环指标的初始值;
- 表达式 2:这是关系表达式,根据条件来判断是否要离开循环控制语句;
- 表达式 3:更新循环指标。
表达式 1 和表达式 3 是一般设定语句,而表达式 2 则是一个关系表达式,如果此条件判断关系表达式是真(true)则循环继续,如果此条件判断关系表达式是伪(false),则跳出循环或结束循环。
另外,若是循环主体和更新循环指针可以用一道指令表达,可将大括号省略,否则我们应继续拥有大括号。
由于 while 循环各表达式功能不同,所以也可以用下列表达式替换:
设定循环指标初始值; while (条件判断) { 循环主体 更新循环指标; }下面是 while 循环的流程图:

【实例 1】使用 while 循环,从 1 加到 10,并将结果打印出来。
int i, sum; i = 1; sum = 0; while (i <= 10) { sum += i++; } Console.WriteLine($"总和 = {sum}");执行结果为:
总和 = 55
上述范例的流程图如下所示:
【实例 2】将所输入的数字,以相反的顺序打印出来。
int digit, num; Console.Write("请输入任意整数\n==> "); num = int.Parse(Console.ReadLine()); Console.WriteLine("整数的相反输出"); while (num != 0) { digit = num % 10; num = num / 10; Console.Write($"{digit}"); }执行结果为:
请输入任意整数
==> 365
整数的相反输出
563
C# while无限循环(死循环)
使用 while 语句创建无限循环时,可以使用 while(true),如下所示:while(true) { ... }
C# while循环嵌套
和 for 循环一样,while 循环也可以形成双层循环。所谓的双层循环控制语句就是某个 while 语句在另一个 while 语句里面,又叫做循环嵌套。while 双层循环的基本语法概念如下所示:

【实例 3】使用双层 while 循环,打印九九乘法表。
int i, j, result; i = 1; while (i <= 9) { j = 1; while (j <= 9) { result = i * j; Console.Write($"{i}*{j++}={result,-3}\t"); } i++; Console.WriteLine(); }上述程序的流程如下所示:

执行结果为:
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81上述程序的流程如下所示:

【实例 4】绘制三角形。
int i, j; i = 5; while (i <= 9) { j = 1; while (j++ <= (9 - i)) Console.Write(" "); j = 9; while ((j-- - i) < i) Console.Write("A"); i++; Console.WriteLine(); }执行结果为:
A AAA AAAAA AAAAAAA AAAAAAAAA