学c语言的第12天...吧,中间摆烂了好多天
今天把循环语句中的for和do...while语句学了
一、for
for语句相对于while语句更加简洁
//在for语句中,结构为
//for(初始化;判断;调整)
//eg:
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
printf("%d\n", i);
}
return 0;
}
//输出1~10
//其相对于while更简洁的原因就是在while语句中,初始化、判断、调整三个部分是分开的
//eg:
int main()
{
int a = 1;//初始化
while (a <= 10)//判断
{
printf("%d\n", a);
a++;//调整
}
return 0;
}
由此可见,for循环具有更高的可读性
同时,break在for语句中的作用同while一样,直接跳出整个循环,而continue语句则略有不同
//在for语句中continue不会影响调整
//eg:
int main()
{
int a = 0;
for (a = 1; a <= 10; a++)
{
if (3 == a)
continue;
printf("%d\n", a);
}
return 0;
}
//输出1~10,3除外
//而在while语句中,continue可能会跳过调整阶段,导致程序卡死
//当调整在continue后时,eg:
int main()
{
int a = 1;
while (a <= 10)
{
printf("%d\n", a);
if (3 == a)
continue;
a++;
}
return 0;
}
//程序卡死,持续输出3
for循环的几个特点
1、初始化、循环部分可省略,但如果for循环的判断部分省略,则表示判断部分恒成立
2、在初始化时赋值eg:for(int = 0;...)只有c99支持
二、do..while
do..while语句如同表面上看的一样,先执行后判断,因此必定执行一次
int main()
{
int i = 1;
do
{
printf("%d\n", i);
i++;
}
while (i <= 10);//不满足时跳出循环
return 0;
}
//do循环,输出1~10
do...while语句中的break和continue效果同while
266



被折叠的 条评论
为什么被折叠?



