在编程中,`for`循环是一种常用的控制结构,用于重复执行一段代码,直到满足特定条件为止。`for`循环的基本语法结构如下:
```c
for (初始化; 条件; 更新) {
循环体;
}
```
其中:
初始化:
在循环开始之前,设置循环变量的初始值。这个表达式通常只执行一次。
条件:
在每次循环迭代之前,检查这个条件是否为真。如果条件为真,则执行循环体;如果为假,则退出循环。
更新:
在每次循环迭代之后,执行这个表达式,通常用于更新循环变量的值。
循环体:
包含在花括号 `{}` 中的代码块,表示在每次满足条件时执行的语句。
示例 1:计算1到n的和
```c
for (int i = 1; i <= n; i++) {
sum += i;
}
```
在这个例子中,`i` 初始化为1,每次循环后更新为 `i + 1`,直到 `i` 大于 `n` 为止。
示例 2:输出0到9
```c
for (int i = 0; i < 10; i++) {
printf("Count: %d\n", i);
}
```
在这个例子中,`i` 初始化为0,每次循环后更新为 `i + 1`,直到 `i` 达到9为止。
示例 3:无限循环
```c
for (;;) {
printf("This is an infinite loop.\n");
}
```
在这个例子中,没有设置循环条件,因此循环将无限执行,直到程序被外部中断。
示例 4:使用范围函数
```c
for (int i = 0; i < 5; i++) {
printf("Number: %d\n", i);
}
```
在这个例子中,`i` 从0开始,每次循环后更新为 `i + 1`,直到 `i` 达到4为止。`range(5)` 生成一个包含0到4的整数序列。
示例 5:删除字符串中的前导空格
```c
for (char *str = " Hello World! "; str != NULL; str++) {
if (*str != ' ') {
putchar(*str);
}
}
```
在这个例子中,`str` 指向字符串的起始位置,每次循环后更新为下一个字符,直到遇到非空格字符为止。
总结
`for`循环是一种非常灵活的循环结构,适用于各种重复执行的任务。通过合理地设置初始化、条件和更新表达式,可以实现各种复杂的循环逻辑。