程序设计基础
登录
< 返回教程列表

1.4 循环语句

知识介绍

for 循环(已知次数):

for (初始化; 条件; 迭代)
{
    // 循环体
}
// 示例:输出1~100中3的倍数
for (int i = 3; i <= 100; i += 3)
{
    Console.Write(i + " ");
}

while 循环(先判断,后执行):

while (条件)
{
    // 条件为真时循环
}

do-while 循环(先执行,后判断,至少执行一次):

do
{
    // 至少执行一次
} while (条件);

循环控制关键字:

foreach 循环(遍历集合,详见1.5):

int[] arr = { 1, 2, 3, 4, 5 };
foreach (int item in arr)
{
    Console.WriteLine(item);
}

例题

例题1: 求 1! + 2! + 3! + ... + 10! 的值。

long sum = 0;
long factorial = 1;
for (int i = 1; i <= 10; i++)
{
    factorial *= i;  // 存储i的阶乘
    sum += factorial;
}
Console.WriteLine($"1!+2!+...+10! = {sum}");
// 结果:4037913

例题2: 打印九九乘法表。

for (int i = 1; i <= 9; i++)
{
    for (int j = 1; j <= i; j++)
    {
        Console.Write($"{j}×{i}={i * j}\t");
    }
    Console.WriteLine();  // 换行
}

例题3: 用 while 实现猜数字游戏(1-100)。

Random rnd = new Random();
int target = rnd.Next(1, 101);
int guess, count = 0;
Console.WriteLine("猜数字游戏(1-100):");

do
{
    guess = int.Parse(Console.ReadLine());
    count++;
    if (guess > target) Console.WriteLine("太大了");
    else if (guess < target) Console.WriteLine("太小了");
    else Console.WriteLine($"恭喜!猜中了,共猜了{count}次");
} while (guess != target);

练习题

  1. 用 for 循环求 1~100 中所有奇数的和。

  2. 打印如下图案(共5行):

    *
    **
    ***
    ****
    *****
    
  3. 输出 100~1000 之间所有的"水仙花数"。水仙花数:各位数字立方和等于本身,如 153 = 1³+5³+3³。

  4. 使用 * 打印菱形图案(高度为7行的菱形)。

  5. 用 break 找出 2~100 中第一个能同时被3和7整除的数。