在C语言中,循环语句用于重复执行一段代码,直到满足特定条件。主要有三种类型的循环语句:for
循环、while
循环和 do...while
循环
下面先来看看for循环语句
for
循环用于确定循环次数。其基本语法如下:
for (初始化; 条件; 更新) {
// 循环体
}
//其中,如果你的“初始化”已经在上文进行了,可以将其空着
#include <stdio.h>
int main() {
for (int i = 0; i < 5; i++) {
printf("i = %d\n", i);
}
return 0;
}
示例分析
- 初始化:
int i = 0;
—— 声明并初始化变量i
为 0 - 条件:
i < 5;
—— 当i
小于 5 时,执行循环体//即第二空的条件就是是否执行循环体的闸门 - 更新:
i++
—— 每次循环结束后,i
自增 1//即第三空的代码就是每次循环结束后要干的事,但如果闸门关了,这个就不会再执行了,所以第二空成立才有第三空的事
首先,值得注意的是,你需要确保循环条件能够在适当的时候结束循环,避免陷入无限循环
同时,在 for
循环中定义的控制变量通常只在循环内部可见。如果需要在循环外部使用它,应该在循环外部先定义,这个尤其重要
int i; // 在外部定义
for (i = 0; i < 5; i++) {
printf("%d\n", i);
}
printf("最后的 i 值: %d\n", i); // 这样就可以在for循环外部的代码访问到i
使用 break
和 continue
break
可以用来提前结束循环,而 continue
用来跳过当前迭代,进入下一次循环。请谨慎使用,以确保代码逻辑清晰
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数
}
printf("%d\n", i); // 只打印奇数
}
首先,for (int i = 0; i < 10; i++)
将启动一个循环,从 0 到 9,每次迭代 i
增加 1
%
是取模运算符,i % 2
会返回 i
除以 2 的余数。如果余数为 0,说明 i
是偶数
这里先详细地讲讲continue
先来看看上面的代码,我要明确的是,continue
只在循环结构内有效。它可以出现在 for
、while
或 do-while
循环中,但在其他代码结构(如 if
、switch
等)中是无效的。也即,continue只对循环结构主体有效,而与在循环体中的哪一种嵌套结构之中无关!
//所以,我感觉在这里循环语句大于条件语句
当执行到 continue
语句时,它会立即终止当前迭代,跳过后面的所有代码(在同一循环内的代码)。然后,控制流将继续到循环的下一次迭代
然后是循环中的break语句
如果在嵌套循环内部使用 break
,它只会终止最近的那一层循环。换句话说,如果在一个循环结构中出现了break,break
只影响直接包含它的那一个循环
所以,如果在嵌套的循环中使用 break
,它只会退出最内层的那个循环
在 C 语言中,while
循环同样用于在满足特定条件的情况下重复执行一段代码
while (condition) {
// 代码块
}
具体例子:
int main() {
int count = 0;
while (count < 5) {
printf("%d\n", count);
count++;
}
return 0;
}
在这个例子中,while
循环会不断执行,直到 count
小于 5。在每次循环中,打印 count
的值,并将其递增。循环在 count
达到 5 时结束
使用 break
终止循环:
在 C 语言中,也可以使用 break
语句在循环中提前退出:
#include <stdio.h>
int main() {
int count = 0; // 初始化计数器
while (1) { // 创建一个无限循环
printf("%d\n", count); // 打印当前的 count 值
count++; // 递增 count 的值
// 当 count 达到 5 时,退出循环
if (count >= 5) {
break; // 退出循环
}
}
return 0; // 返回 0,表示程序成功执行完毕
}
使用continue跳过剩余循环:
continue
用于跳过当前循环中的剩余代码,直接进入下一次循环的开始。所以,请牢记C语言是基于顺序结构执行代码的!!!
再来谈谈for语句和while语句的区别
while
循环:适用于当循环次数不确定时,例如等待某个条件满足。使用时,必须在循环体内自行控制循环变量的更新for
循环:适用于循环次数已知的情况。例如,遍历数组或执行固定次数的重复操作
for
循环:由于所有控制逻辑集中在一行,通常更简洁且易于阅读,尤其是对于有明确次数的循环while
循环:可能更适合描述不确定次数的逻辑,阅读时需要关注条件和变量更新的位置
还有一个循环语句,do while循环
do while
循环是 C 语言中的另一种循环结构,它与 while
循环的主要区别在于循环体一定会执行一次(至少),因为条件判断在循环体执行之后进行
do {
// 代码块
} while (condition);
- 至少执行一次:无论条件是否成立,
do while
循环的代码块在条件判断之前执行,因此确保至少执行一次 - 条件检查:条件在代码块执行后进行判断,因此如果条件不满足,循环将终止
当你需要至少执行一次输入操作并根据输入判断是否继续时,do while
循环非常有用。例如,验证用户输入的有效性时
Comments NOTHING