首页 > 编程笔记 > C#笔记 阅读:10

C# while循环用法详解(图文并茂,附带实例)

C# 的 while 循环功能几乎和 for 循环相同,只是写法不同。

while 循环的语法如下:
表达式1;
while (表达式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

相关文章