文章目录
目录
1.1 break和continue在while循环中的使用
3.3 do-while循环中的break和continue
前言:
何为循环?
C语言的循环语句包括三种:while、for、do-while。
接下来我将对其三种循环做出解释。
1. while循环
while(循环条件)//条件为真,执行循环语句
{
//循环体
}
通过代码来了解
Q:使用while循环打印1~10
int main()
{
int i = 1;//初始化
while (i <= 10)//判断
{
printf("%d ", i);
i++;//调整
}
return 0;
}
运行结果
这个例子很清晰明了的给我们展示了while循环的语法使用。
1.1 break和continue在while循环中的使用
通过代码来了解
Q:看这段代码,它的执行结果是什么呢?
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
break;
printf("%d ", i);
i++;
}
return 0;
}
答案是:
1 2 3 4
原因是:我们看到在判断到i = 5时,就不会再循环了。所以,break在循环中被执行时会直接跳出循环。
了解了break,再了解continue就非常简单了。
我们来看continue的实际应用来加强对continue的理解
Q:看这段代码,它的执行结果是什么呢?
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
continue;
printf("%d ", i);
i++;
}
return 0;
}
答案是:
我们看到的结果是1~4死循环。
原因是:continue在循环中被执行不会跳出循环,只会跳过continue后面的代码,进入到while的判断部分,进入下一次循环。
2. for循环
在实际写代码的时候,for循环使用次数要比while循环多
原因是:在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较远,这样查找修改就不够集中和方便。所以,for循环的风格更胜一筹;for循环使用的频率也最高。
2.1 语法
for循环语法
for(表达式1; 表达式2; 表达式3)
接下来我们以例子来进一步了解for循环:
Q:使用for循环来打印1~10
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)//i=1为初始化部分;i<=10为判断部分;i++为调整部分。
{
printf("%d ", i);
}
return 0;
}
执行结果为打印出1 2 3 4 5 6 7 8 9 10
2.2 执行流程图
2.3 break在for循环中的使用
Q:看这段代码,它的执行结果是什么呢?
int main()
{
int i = 0;
for (i = 1; i <= 8; i++)
{
if (5 == i)
break;
printf("%d ", i);
}
return 0;
}
运行结果:
实际上,我们知道了break和continue在while中的作用后,我们就知道了其在for中的作用。二者作用是一样的。
原因:break在for循环中是终止循环,直接将循环结束掉,在for循环和while循环里是一样的作用。
2.4 continue在for循环中的使用
先看代码示例
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (5 == i)
continue;
printf("%d ", i);
}
return 0;
}
运行结果:
1 2 3 4 6 7 8 9 10
原因:continue在for循环中的作用也是跳过本次循环后面的部分,但在while循环和for循环中有点差异,主要原因是两种循环的调整放在不同的地方。while循环中i无法++;而for循环中continue后i还能继续++。
2.5 一些for循环的变种
1. 在for循环中初始化,判断,调整部分都可以省略,这样就会构成死循环。
这三个条件中最重要的是判断部分,如果不写判断部分就可以构成死循环,这是因为省略掉判断部分就意味着判断恒为真,因此就会变成死循环。
int main()
{
for (; ;)
{
printf("hehe\n");
}
return 0;
}
建议:不要轻易省略,这样会导致意外的发生。
2. 循环嵌套
int main()
{
int i = 0;
int j = 0;
for (; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("hehe\n");
}
}
return 0;
}
内层循环加上 j = 0 初始化部分就可以实现 打印9 个hehe 。
3. 循环控制变量可以是多个
Q:读这段代码,给出它的结果
int main()
{
int i = 0;
int j = 0;
for (i = 0, j = 0; i < 3 && j < 5; i++, j++)
{
printf("hehe\n");
}
return 0;
}
运行结果:打印了三个hehe
因为:循环条件是i < 3 && j < 5,当任意一个条件不满足都会跳出循环
3. do while循环
3.1 dowhile语法
do
循环语句;
while(表达式);
// 特点:do-while语句的特点循环至少执行一次
举例:使用do while 循环打印1~10。
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
3.2 执行流程图
3.3 do-while循环中的break和continue
与前面while循环与for循环是一样的。
4.总结
上述三种循环语句的使用频率从大到小依次是:
for>while>do-while
结束语:如果觉得up主写的不错,不要忘了素质三连哦