< 返回教程列表
1.4 循环语句
知识介绍
for 循环(已知次数):
for (初始化; 条件; 迭代)
{
// 循环体
}
// 示例:输出1~100中3的倍数
for (int i = 3; i <= 100; i += 3)
{
Console.Write(i + " ");
}
while 循环(先判断,后执行):
while (条件)
{
// 条件为真时循环
}
do-while 循环(先执行,后判断,至少执行一次):
do
{
// 至少执行一次
} while (条件);
循环控制关键字:
break:立即跳出当前循环continue:跳过本次循环剩余部分,进入下一次
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);
练习题
用 for 循环求 1~100 中所有奇数的和。
打印如下图案(共5行):
* ** *** **** *****输出 100~1000 之间所有的"水仙花数"。水仙花数:各位数字立方和等于本身,如 153 = 1³+5³+3³。
使用
*打印菱形图案(高度为7行的菱形)。用
break找出 2~100 中第一个能同时被3和7整除的数。