1. 用 while 语句循环做数学运算:
使用while语句,您可以创建一个循环,它会重复执行一段代码,直到指定的条件不再满足。
例 1: 求 2+4+6+···+100。
#include <stdio.h> int main() { int n = 1, sum = 0, a = 2; while (n <= 50) { n = n + 1; sum = sum + a; a = a + 2; } printf("计算结果是 %d\n", sum); return 0; }
这个示例通过 while 循环计算了2到100的偶数之和。
运行结果:
例 2: 求 2×4×6×8×···×50。
#include <stdio.h> int main() { int n = 2; // 初始值为2 long long result = 1LL; // 结果初始化为1LL while (n <= 50) { result *= n; // 乘以当前的n n += 2; // 递增n,跳到下一个偶数 } printf("2×4×6×8×···×50 = %lld\n", result); return 0; }
这个示例使用 while 循环计算了2到50的偶数的乘积。
运行结果:
例 3: 求 1! + 2! + 3! + … + 20!。
#include <stdio.h> int main() { int n = 1, sum = 0, a = 1; while (n <= 20) { n = n + 1; sum = sum + a; a = a * n; } printf("计算结果是 %d\n", sum); return 0; }
这个示例使用 while 循环计算了1到20的阶乘之和。
运行结果:
2. 用 while 语句循环:
while循环也可以简单地用来重复执行某个代码块,而不一定需要计数器或特定的条件。
例 1:输出100~300之间的整数。
#include <stdio.h> int main() { int n = 99; while (n < 300) { n = n + 1; printf("%d\t", n); } return 0; }
这个示例使用 while 循环输出了100到300之间的整数。
运行结果:
3. 用 break 语句提前终止循环:
break语句允许您在循环中的任何位置提前终止循环。
例 1:使用 for 循环迭代 i 从 1 到 10,当 i 等于 5 时,我们使用 break 语句终止了循环
#include <stdio.h> int main() { int i; for (i = 1; i <= 10; i++) { if (i == 5) { printf("遇到了 i 等于 5,终止循环\n"); break; } printf("当前 i 的值是 %d\n", i); } return 0; }
运行结果:
4. 用 continue 语句提前结束本次循环:
continue语句用于结束当前循环的当前迭代,然后立即开始下一次迭代。
例 1:输出100~300之间不能被4整除的整数。
#include <stdio.h> int main() { int n = 99; while (n < 300) { n = n + 1; if (n % 4 == 0) continue; printf("%d\t", n); } return 0; }
这个示例使用 while 循环输出了100到300之间不能被4整除的整数,使用 continue 提前结束了能被4整除的情况。
运行结果:
5. 用 do…while 语句循环:
do...while循环首先执行循环体,然后检查条件是否满足。即使条件一开始就不满足,循环体至少会被执行一次。
例 1: 求 2+4+6+···+100。
#include <stdio.h> int main() { int n = 1, sum = 0, a = 2; do { n = n + 1; sum = sum + a; a = a + 2; } while (n <= 50); printf("计算结果是 %d\n", sum); return 0; }
这个示例使用 do...while 循环计算了2到100的偶数之和。
运行结果:
6. 用 for 语句循环:
for循环是一种紧凑的循环结构,通常用于已知循环次数的情况。它包括初始化、条件检查和迭代语句。
例 1:求 1! + 2! + 3! + … + 20!。
#include <stdio.h> int main() { int sum = 0, a = 1, n = 1; while (n <= 20) { a = n * a; sum = sum + a; n = n + 1; } printf("计算结果是 %d\n", sum); return 0; }
这个示例使用 while 循环计算了1到20的阶乘之和。
运行结果:
7. while 语句、do…while 语句、for 语句的区别:
while循环在进入循环体之前检查条件,可能一次都不执行循环体。do...while循环首先执行循环体,然后检查条件,至少会执行一次。for循环提供了一个更紧凑的循环结构,通常用于已知循环次数的情况。
举例: