C语言循环语句
一、while循环
while (判断表达式) {
语句;
}
若判断表达式为真,则执行循环里的语句,执行完继续上来判断表达式,为真继续循环,为假结束循环。
在C语言中 非0都为真 ,0为假。
#include <stdio.h>
int main() {
// 初始化表达式
int i = 0;
while (i < 5) { // 判断表达式
// 语句
printf("%d " , i);
// 调正表达式
i++;
}
// result: 0 1 2 3 4
return 0;
}
二、for循环
for (初始化表达式 ; 判断表达式 ; 调整表达式) {
语句;
}
#include <stdio.h>
int main() {
int i = 0;
for (i = 0; i < 5; i++) {
printf("%d " , i);
}
// result: 0 1 2 3 4
return 0;
}
for循环的语法比while循环的语法上更容易阅读一些。
1.for循环的变种
for循环的3个表达式都可以省略。但是当把判断表达式省略时,此时for循环为死循环。
int main() {
// 死循环
for (;;) {
printf("haha");
}
return 0;
}
2.for循环的变种
for循环初始化表达式和调整表达式可以写多个表达式。
int main() {
// 死循环
int x = 0;
int y = 0;
for (x = 0 , y = 0; x + y < 5; x++ , y++) {
printf("x = %d y = %d\n" , x , y);
}
return 0;
}
三、do-while循环
do {
语句;
} while(判断表达式);
#include <stdio.h>
int main() {
// 初始化表达式
int i = 0;
do {
// 语句
printf("%d " , i);
// 调整表达式
i++;
} while (i < 5); // 判断表达式
return 0;
}
三种循环是等价的,不同点是do-while会无条件至少执行一次。