一、C语言循环的基本概念
二、for循环
cfor (初始化表达式; 条件表达式; 更新表达式) { // 循环体}
初始化表达式:在循环开始之前执行一次,通常用于初始化循环计数器.
条件表达式:在每次循环迭代开始时求值,如果为真(非零),则继续执行循环体;如果为假(零),则退出循环.
更新表达式:在每次循环迭代结束时执行,通常用于更新循环计数器。
示例:打印1到10的数字
c#include <stdio.h>int main() { int i; for (i = 1; i <= 10; i++) { printf("%d ", i); } return 0;}
1 2 3 4 5 6 7 8 9 10
三、while循环
cwhile (条件表达式) { // 循环体}
条件表达式:在每次循环迭代开始时求值,如果为真,则执行循环体;如果为假,则退出循环。
示例:计算1到100的和
c#include <stdio.h>int main() { int i = 1, sum = 0; while (i <= 100) { sum += i; i++; } printf("sum = %d\n", sum); return 0;}
sum = 5050
四、do...while循环
cdo { // 循环体} while (条件表达式);
条件表达式:在每次循环迭代结束时求值,如果为真,则继续执行循环体;如果为假,则退出循环。
示例:计算1到100的和
c#include <stdio.h>int main() { int i = 1, sum = 0; do { sum += i; i++; } while (i <= 100); printf("sum = %d\n", sum); return 0;}
sum = 5050
五、循环的高级应用
嵌套循环:可以在一个循环内部嵌套另一个循环,以实现更复杂的任务,如二维数组的遍历。
循环控制语句:
break:用于终止循环或
switch
语句。continue:用于跳过当前循环的剩余部分,直接开始下一次循环。
示例:打印乘法表
c#include <stdio.h>int main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%d ", j, i, i * j); } printf("\n"); } return 0;}
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ...
六、常见问题与解决方案
无限循环:确保循环条件在适当的时候变为假,以避免无限循环。
循环变量作用域:在
for
循环中,循环变量的作用域可以是整个循环体,也可以是局部的,具体取决于变量的声明位置。