1,while循环
while(条件成立){
.......;
}
2,do_while循环
do{
......;
}while(条件成立); //先做再判断
3,for循环
for(初始条件;循环条件;每轮循环做一次){
........;
}
(1)定义不可写到循环中
#include <stdio.h>
int main(){
for(int i=1;i<=5;i++){
printf("%d",i);
}
return 0;
}
//only C99
但是有的编译器也支持,看情况
(2)for循环可省去表达式
for(;循环条件;)==while(循环条件)
分号是不能省去
(3)模式流程图
4,使用情况
固定次数 | for |
必须执行一次 | do_while |
其他 | while |
5,其他
#include <stdio.h>
int main(){
int i;
for(i=1;i<=5;i++){
printf("%d",i);
}
printf("\n");
printf("%d",i);
return 0;
}
//输出
12345
6
#include <stdio.h>
int main(){
int i;
for(i=0;i<5;i++){
printf("%d",i);
}
printf("\n");
printf("%d",i);
return 0;
}
//输出
01234
5
6,break;continue
7,其他
下面程序段的输出结果是? 0
int k;
while(k!=0) k=k-1;
printf(“%d”, k);
由于k没有赋值,所以其值是不确定的。这个值可能为两个情况:小于0,或者大于等于0
k小于0,情况是这样的:
int的取值范围为:
-2^31——2^31-1,即-2147483648——2147483647;
k会经过循环不停地减1,直到变为-2147483648,这时候再减1就溢值了,k会变成2147483647,最终经过循环变为0