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
循环提供了一个更紧凑的循环结构,通常用于已知循环次数的情况。
举例: